Web Coding Made Smarter
We've collected some of the most exciting features that, in our opinion, the WebStorm and PhpStorm IDEs provide. Just the top of the iceberg. Read the sections below, scan the screenshots and download the product to try it in action.
JavaScript
DOM-Based, Browser-Specific Completion
JavaScript code completion for keywords, labels, variables, parameters and functions is DOM-based and supports
popular browsers specifics (IE, Firefox, etc.) The completion is available for both standard and user-defined
functions in *.js files, HTML event handlers and everywhere else where appropriate.

Code Navigation and Usages Search
Numerous code navigation and usage search options:
- Go to declaration — navigates to where the function, variable or label in question is declared with a simple hotkey or Ctrl + Click⌘Click.
- Go to symbol — navigates to any symbol in project code using search patterns, including asterisk (*) or CamelHump abbreviations.
- Find/Highlight Usages — locates other places in your entire project where a JavaScript symbol, label or file is used, with quick preview and instant navigation to the actual usages.
CoffeeScript
Keeping pace with the newest technologies coming to the scene, WebStorm offers you CoffeScript support 'hot of the press'. CoffeeScript is a programming language that compiles to JavaScript and enhances its brevity and readability, while also adding some sophisticated features like array comprehension and pattern matching. WebStorm offers you:
- code navigation and completion
- rename refactoring
- syntax highlighting
- error checking
- find usages
Node.JS
WebStorm 3.0 allows you to debug and validate your server-side JavaScript — Node.JS apps.
The editor is aware of CommonJS module structure and suggests proper auto completion options:
Read more about how to configure Node.JS in WebStorm.
JavaScript Refactoring
Refactoring capabilities provided for JavaScript allow you to easily modify the code structure as well as undo
the modifications. Some refactorings available for JavaScript code and *.js files are:
- Move/Copy
- Safe Delete
- Extract embedded script into file
- Rename
- Extract Variable/Function
- Inline Variable/Function
JavaScript Unit Testing
If you're a JavaScript developer, you probably know that the quality and correctness of your application are crucial. Well, consistency and regression testing just got a little less painful. Meet the JsTestDriver plugin. Read more »

Code Inspections and Quick-Fixes
To ensure better code quality, JetBrains WebStorm catches common errors in your JavaScript code on the fly…

…and offers quick-fixes for them.

JSLint/JSHint
JavaScript code quality tool integrated in the IDE. Checks your code just as you edit it. Open Settings, type JSLint/JSHint, enable an inspection and here you go:

JavaScript Debugger Based on Mozilla
With JetBrains WebStorm you can debug JavaScript code utilizing the complete range of features:
- Breakpoints in HTML and JavaScript
- Customizable breakpoint properties: suspend mode, conditions, pass count and more
- Frames, variables and watches views in JavaScript debugger UI
- Runtime evaluation of JavaScript expressions
Extended Frameworks Support
The following extended JavaScript frameworks are supported: JQuery, YUI, Prototype, DoJo, MooTools, Qooxdoo, and Bindows.
Some specific features include:
- Code completion for every framework
- JSDoc and DoJo style type annotations support for better code completion and parameter type information
- Quick Documentation lookup for JSDoc and DoJo style commands
More on JavaScript Editor features.
More Than Code
Batch Code Analysis
No need to click through all the files or deploy to a server to spot errors and warnings. Start Code Analysis for the whole source tree, select Inspections to run, and see all results in a single view.
Language Mixing/Injection
Support for any "outer" and "inner" language in your code — enjoy full coding assistance for CSS, HTML, SQL, etc. outside of JavaScript code blocks or inside JavaScript string literals.
Spellchecker
Integrated spellchecker verifies texts in tags, code strings, comments to avoid misspellings and typos on your web pages.
To ensure a better code readability even variable names, CSS classes and IDs are spell-checked. To configure spellchecker specify the options for 'Spelling' inspection in Inspections settings.
Smart Duplicated Code Detector
For JavaScript and even for CSS and HTML. Go to Code | Locate Duplicates to start your quest against copy/paste coding. You'll be presented with a list of candidates for refactoring — and with the help of Refactor | Extract Method it's easy to keep your code DRY.
HTML/HTML5/CSS
DOM- and Schema-Based Code Completion
Based on its deep knowledge of HTML/XHTML and XML code, WebStorm is capable of completing:
- styles
- file references
- tag names
- closing tags
- attributes
In CSS, code completion works for:
- classes
- HTML IDs
- keywords
- values
- properties
Try Ctrl+Space⌃Space in any place of your code and you'll be rewarded.
HTML5 Support
Create a new HTML document with <!DOCTYPE HTML> to enable HTML5 support for that file. Suppose we want to use a new <canvas> element. Not only will the IDE recognize your intention while you are typing <ca and suggest adding <canvas>, but even after pressing SpaceSpace it will suggest attributes supported by this HTML5 element:

IDE also understands your code and the type of each element, so it will be able to help you with a new JavaScript API and show the methods supported by the new HTML5 element:

Just press Ctrl+Space⌃Space, and the IDE will suggest all possible autocompletion options.
Validation and Quick-Fixes
WebStorm detects and suggests auto-fixes for such problems as:
- invalid CSS selector format
- invalid CSS properties
- unused CSS class definitions
- invalid local anchors and more...
- missing required attributes
- invalid attributes or illegal values
- wrong references to files in links
- duplicate attributes
Whenever you see a bulb, hit Alt+Enter⌥Enter to see what WebStorm suggests
Zen Coding
WebStorm allows you to use the power and speed of Zen coding. All abbreviations are available for creating new content and for wrapping an existing structure. Type div.feature>h4+p, press TAB and you'll get
<div class="feature">
<h4></h4>
<p></p>
</div>
Show Content
Quick Definition Lookup on a CSS ID immediately shows a popup displaying the actual styles defined for this particular ID; when invoked on an image file reference, you will see an image preview.
This works both in code and in completions lists.
Show Applied Styles
Puzzled to understand where the styles come from for a particular tag in your page? Right-click it and choose Show Applied Styles for Tag.
This command opens a tree-view of all styles that are applied to the tag by CSS, with all possibles overrides.
More on HTML/XHTML/CSS Editor features.
Smart Environment
FTP and Remote Files Syncronization
Open files from a remote host, FTP, or a mounted network drive using simple configuration and an intuitive user interface.
Edit project files locally and deploy back to remote server using automatic synchronization on file save or on demand.
Mark directories in web server configuration to exclude/include from transfer and from indexing in Settings | Directories.
Version Control Systems Integration
WebStorm supports most popular Version Control Systems:
- Subversion
- Mercurial
- Git
- Perforce
- CVS
- TFS
All the tedious tasks (adding, removing, deleting files) are performed automatically. A built-in visual merge tool resolves all conflicts in a quick and intuitive manner. The changes made locally are highlighted as you type in the editor gutter, providing intuitive navigation and a 2-click rollback for individual changes.
For Git VCS IDE shows revisions graph.
Following features are available no matter what VCS you use:
- Integrated changelists — group your changes into multiple change lists for better ogranisation
- Shelved changes — set aside some changes to restore them later on
- Repository Changes view — see what has been committed by other team members
- Incoming Changes view — see the code changes not yet integrated into your local copy.
- Outdated Changes Notification — get warned that a file you are working with has been changed after your last sync.
Local History
WebStorm tracks any changes made to your source files, protecting you from any accidental losses or modifications, even if made by other applications. At any time you can inspect the history of either a particular file or directory and rollback to any of its previous versions. You can also set version labels.
