Appendix B : FAQ

About 2 min

STOP

This is being kept for archival purposes only from the original Atom documentation. As this may no longer be relevant to Pulsar, use this at your own risk. Current Pulsar documentation is found at documentation home.

FAQ

The collection of Frequently Asked Questions about Atom.

Is Atom open source?

Yes, Atom is licensed under the MIT license.open in new window

What does Atom cost?

Since the 6th of May, 2014, Atom has been available for download free of charge for everyoneopen in new window. This includes business and enterprise use.

What platforms does Atom run on?

Prebuilt versions of Atom are available for OS X 10.10 or later, Windows 7 or later, RedHat Linux, and Ubuntu Linux.

If you would like to build from source on Windows, Linux, or OS X, see the Atom READMEopen in new window for more information.

How can I contribute to Atom?

You can contribute by creating a packageopen in new window that adds something awesome to Atom!

Also, if you’d like to contribute to the core editor, one of the bundled packages, or one of the libraries that power Atom, just go to github.com/atomopen in new window.

You should also read the contributing guideopen in new window before getting started.

Why does Atom collect usage data?

In the same way that aggregate usage information is important when developing a web application, we've found that it's just as important for desktop applications. By knowing which Atom features are being used the most, and how the editor is performing, we can focus our development efforts in the right place. For details on what data Atom is sending or to learn how to disable metrics gathering, visit https://github.com/atom/metrics.

Atom in the cloud?

The Atom team has no plans to make a cloud- or server-based version of Atom. For discussion of the idea, see the Atom message boardopen in new window.

What's the difference between an IDE and an editor?

The term "IDE" comes from Integrated Development Environment. It is intended as a set of tools that all work together: text editor, compiler, build or make integration, debugging, etc. Virtually all IDEs are tied specifically to a language or framework or tightly collected set of languages or frameworks. Some examples: Visual Studio for .NET and other Microsoft languages, RubyMine for Ruby, IntelliJ for Java, XCode for Apple technologies.

An editor is simply that, a tool that is designed to edit text. Typically they are optimized for programming languages though many programmer's text editors are branching out and adding features for non-programming text like Markdownopen in new window or Org Modeopen in new window. The key here is that text editors are designed to work with whatever language or framework you choose.

The tradeoff here is that while you can generally get off the ground faster if you're working within the realm of a given IDE, over the long term you spend a bunch of time retraining yourself when you inevitably change from one language or toolchain to the next. If you use an editor, you can continue to use the same workflows that you always have. Tools that you've built into your editor can be carried over to the next language and framework. Your editor becomes more powerful and more customized to how you want to work not just over years but potentially decades. Just ask people who use vim or Emacs ... both of which have been available for over 25 years!

So, if you want something that you can just jump into and be productive right away in a specific technology, perhaps an IDE is what you're looking for. If you want a tool that you can shape and customize into exactly what you want out of it even if it costs you some time up front configuring things, then an editor is probably more your speed ⚡

How can I tell if subpixel antialiasing is working?

If you take a screenshot and blow it up you'll see something like this:

Subpixel antialiasing enlarged

The text of lines 34-36 are subpixel antialiased. Line 37 is not. You can tell it is subpixel antialiased because one side of the characters will be shifted red and the other side will be shifted blue. The direction of the shift is dependent on the monitor being used.

You can find more information on subpixel rendering on Wikipediaopen in new window.

Why is Atom deleting trailing whitespace? Why is there a newline at the end of the file?

Atom ships with the whitespace packageopen in new window, which by default strips trailing whitespace from lines in your file, and inserts a final trailing newline to indicate end-of-file as per the POSIX standardopen in new window.

You can disable this feature by going to the Packages list in the Settings View and finding the whitespace package:

Whitespace package settings

Take a look at the Whitespace section for more information.

What does Safe Mode do?

