WebStorm 4.0 in Harmony with ECMAScript

ECMAScript Harmony Support

For those who prefer to stay one step ahead, WebStorm presents experimental support of a new ongoing ECMAScript version code-named Harmony. To try out new features, set ECMAScript Harmony to be the JavaScript language version in the IDE settings.

Note: each JavaScript engine implementation adds some nice features that others don't have. When you use a language feature that isn't supported by the currently selected JavaScript version, WebStorm will notify you and suggest a Quick-Fix:

Read more in our blog »

HTML5 Boilerplate and other Web Application Templates

When you're creating a new project, it makes sense to begin with an appropriate starting template. WebStorm offers some well-known project templates to use depending on your needs:

  • client-side — HTML5 Boilerplate, Twitter Bootstrap and Kickstrap
  • server-side — Node.js Express application wizard.

Just select the project type via File | New Project...

Read more in our blog »

Code Coverage in JavaScript Unit Testing

Code coverage for unit testing provides a clear picture of which parts of your code remain untested. From now on, users of JsTestDriver can measure code coverage visually.

The IDE shows which lines were exercised by your unittests, and which weren't. Look for the colored bar to the left of the source lines (green means performed, while red means omitted):

You can also see test coverage statistics by file and by directory in your Project View:

Read more in our blog »

Easier JavaScript Library Scope Configuration

The main benefit of specifying JavaScript libraries in your project is to populate a completion list only with relevant members. We have reorganized the configuration panel at Settings|JavaScript|Libraries, so it becomes easier to use.

Read more in our blog »

Smarter JavaScript Completion

More relevant suggestions now appear at the top of the list in many cases.

  • Suggested names are ordered by their definition scope nesting, i.e. global variables are placed at the bottom of the list.
  • Object members are ordered by class inheritance.
  • If a local variable exists with the same name as the parameter of the called function, that variable is considered the most relevant.

Custom Code Folding Regions

This feature gives you a possibility to define your own code-folding regions with special line comments.

Press the Same Shortcut Again!

Sometimes you invoke an action and you don't get what you wanted immediately. In such cases it may help to invoke the action again by pressing the same shortcut. This will show additional options like below: