This is a guest post by Rishi Goomar, a very active member of the Meteor community and recent Hack Reactor graduate.

As a developer, you always want to make sure your environment is optimized for what you are coding in.

And while there are very few editors that currently have native Meteor API support, there are plug-ins that you can install to ensure the editor you are using can help you develop Meteor applications faster and more efficiently.

Everyone has their preference of what editor to develop in. So I decided to include some of the most popular ones and show you how you can optimize them for Meteor development.

VIM

VIM is a very powerful and minimal text editor that runs in your terminal (and is also my personal favorite!).

TernJS for Meteor

Slava Kim, a Core Developer at Meteor, created a TernJS plugin for Meteor which gives you access to Meteor’s API, documentation, and makes it very easy to develop Meteor applications in VIM. You can install his vim configuration and it will install it for you.

The TernJS plugin in action.

You can learn more about the plug-in in this video:

VIM Meteor Snippets

Chris Mather, creator of Iron Router, has made his own snippets for Meteor.

You can install the Meteor snippets here. It gives you nice shortcuts, you will have to look through the list of snippets to find out what you can type in for completion.

VIM Configuration

Or you can also install his vim configuration and it will include the Meteor snippets with it.

Sublime Text

Sublime Text is one of the most popular text editors in the development world. It costs $70 for a license, is pretty lightweight, and has a big community behind it.

TernJS for Meteor

Similar to VIM, you can use the Meteor support for TernJS plug-in made by Slava.

Here is a video that demonstrates the ternjs plugin in Sublime:

Meteor Snippets

Another option is to use the Meteor Snippets package for Sublime Text. It has a large list of snippets and is very easy to use.

The Meteor Snippets Package.

Atom

Atom is a free text editor developed by GitHub, and is quite similar to Sublime Text. It is built using atom-shell and can be customized with JavaScript and CSS (which is awesome!).

There are a few Atom packages built for Meteor development.

Meteor API

Meteor API is a package that brings autocompletion for different Meteor functions along with syntax highlighting. It has smart syntax highlighting for Meteor code. It has support for a majority of the API.

In order to use this on your files, you will have to change the syntax on the bottom right corner from JavaScript to JavaScript (Meteor).

Auto Completion/Snippets.

If you end up using this, I recommend looking through the complete list of snippets.

Syntax Highlighting Example.

Meteor Helper

Meteor Helper is a package created to allow you to run a Meteor instance inside Atom. It is highly configurable and allows you to specify options such as port, MONGO_URL, and many more. It comes with a status indicator on the right side of the panel that will turn into an “x” when errors occur in your Meteor application. So, this makes it easy to see when you have error without having to pull up the terminal.

Run the Meteor Helper with ctrl+alt+m and you should see this at the bottom of the editor:

Meteor Helper.

WebStorm

WebStorm is a very powerful JavaScript IDE. It is supported by JetBrains and costs ~$50 / year (Individual Developer License), but is free for open-source developers. Compared to any editor I have seen, this is the most feature-rich by default and has a ton of integrations with various services. However this can also cause it to have performance issues at times.

Jetbrains’ WebStorm Editor.

WebStorm (version 9.0+) is one of the few editors with native Meteor support built into it. So, all you have to do is open up your Meteor project in it and start developing!

Conclusion

But which one is the best?! Well, if there’s one thing I’ve learned over the years, it’s that telling developers they’re using the wrong text editor is the surest route to comment threads full of angry rants.

So I hope you’ll excuse me if I just give you the facts, and then let you decide for yourself which one you like best.

That being said, if you have a favorite (or can suggest other useful tools), do let me know in the comments!