Atom's Safe Mode, which can be activated by completely exiting all instances of Atom and launching it again using the command atom --safe from the command line, does the following:

  1. Does not load any packages from ~/.atom/packages or ~/.atom/dev/packages
  2. Does not run your init.coffee
  3. Loads only default-installed themes

The intent of Safe Mode is to determine if a problem is being caused by a community package or is caused by built-in functionality of Atom. Disabling the init script was added because people tend to use the init script as a mini-package of sorts by adding code, commands and other functionality that would normally be in a package.

For more information on Safe Mode, check the debugging sectionopen in new window.

I have a question about a specific Atom community package. Where is the best place to ask it?

The best place to get a question answered quickly is probably the Issues list for that specific package. You can find the Issues list for a package by going to that package's page on https://atom.io and clicking the Bugs button:

Bugs button link

And you can always ask Atom-related questions in the official Atom message boardopen in new window. Someone here may know the answer! It's just with over 3,500 packages (as of early February 2016), the forum members may not know all answers for all packages 😀

I’m using an international keyboard and keys that use AltGr or Ctrl+Alt aren’t working

As of Atom v1.12, a fix is available for this. See the blog post "The Wonderful World of Keyboards"open in new window for more information.

I’m having a problem with Julia! What do I do?

Junoopen in new window is a development environment built on top of Atom but has enough separate customizations that they have their own message boardopen in new window. You will probably have better luck asking your question there.

I’m getting an error about a “self-signed certificate”. What do I do?

This means that there is a proxy between you and our servers where someone (typically your employer) has installed a "self-signed" security certificate in the proxy. A self-signed certificate is one that isn't trusted by anyone but the person who created the certificate. Most security certificates are backed by known, trusted and certified companies. So Atom is warning you that your connection to our servers can be snooped and even hacked by whoever created the self-signed certificate. Since it is self-signed, Atom has no way of knowing who that is.

If you decide that unsecured connections to our servers is acceptable to you, you can use the following instructions.

DANGER

🚨 Danger: If you decide that unsecured connections to our servers is acceptable to you, you can use the following command:

apm config set strict-ssl false

I’m having a problem with PlatformIO! What do I do?

PlatformIOopen in new window is a development environment built on top of Atom but has enough separate customizations that they have their own message boardopen in new window. If your question has to do with PlatformIO specifically, you may have better luck getting your answer there.

How do I make Atom recognize a file with extension X as language Y?

Atom includes a feature called "custom file types" which you can use by adding some entries into your config.cson that look like this:

core:
  customFileTypes:
    'source.ruby': [
      'Cheffile'
      'this-is-also-ruby'
    ]
    'source.cpp': [
      'h'
    ]

The key (for example source.ruby in the above snippet) is the language's scope nameopen in new window. The value is an array of file extensions, without the period, to match to that scope name.

How do I make the Welcome screen stop showing up?

You can make the Welcome screen stop showing up by unchecking this box in the welcome screen itself:

Box to uncheck to make the Welcome screen not show next time Atom is launched

How do I preview web page changes automatically?

There are a couple different approaches, for example:

Other packages may be available now, you can search for Atom packages on the packages siteopen in new window.

How do I accept input from my program or script when using the script package?

The script packageopen in new window doesn't support accepting input from the user in the scripts it runs. The option with the best chance of success is to run the script or program from the terminal that comes with your operating system. If that isn't something you want to do, you could try one of the many terminal packagesopen in new window that are available.

See rgbkrk/atom-script#743open in new window for details.

I am unable to update to the latest version of Atom on macOS. How do I fix this?

Atom shows there is a new version available but the version fails to install. You might have an error message showing a permissions error for example:

Updating Atom on macOS

or it will say downloading but forever loops without restarting or updating.

You need to fix one or more of the following directories:

  • /Applications/Atom.app/
  • ~/Library/Caches/com.github.atom.ShipIt
  • ~/Library/Application Support/com.github.atom.ShipIt

Do the following:

  1. Completely exit Atom
  2. Open a terminal
  3. Execute: whoami
  4. Write down the result of the above command, this is your user name

