The best JavaScript IDE

Disclaimer: I was asked to write a review by WebStorm for a free open source license. With that said you will always get my honest feedback about the pros and cons about these editors.

About a month ago I started writing the new AngularJS based spa app for Exceptionless 2.0. While learning about AngularJS I looked around and used several editors to see which one worked the best. I'll break down the editors that I used and conclude which one I liked the best.

Atom

I used the free atom editor for a day on my Windows 8.1 desktop. One thing that really stood out about the editor is that it's very plugin based which is awesome. You can download themes easily and add new IDE features like current line highlighting, linting in seconds. I really liked this editor for editing a few files but it really fell short when you needed auto completion for files outside of the current view. For example it I never got auto completion inside of my angular directives (E.G., ng-click) when editing my html markup or auto completion for anything defined outside of the current JavaScript editor document. It also seemed like I had to remember a lot of shortcuts to run various commands like running grunt tasks etc.. I just felt like Atom needs more time to mature.

Pros:

  • Free
  • Cross-platform
  • Many plugins available.

Cons:

  • Poor auto completion
  • Left feeling like this is just notepad on steroids.

Sublime Text

I used sublime for a day on my MacBook pro and I liked this editor. This is a freeware/payware editor and feels more polished than Atom but I felt like it had the same pitfalls of Atom (multiple file auto completion issues and lots of keyboard commands to do various editor functions.

Pros:

  • Cross-platform
  • Many plugins available.

Cons:

  • Poor auto completion
  • Notepad on steroids.

Visual Studio with ReSharper

I've used Visual Studio 2013 (VS) and Resharper for many years and love it! The latest updates to VS included a grunt task runner and more which got me really excited! I really liked the fact that I could have all my code in one editor and quickly make updates to my backend while working on the front end.

However, I quickly found out that my VS came to a crawl on my desktop. It seemed that ReSharper started to index all of my node components files (there are thousands of files). Even worse it then added all of those tests it had detected to the Test Runner when I selected the solution and clicked run all tests (which then resulted in thousands of error dialogs saying an error running the test occurred). At this point I was about to give up on VS IDE for this task but I decided to try it for the rest of the day. I found that the Intellisense was good all around but I suffered random freezes and just couldn't take it anymore.

Thinking back if ReSharper didn't index all of those files that I didn't need it would have been a much better experience. But you must also take into the fact that VS is very resource intensive especially on large projects and will kill your battery quickly.

Pros:

  • All source code in one spot for easy editing
  • Very good auto completion and many plugins available.
  • Grunt taskrunner via third party add in.

Cons:

  • Very expensive
  • Only works on Microsoft Windows.
  • Will kill your laptop battery quickly
  • Sluggish due to third party addons.

WebStorm

I started using the thirty day trial of WebStorm and quickly fell in love. The auto completion is amazing and works everywhere. You can also quickly access the terminal without leaving the IDE to run bower and npm commands. You can also run grunt or gulp tasks with ease as they made it a first class editor feature by adding a tool window for it (VS has this but it's not as baked in yet). I also had a few random minor annoyances with freezes with the editor and the support was amazing and a product update released last week fixed the issues. I can't speak for the support of the others but I would say good luck about getting support for VS.

There are a few things I didn't like about WebStorm is that it felt like a chore to find and change settings. I really hope the team takes some time and updates the whole menu layout to be more like VS. I'd also like more themes. I also found it a chore to copy files and folders as there smart refactor became a pain a few times (or it works really great). Sometimes you just want to copy a service or directive and use that as a starting point for edits. I found myself opening up OSX Finder or Windows Explorer and renaming the files. Finally, I felt like the other editors had better themes and I didn't like the idea of installing Java on my machines.

Pros:

  • Amazing auto completion and editor features (E.G., Zen Coding).
  • Builtin Grunt and Gulp task runners.
  • Free for Students and Open Source projects.
  • Fast and helpful support.

Cons:

  • Finding and changing settings seemed unintuitive.
  • Smart refactoring is a two edged sword.
  • Requires Java (only if you don't like Java).

Winner

Without question I'll be using WebStorm for the considerable future!

2 comment(s)

Great post, I would agree webstorm is the best IDE , but everyone has a favorite :)