A few weeks ago I posted the following on Twitter:
Have been using @AtomEditor full time for the last 5 months. Amazing editor with great packages and workflow integration.— Matt Gifford (@coldfumonkeh) March 26, 2015
Whilst the tweet didn’t garner a multitude of responses from across the globe (why would it have?) it received a few responses from interested parties and all were related to packages or as Dan Kraus put it:
@coldfumonkeh @AtomEditor what are your must-have's?— Dan Kraus (@DanKrausDev) March 26, 2015
So, I thought I’d quickly list the plugins / packages I use on a daily basis and those I recommend you install.
They are listed in the order of most downloads in total.
This awesome little plugin renders file extension plugins in the project navigation / file sidebar making it easier to instantly visualise what files are which types (sometimes it’s not always easy to see the actual file extension if the structure is heavily nested or you like your screen space).
An easy way to manage merge conflicts directly within Atom. Why jump out of the context or break your stride if you don’t have to?
Configuration plugin to help maintain consistent coding styles between editors. If you’re not using this method of configuration yet you should. Whilst it’s not yet fully supported across the board it’s a good habit to get into and really helps with consistency. Check out http://editorconfig.org for more details on the project.
I’m a big fan of Travis C.I. (and continuous integration in general) so this package is a must for me. It’s rather subtle and unobtrusive. If Atom detects a travis.yml file in your project. A small clock icon appears in the status bar at the bottom of the editor and display build success (or failure) by changing colour. Clicking the icon will open a panel in the editor with some build information. Anything that can help provide an instant visual over build success is useful.
I write a lot of magazine articles and features. For years these were written in Word documents until last year when I started writing most things in Markdown. I had an app on the Mac (iA Writer) that could convert Markdown into Word and PDF files but it sometimes messed up the formatting.
I found this plugin about 4 weeks ago and it perfectly converts my Markdown files (which contain a lot of formatted code blocks) into PDF files. This has made my life that little bit easier.
I love Grunt. It is used in most of my projects and save so much time. I tend to run it directly via the Terminal whenever I open a project into the editor like so:
cd my-awesome-project atom . && grunt
but there are a few Grunt packages available for Atom. This one displays a panel at the bottom of the editor which can be toggled to hide if necessary. It will detect a Gruntfile in your project root and clicking the ‘Start Grunt’ button will display the available tasks you can run. Select one (typically the ‘default’ task for me) and it will run for you. Toggle the log output and the panel will open to show you Terminal output from the task runner. This plugin can be a little intrusive sometimes (the panel seems to open by default every time) and it’s not one I use all of the time but it works well and is employed occasionally.
After I discovered the awesome Markdown PDF plugin (above) I wanted to open the generated PDF files in Atom to proof-read them before sending off to publishers. This package provides the support to open and render PDF files in the editor. Much needed (and a surprise PDF reading isn’t available as standard).
Another writing-related package. I need to keep a close eye on word counts when writing magazine content. This plugin allows me to do that nicely.
A really helpful package. With a .js file open that includes require calls to modules, running a command from this module can install and save the modules into the project’s package.json file. A BIG time saver.
Similar to the above NPM package but manages Bower dependencies instead and saves them to the bower.json file.
I like Jasmine as a testing tool nd this package provides snippets for the lazy / time-conscious / efficient developer to write Jasmine specs. Type in the shorthand keyword, press tab and it auto-completes and creates the spec outline for you. Thank you time saving awesomeness.
Any ColdFusion work can benefit from Adam Tuttle’s CFML language package. Pull the repo, add to it, give back to the community.
Having written the Jasmine tests this package can help me run them within the editor. Again, why break out of my context/ focus if I don’t have to?
Similar to the Travis CI package above, this Jenkins package reads from the Jenkins server feed and reports build status in the bottom status bar of the editor. Clicking the colour coded icon will show a panel of job details which also includes links to the jobs on the Jenkins server. Another helpful quick visual guide for build stats.
Having it all
Atom ships with a number of useful packages already included; these are simply packages I have used consistently or found incredibly useful since moving to Atom.
Should you wish to install all of these packages now (why would you not?) then simply run the following command and they will be installed and ready for your Atom-powered workflow.
apm stars --user coldfumonkeh --install
Are there any packages you use that you’d like to recommend? Please let me know if so.