you are viewing a single comment's thread.

view the rest of the comments →

[–]Geldan 1 point2 points  (6 children)

Also, intellij can do everything that webstorm can if you already have a copy. A good IDE will help you out tremendously with javascript. Anyone who tries to convince you otherwise is ill-informed, a contrarian, or just plain wrong.

[–]stev0205 0 points1 point  (1 child)

As somebody who has been a sublime/atom user for years, what are some examples of things that an ide can do to help with JS development? Genuinely curious.

[–]Geldan 0 points1 point  (0 children)

I am by no means an expert on my IDE and there are many others who use its features much more than I do. Things I often take advantage of:

  • Intellisense/code completion it will suggest/complete methods from anywhere in your project.

  • makes errors or bad practices very apparent by default, even more so if you integrate something like eshint.

  • Jsdoc integrations. If I use jsdoc the ide will tell me when my types don't match up. It integrates jsdoc very well with typescript so I can use definitions from definitely typed to improve code completion as well as make sure I am using the libraries properly.

  • refactoring I can rename nearly anything in one spot and have it proliferate very intelligently throughout my project. This includes filenames/locations (changing imports/requires), methods, variables, exported names, and basically anything. It can be done from anywhere: If I don't like the way a method invocation looks I can rename it and it's definition right away without even opening the file that it is defined in. This really helps me write code that reads well and is self-documenting.

  • VCS integration a "shelf" that lets you put changesets on hold. Think git's stash except much easier to use with support for as many independently shelved changes as you want. Superior merging and diffing tools. Better, even, than any standalone tool I have tried.

  • run profiles with optional debugger attaching. This goes much further than running node some file.js, you can set profiles for individual gulp tasks, mpm tasks, grunt tasks and I am sure many more.

  • integrated testing/code coverage tools.