And then execute these steps for each directory listed above in order:

  1. Execute: stat -f "%Su" [directory]
  2. It should output either your username or root
  3. If it says root then execute: sudo chown -R $(whoami) [directory]

Once you've done the above for both directories, start Atom normally and attempt to update 👍

I’m trying to change my syntax colors from styles.less, but it isn’t working!

The best way to tweak the syntax is to wrap your syntax style rules with atom-text-editor and then prepend every scope with syntax--. If you want your comments to be blue, for example, you would do the following:

atom-text-editor {
	.syntax--comment {
		color: blue;
	}
}

How do I build or execute code I've written in Atom?

Atom doesn't have built-in support for building any type of code nor does it have built-in support for executing any kind of code other than JavaScript. Atom has a JavaScript interactive command-line (also known as a REPLopen in new window) available through the Developer Tools. You can access the JavaScript REPL by using the following steps:

  1. Launch Atom
  2. Select the menu View > Developer > Toggle Developer Tools
  3. Click the "Console" tab

If you're looking for a JavaScript execution environment beyond a REPL, Atom doesn't come with anything built-in for that purpose.

If you want to build code or execute scripts from within Atom there are a number of packages available including:


Resources on getting started with languages that are commonly asked about:

How do I uninstall Atom on macOS?

To uninstall Atom on macOS, run the following commands from the command line:

rm -rf ~/.atom
rm -rf /usr/local/bin/atom
rm -rf /usr/local/bin/apm
rm -rf /Applications/Atom.app
rm -rf ~/Library/Preferences/com.github.atom.plist
rm -rf "~/Library/Application Support/com.github.atom.ShipIt"
rm -rf "~/Library/Application Support/Atom"
rm -rf "~/Library/Saved Application State/com.github.atom.savedState"
rm -rf ~/Library/Caches/com.github.atom
rm -rf ~/Library/Caches/Atom

MacOS Mojave font rendering change

In macOS Mojave v10.14.xopen in new window, Apple disabled subpixel antialiasing on all monitors by default. Previous to Mojave, subpixel antialiasing was disabled only on Retina displays or on all displays if the "LCD font smoothing" option was disabled in System Preferences. With this change in Mojave, some users have reported that their fonts in Atom appear "thinner" or "dimmer" than they did previously.open in new window It can look better or worse depending on your font and theme selections, but in all cases this is completely a side-effect of the change that Apple made to their font rendering and is outside Atom's and Electron's control.

If this change is something that you dislike, there are a couple workarounds that the community has identified.

Change the OS defaults

  1. Execute at the Terminal: defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO
  2. Completely exit Atom
  3. Start Atom again

This appears to re-enable the old "LCD font smoothing" option that was removed in Mojave. It is important to note that this is an OS-wide change.

Change your font weight

Add the following to your stylesheetopen in new window:

atom-text-editor {
	font-weight: bold;
}

This has the benefit of being a change local to Atom only if the rest of the OS looks fine to you.

Why does macOS say that Atom wants to access my calendar, contacts, photos, etc.?

With macOS 10.14 Mojave, Apple introduced new privacy protections similar to the existing protections found in iOS. Whenever an application attempts to access the files inside certain newly-protected directories, macOS asks the user whether they want to allow the application to access the content in those directories. These new privacy protections apply to the directories that contain your calendars, contacts, photos, mail, messages, and Time Machine backups.

Applications trigger these new macOS prompts when attempting to access these directories in any way. Simply attempting to list the files in one of these directories is enough to trigger these prompts. These protections even apply to Apple's own applications. For example, if you open Terminal.app and try to list the files in ~/Library/Calendars, macOS shows a prompt saying, '"Terminal" would like access to your calendar.'

screen shot 2018-10-03 at 14 04 40 pm

Why does Atom need access to my calendar, contacts, photos, etc.?

