I’ve switched to Atom as my main editor for some time now. In this post, I want to go over some plugins I use.

The most useful ones revolve around linting, because they let me see immediately within the editor if I’m following the rules. The base plugin is called linter. It doesn’t lint anything, it just provides the framework that all linters depend on. On top of it, you have all sorts of pluggable linters:

  • linter-jscs and linter-jshint for JavaScript
  • linter-scss-lint for Sass. This one uses the ruby version of sass. You can also use linter-sass-lint which is the pure node approach.
  • linter-js-yaml for Yaml
  • linter-jsonlint for JSON files
  • linter-markdown for Markdown text.

Specifically for jscs, I want to mention also the jscs-fixer plugin. This one allows you to run jscs –fix on your files, autofixing most of the style issues.

In the area of formatting, there’s also xml-formatter, that beautifies your XML files. This plugin isn’t perfect. For example, I don’t like that is squashes multilines comments into a single line. But it can be useful.

sort-lines and file-types provide some functionality that Sublime Text has but Atom doesn’t. With sort-lines, you can sort the selected lines by pressing F5. With file-types, you’re able to associate custom file extensions to a file type.

blame is a nice one, if you’re working with git. It shows in the gutter of the editor who is responsible for the code changes. If you hover over, you can see also details about that git commit.

There’s also todo-show, which does a good job collecting all of your inline comments marked as TODO, FIXME, HACK, etc and shows them on the right side.

Finally, I also have mocha-test-runner installed. This one can be a bit flaky on Windows currently. What it does? It runs mocha unit tests from within the editor. That can be useful, although perhaps you can be more productive with a terminal and a watch task that runs the unit tests automatically.