WebStorm integrates with Node.js to allow for running, debugging, and unit testing of Node.js apps.
Ranked in these QuestionsQuestion Ranking
Pro Comfortable to work with
Sublime Text has a minimap on the side that provides a top-down view of the file and keyboard shortcuts for most actions. It also supports a large number of languages and general text editing features out of the box.
Pro Functionality can be easily extended
Sublime Text uses TextMate's syntax declaration files to support new languages, it has all its menus and keybindings generated from JSON files, and it can be scripted to add new features using Python.
If Sublime Text doesn't support a desired language or feature, it's usually not long before someone implements it themselves - examples include the plugin package manager and the 'open in browser' command.
Sublime Text is very lightweight by default. Customization occurs on the fly thanks to Package Control.
When you start using Sublime Text, it doesn't drown you in keyboard shortcuts or non-intuitive use-concepts. However, high-level functionality can still be easily accessed when the need for it arises.
Pro Multi-line select and editing
Multiple cursors and column selection allows for versatile ways of editing.
ctrl + d will select the current word and each time the command is repeated, it adds the next occurrence of the word to the selection.
ctrl + click or
middle-mouse click will place another cursor in the place that's clicked. Cursors can then be controlled together. This also permits selecting vertically.
ctrl + shift + l will place a cursor on every highlighted line.
Pro Consistent cross-platform
Sublime Text looks consistently the same across Windows, OS X, and Linux.
Pro Offers Command Palette
Command Palette allows for fuzzy searching all available settings, snippets, etc.
Pro Fully customizable
Sublime Text allows for all sorts of customization to help users change almost everything in the editor: Key Bindings, Menus, Snippets, Macros, Completions, and many more. Essentially, just about everything in Sublime Text is customizable with simple JSON files. This system gives the user flexibility as settings can be specified on a per-file type and per-project basis.
Pro Regex commands
Regex commands help describe a certain amount of text.
Pro Distraction free editing mode
Distraction free editing takes over your screen and removes every UI element so you can focus on code.
Pro IDE features without the cruft
Sublime Text, while being lighter-weight than an IDE, still supports many IDE features.
- Text from the current file is used to provide autocomplete.
- Project Support (folder browsing, scoped history, build-system declarations).
- Refactoring support is emulated through multi-select, project-wide find and replace, and regular expression search.
- Syntax-aware selection and GoTo for quickly jumping to locations in the project.
- Snippets and Macros.
- A Python console for everything else.
Pro Has tons of plugins available
Pro Easy to get started
All you need to do when starting up is to install a package manager and modify user configuration.
Pro Permits instant file switching
Open Goto Anything by pressing Ctrl or Command + P and by using fuzzy search you can look for a file in your project. The file will load even without pressing enter, so you can make sure you've found the correct file without committing.
Pro Projects support multiple folders and git repos
Pro Very fast
Sublime is quick to start and never slows down. The UI is always responsive and you know what is happening in the background.
Pro Allows for Vim-style editing
Vintage mode is Vim-style editing that's already built into the text editor.
Pro Customizable keymapping
From menus to commands, assign key maps to almost anything.
Pro Support for TextMate themes and window decoration themes
Sublime Text compatibility with Textmate bundles is good, but excludes commands, which are incompatible. In general, Sublime Text syntax definitions are compatible with Textmate language files (.tmLanguage extension).
Pro Installable package manager
The package manager is a plugin and can be swapped with something else custom.
Pro Dynamic Build System
Choose from many build systems or craft your own.
Pro Haxe and OpenFL integration via plugin
Both of these programming interfaces are cross-platform, open source, and easy to use.
Pro Portable settings
Settings are modular and can be shared.
Pro Highly Theme-able
Create your own theme with online editor.
A Sublime license can be bought but it can still be used for free. However, a pop-up appears when you save multiple times.
Pro Multiple languages are supported
Pro Direct server upload
Provides command line shortcut for server upload.
With lot of functionalities, where other editor even not think to provide.
Pro Node.js integration
WebStorm integrates with Node.js to allow for running, debugging, and unit testing of Node.js apps.
Pro Code refactoring support
To make sure your code can be easily maintained, you must first be sure to make it clean and tidy. This is the part where WebStorm really helps you. It automatically refactors your code by performing functions on it, such as extraction of variables, moving files, inline variable extraction, etc.
Pro Integrated code quality tools
WebStorm comes bundled with JSHint and JSLint. JSCS, ESLint, and Closure Linter can be installed via npm. They register as inspections and are customizable through IDE settings. They run automatically and will highlight potential issues. Pressing alt+enter on an issue will allow the user to view suggested fixes.
Pro Intelligent code completion
WebStorm has two types of autocompletion: structural completion and word expansion.
Both types of autocompletion work extremely well, have little to no problems and are quite fast even when loading suggestions on the go.
Pro Built-in web server
WebStorm has a built-in webserver that allows you to run projects from
Pro Maintains a local history
The local history feature in Webstorm tracks all your local changes in the source code that you are making. You can use it to view changes that you've made to your code and roll back whenever necessary.
Pro Typescript support
Pro Supports a wide range of plug-ins
WebStorm includes support for Meteor, Angular, and React.
WebStorm has built-in support for CoffeeScript and Dart.
Pro Support for Karma test runner
Karma allows you to execute unit tests and monitor code coverage. You can read more about using Karma with WebStorm here.
Pro Reduces the amount of repetitive code that has to be written with code snippets
WebStorm includes a feature called Live Templates. Live Templates are predefined code snippets that can include variables. They're intended to increase productivity by reducing the amount of repetitive code that has to be written.
Pro Ability to base hot keys on previously used IDEs
When you install WebStorm, it allows you to choose from other IDE's for it to base it's hot keys on. So if you are switching from another IDE, it makes it a very easy transition and productivity is not adversely affected by having to learn new hot keys.
Pro Powerful git and GitHub integration
WebStorm has a powerful visual git tool, allowing for easy commits, visual diffing, merging, push/pull, rebasing, and inspecting the VCS history of a project. GitHub is supported natively - you can check out a project directly from GitHub.
Pro CSS pre-processor support
WebStorm has built-in support for Sass which is one of the most stable and powerful CSS extension languages.
Pro Built-in terminal/run tools
WebStorm (and really all of the IntelliJ IDEs) support the plugins throughout their plugin ecosystem which leaves you with 100s of tools to handle your automation tasks. There is a wide range of build-related plugins that help you by having pre-defined commands to execute with the click of a button. Out of any other IDE, WebStorm has by far the most coverage when it comes to tools for your development workflow.
Pro Theme support / tweaking
The theme is very easy to customize to your liking. You can change font-size, colors, highlighting colors, and more.
WebStorm has support for Grunt and Gulp task runners.
Pro Server and client-side debugger
WebStorm has a powerful debugger, with support for conditional breakpoints.
Pro Support for all major VCS systems
Webstorm supports not just Git and Mercurial, but Subversion, CVS, and Perforce as well.
Pro Powerful Code Templates
Code Templates are powered by Apache VTL (Velocity Template Language) and allow for includes, custom variables, conditional blocks, iterators, and live templates.
Pro Really good configurable code formatting
This integrates with other community tools like ESLint and editorconfig.
Pro Multi-line select and editing
Pro Free for open-source development, students, and teacher
Non-commercial open source projects, and students and teachers (including classroom licenses) may qualify for a free license. There is a 50% off license for startups (under 3 years old). You can read more about it here.
Pro Has a built-in terminal
The IDE comes with a built-in terminal, a feature lacking in some lighter editors.
Pro Special icons for most filetypes in project list
Webstorm comes with icons for many filetypes which makes it easier to find what you're looking for in the project list.
Pro Cordova support
Pro Webpack support
Assists with configuration and understands module resolution.
Pro Dart language support
Autocompletion, syntax-highlighting, refactoring, and pub integration for Dart are supported in WebStorm.
Pro Coffeescript support
Pro Low memory use
It may seem like a complex IDE and it does have a lot of functionality, yet it uses way less RAM than barebones-looking, Electron-based IDEs.
Pro Gulp support
Pro Auto sync settings across team / machines / platforms
With the settings repository, you can easily enforce your development standards.
Pro Different configurations for different projects
It is able to specify for example node versions, which will be used to run task for current project.
Pro Interactive theme (color scheme) editor
Makes adjusting an existing or creating new themes a breeze. Especially due to things like inheritance, as well as easily exporting/distributing/importing the color settings which really only store where on deviates from the defaults (thus the resulting files are very small and relatively human-readable).
Pro Efficient and effective
Sublime Text protects and copyrights its code and is thus not the freedom-ware some would like it to be.
Although paying for something good is far from a Con, having the competition this editor has and still have to pay for it is definitely a Con.
Con Inadequate language support
Sublime Text offers poor support for Far-East languages in Linux.
Con Annoying whitespace management
All too often it does the wrong thing with indentation on otherwise blank lines.
Con Loading big files on Windows is slow
Here's a rough comparison: a 70 MB file takes about 2 seconds to load in Notepad++, whereas the same file in ST3 takes over 10 seconds to load.
Con Often crashes due to poor quality plugins
Some plugins are quite buggy, meaning that installing many can become quite a problem regarding stability.
Con Interruption while work
"Purchasing" messages box interrupts while saving file.
Con No printing of files
Sublime Texts offers no way of printing the files it edits.
Con No toolbar
Sublime Text is more focused on keyboard users, meaning it doesn't come with a tool bar. Even plugins can't toggle bookmarks using the mouse.
Con Not a full IDE
It does not necessarily function on a project level
Con Slow development
While development has yet to stop on Sublime Text, it is significantly slower than its competitors Atom, VSCode, and others.
Con Occasional slow performance
WebStorm can sometimes choke all cores of the CPU. There are numerous reports of high CPU usage.
Con Not free for commercial use
A paid license is required to use WebStorm for commercial use. The license terms changed in November 2015 and currently require a subscription (per year: $59 personal, $129 for companies). Students can obtain a free non-commercial, educational license good for one year. There is also an option to pay on a monthly basis in addition to perks, such as a fallback commercial license that can be used for free.
Con Plug-in ecosystem isn't robust
Every framework or extension with any popularity whatsoever will have a plugin for VS Code. Sometimes they'll still support Atom. Only one in twenty will have native support for WebStorm.
If you want support for the latest libraries, you won't get it in WebStorm.
Con Non-native filesystem causes issues
The Java wrapper around the filesystem doesn't actively watch for file changes (by, for example, using the fsevents api on OS X), and as a result can become easily desynchronised from the actual filesystem.
It should be noted though that this is easily remedied by going to File/Settings/System Settings and checking the "Synchronize Files on frame or editor tab activation" option. It's also recommended to more explicitly represent your workflow within WebStorm itself. Most external tools/tasks can be handled with WebStorm. And if it's not in a plug-in, then you can handle it with the File Watchers.
Con Not open source
This application is proprietary, and thus cannot be modified, freely distributed, or trusted for security.
Con Can't open multiple projects in a single instance
The only way to open multiple projects is to run a new instance of WebStorm which is not ideal. WebStorm can use up to 1-1.5 GB of memory.
Con You may have to fiddle with the JVM memory settings in configuration files
To get it to run properly, you have to edit the JVM memory settings when you use Node.js. Node.js makes the small JS project you have into a "large" project that requires more memory.
Con Bad default options compared to the competition
Examples are an unreasonably low number of undo steps and automatic saving (which causes webpack dev server to bundle VERY frequently).
Con Proprietary file dialogs
Webstorm doesn't use the native Windows and OSX file dialogs, which makes it more of a hassle to open projects.
For instance, you don't have access to your favorite folders on the left-hand side in their custom file dialogs.
Con Poor usability on option and menu navigation
You need to press a combination of keys or navigate through different menu levels to carry out the two most common things a developer does. For example, to run your code, the default is Shift+F10. To go to definition, you need to click on "Navigation" first. There is no sense to this: being forced to press a combination of keys hundreds of times or navigating through different menus can be a waste of time.
Con Constantly trailing behind on support for its main features
The Jetbrains team do an admirable job attempting to keep up with support for the features they wrap, but they are running an un-winnable race. For example, WebStorm 11.0.2 hangs when trying to debug NodeJS 5.0+ projects (30+ seconds before hitting breakpoint). By the time they fix it, 5.1 will be out and something else will break.
Con Newer versions are increasingly unstable
This only happens when it's not a major version.