Atom doesn't need access to these items, but you might unintentionally cause Atom to try to access these items. This commonly occurs when you open your home directory (~) inside Atom and run a command that examines all files and directories beneath your home directory. For example, when you open the fuzzy-finderopen in new window, it indexes the currently-open directory so that it can show you the available files:

fuzzy-finder can trigger prompt

Similarly, using find-and-replaceopen in new window across the entire home directory will cause Atom to scan all files under your home directory.

In addition to containing the files you're intending to edit inside Atom, your home directory also contains your files that have new OS-level protections in Mojave:

  • Calendar files (~/Library/Calendars)
  • Contacts files (~/Library/Application\ Support/AddressBook
  • Mail files (~/Library/Mail)
  • Photos files (~/Pictures/Photos\ Library.photoslibrary)

Before letting Atom read these files, Mojave is understandably asking whether you want Atom to be able to access this personal data.

What should I do when I see these prompts?

Most people don't use Atom to view or edit their calendar files, contact files, photo library, etc. If you don't intend to use Atom to view/edit these files, then Atom doesn't need access to them. If you see a prompt from macOS saying that Atom would like to access these items, simply click Don't Allow.

What happens if I allow Atom to access my calendar, contacts, photos, etc.?

To Atom, these items are just files on disk. Atom treats them exactly like any other file you would view in Atom. Therefore, if you allow Atom to access these items, you'll be able to use Atom to browse the directories that contain these items, and you'll be able to view the files in those directories. That's it. Nothing more.

You'll only be prompted once

Fortunately, macOS will only prompt you once for each type of personal data. In other words, you might see a prompt asking you whether Atom can access your calendar, and you might see a prompt asking you whether Atom can access your contacts, but once you make those decisions, you won't see those prompts again.

What if I change my mind?

At any time, you can change your choices via System Preferences. Inside System Preferences, go to Security and Privacy, click the Privacy tab, and then click on Calendars to manage which apps can access your Calendars. The same goes for Contacts, Photos, etc.:

manage access in system preferences

What if I never want to see these prompts?

Many people understandably expect their text editor to be able to open any file on disk. And that's exactly how things worked prior to macOS Mojave. If you would like to restore that behavior, you can proactively instruct macOS to allow you to access all files with Atom. To do so:

  1. Open your Applications folder in the Finder
  2. Open System Preferences, click the Security and Privacy icon, click the Privacy tab, and then click on Full Disk Access in the left-hand sidebar
  3. Click the lock icon to unlock System Preferences
  4. Drag Atom into Full Disk Access as shown below

restore pre-mojave security via full-disk access

How do I turn on line wrap?

  1. Open the Settings View using Cmd+, on macOS or Ctrl+, on other platforms
  2. Click the “Editor” tab on the left of the settings view
  3. Put a check in the “Soft Wrap” setting

For more details about soft wrap, see: https://flight-manual.atom.io/getting-started/sections/atom-basics/#soft-wrap.

The menu bar disappeared, how do I get it back?

If you're running Windows or Linux and you don't see the menu bar, it may have been accidentally toggled it off. You can bring it back from the Command Palette with Window: Toggle Menu Bar or by pressing Alt.

You can disable hiding the menu bar with Alt by unchecking Settings > Core > Auto Hide Menu Bar.

How do I use a newline in the result of find and replace?

To use a newline in the result of find and replace, enable the Use Regex option and use "\n" in your replacement text. For example, given this text:

hello, world, goodbye

If you'd like to replace the ", " with a newline so you end up with this text:

hello
world
goodbye

In the find and replace settings, enable Use Regex, enter ", " as the find text, and enter "\n" as the replace text:

Find and replace with newline replace

Then click Find All and finally, click Replace All.

What is this line on the right in the editor view?

Wrap guide line

That's the wrap guide. It is a visual indicator of when your lines of code are getting too long. It defaults to the column that your Preferred Line Length is set to.

If you want to turn it off, you can disable the wrap-guide package in the Settings View.