Programmers are lazy. But, like, the good kind of lazy. When you’re trying to piece together a particularly tricky project, why make life difficult for yourself with nuts and bolts? Most major editors come with a wide array of plugins explicitly intended to move mental effort away from coding basics so you can focus on making your actual product the best it can be.
My favorite editor hands-down is Atom, made by the team from GitHub. Although Flatiron recommends VSCode officially, I’ve really enjoyed Atom due to the customizability that‘s so core to its design philosophy. There are a million ways to set up this editor, and yours will no doubt be unique from mine, but here are a few of the packages I’ve found essential in my coding journey:
Themes: One Dark and Darker One Dark
These are my UI and syntax themes, respectively. If you’re going to be staring at a computer screen all day, why not make it easy on the eyes? These themes are minimalist and dark; the only pops of color are in the code you’re writing, which are vivid and have excellent, language-specific differentiations in color.
Readability: Atom Beautify
There’s a classic coder saying about writing your code as if it will be maintained by a homicidal maniac who knows where you live. Sleep easy with
More Readability: indent-guide-improved
Atom’s built-in indent guide draws handy lines from the beginning of block levels to their end, making it easier to follow the scope of your code. As useful as that is, this plugin makes it even better, highlighting the lines for your current scope and dimming others. Still not enough for you? Custom stylesheet rules are relatively manageable to implement, allowing you to set your own line weights, colors, and more for every focus level. Combine this with
beautify and never be lost by another forgotten parenthesis or bracket ever again.
Begone, Window Switching: platformio-ide-terminal
If you’re debugging, the terminal is your worst enemy and your best friend. It’s also something you’ll be visiting roughly every 1.3 seconds, so why bother swiping between workspaces or Cmd-Tab-ing through every window you have open? This plugin lets you open up a terminal right in Atom. If you have a separate Terminal window open elsewhere, it even saves your command history across instances for your use.
Seconds Add Up: autoclose-html
If you’re doing web development, this is a must. Every time you type a
>, or a
/ within angle brackets, this plugin closes the tag for you. This is one that seems small, but once you never have to remember to write a
</div> or any other closing tag again, you’ll never want to go back.
git uh-oh --where-was-i: Atom svn
Given that it’s maintained by the GitHub team, Atom naturally has great git functionality. A number of plugins have enhanced this even further, but my favorite is
svn. Files with changes since your last commit are highlighted in yellow in the tree view, with the exact lines marked by yellow bars in the gutter. The gutter also shows green bars for newly added lines and red arrows for deletions. New files are also highlighted green in tree view. Another plugin that sounds so simple, yet seems almost impossible to work without once you’ve gotten used to it.
The World Is Your Oyster
These are only a few of my favorite Atom packages — the list goes on in terms of language support, snippet collections, formatting helpers, color pickers, and tweaky little things that may have honestly distracted me more towards optimizing my environment set-up than actually coding.
Getting sucked into plugins is definitely a danger, and you definitely don’t want to go down that rabbit hole just for the sake of customizing. But used thoughtfully and purposefully, packages can make the nuts and bolts of coding soooo more easier and seamless. By taking mental energy away from boring, repetitive, and time-consuming tasks, you can better focus your efforts on creating efficient, beautiful, optimized code.
Try out some of these plugins to see if they help your coding journey, and next time you find yourself bogged down in mindless setup or boilerplate, take a look around the Atom packages collection and see if there’s already a tool out there to make your life easier.
After all, you’re programmer — be lazy! But like, the good lazy.