Since I started programming again, I’ve have grown very close to the Atom editor, and for very good reason. Not only is it light-weight, compact, it has the ability to be customized completely! As for functionality, there are many editor options, a lot being similar to Sublime, but even more specific to Atom. Of course it has language functionality for just about any language you can think of, and even functionality for some I’ve never heard of!

Even more so, it’s easy to make add-on packages for it, and with a large community, it’s hard to not find what you want. Of course, sometimes it’s hard to find what is good, and what isn’t, as there are so many packages you have many choices when it comes to certain options. To finish up, I’m going to cover the packages I use in every single one of my Atom installs.

Getting started, let’s look at a few of my favorite themes. For a light colored UI, I tend to prefer the Numix theme, which has a nice color scheme, with a clean fairly compact layout. For a Dark UI I use the Seti-UI. I’ve found some other good dark themes, but the Seti theme is customizable, giving you a nice font, optional compact layout, all sorts of custom icons, and secondary color picker. It’s pretty much an “everything” UI. Even if you don’t want that UI, but want the icons, you can install the file-icons package. As for my Syntax, I always use the One Dark Vivid.

Atom shown with Seti UI, One Dark Vivid Syntax, Terminal Plus, Git-Status, and ESLint output

Let us get to the good stuff though. Here are all of the packages I use for my programming:

Linter/Eslint/fast-eslint: This is a great way to get live linting in Atom from the eslint linter. Highly recommended for ESLint users (or soon-to-be users)

Git-Status/Git-Control: Having in-app controls for Git are without a doubt invaluable. Git Status allows me to see my changes in the tree view, and on the bottom of the IDE, and Git Control allows me to use a nice UI to make my commits based on what project and files I choose Of course you have all basic Git options with Git-Control, but that’s all I use it for.

language-babel/language-javascript-jsx/react: All of these are a “must have” for anyone programming React/ES6, as this gives you all of the auto-completing, syntax highlighting, formatting, and more.

script: Usually packages like this are fairly unreliable, but this one has worked very well for me. This one allows you to run your scripts straight from Atom, and allow you to see the output. This is great for Node.JS testing. You can also start Atom from the boilerplate environment, and script will use that environment for the script. Import whatever you want, and run!

terminal-plus: This has been another favorite, as it works extremely well at running a shell straight from inside Atom. In the screenshot above, you can see me running webpack from inside it, and you can have multiple terminals, so you can have a mocha watch instance running in another.

template-generator: Last, an definitely not least is this package. This one allows you to save templates of code, name them, and set fields for different identifiers which are then set when using the template. This is by far one of my favorites for that redundant code, and still have the ability to customize it quite a bit before leaving the generator. You can also use it to apply entire folder trees presets into your projects! Definitely one I was happy to find.

So that’s my Atom configuration, and I hope that you find Atom as great as I do!