WebStorm 2017.2.4 is now available

WebStorm 2017.2.4 is now available!

You can download WebStorm 2017.2.4 (172.4155.35) on our website or update in Toolbox App or in the IDE. The patch-update is available for WebStorm 2017.2.2, 2017.2.3 and 2017.2.4 EAP.

What is fixed in WebStorm 2017.2.4:

  • Support for the Optional catch binding ES proposal (WEB-28073)
  • Support for React 16 RC (WEB-28328)
  • Go to definition for the AngularJS injected dependencies now works again (WEB-28192)
  • Running tasks with Yarn 1.0 from the IDE (WEB-28685)

WebStorm Team

Posted in Release Announcements | Tagged | 2 Comments

WebStorm 2017.2.3 is now available

WebStorm 2017.2.3 is now available!

You can download WebStorm 2017.2.3 (172.3968.27) on our website or update in Toolbox App or in the IDE. The patch-update is available for WebStorm 2017.2.1, 2017.2.2 and 2017.2.3 EAP.

What is fixed in WebStorm 2017.2.3:

  • Wrong position of the context menu on the HiDPI screens on Windows (JRE-453)
  • Navigate to class or file popup doesn’t suddenly disappear anymore on Linux (IDEA-173000)
  • Auto compilation now works again with TypeScript 2.5+ (WEB-28374)
  • Support for webpack aliases when using webpack.babel.config.js (WEB-28162)
  • All React attributes are now auto completed with {} by default (WEB-27989)
    and a new intention that wraps value with {} was added (WEB-21351)
  • Create method quick-fix now works inside JSX (WEB-18052)
  • Error when inspecting arrays in Karma tests (WEB-27884)
  • Debugging React Native apps with Node.js 8.4+ (with node as a debugging backend)(WEB-27303)
  • and over 20 other issues.

WebStorm Team

Posted in Release Announcements | Tagged | 11 Comments

Developing Ionic apps in WebStorm

Ionic is a framework for developing mobile apps in TypeScript. Since Ionic uses Angular, WebStorm can be of a great help when working on your next Ionic application.

Let’s go through the Ionic tutorial in WebStorm. But first, make sure that you’ve installed Cordova and Ionic and configured your environment for iOS or Android development as described here.

ionic-emulate
Continue reading

Posted in Tutorials | Tagged , , , | 9 Comments

WebStorm 2017.2.2 is now available

WebStorm 2017.2.2 is now available for download on our website and in Toolbox App.

What is fixed in WebStorm 2017.2.2:

  • Support for imports with ~ in SCSS and Less when using webpack (WEB-23707 and
    WEB-25321)
  • Support for CSS Modules with Less and Sass (WEB-27344 and
    WEB-27547)
  • Emmet abbreviations for React components now expand into self-closing tags only if you add / at the end of the abbreviation  (WEB-26468)
  • Completion for React component properties when using require (WEB-27896)
  • spy-js now works with Node.js 7 and above (WEB-24103)
  • Scaling on HiDPI monitors on Windows 10 (JRE-431)
  • and over 40 other issues.

WebStorm Team

Posted in Release Announcements | Tagged | 24 Comments

How to configure code completion in full-stack JavaScript projects?

If you’re working on a full-stack JavaScript application in WebStorm, you’ve probably noticed that code completion suggests some Node.js APIs in your client-side code and DOM APIs in the Node.js code. Here’s how to fix that.

What is Library in WebStorm?

All the objects defined in your application are automatically added to the WebStorm completion suggestions, but for adding Node.js and DOM APIs as well as symbols from the project’s dependencies to the code completion WebStorm uses a mechanism called External JavaScript Libraries or just Libraries.

You can see a list of Libraries configured for your project in Preferences | Languages & Frameworks | JavaScript | Libraries.

For every library, you can configure the scope where it works in the project. And that’s exactly what we need!

Configuring HTML and Node.js Core Libraries

The library called HTML contains all DOM APIs and by default is enabled for the whole project (hence the checked icon under Enabled). And so is the Node.js Core library with Node.js APIs (we enabled it before in Preferences | Languages & Frameworks | JavaScript | Node.js and npm).

html-node-libs

Uncheck HTML and Node.js Core libraries to disable them completely for now.

Now click on the Manage Scopes… button to start the configuration. Click + and select the folders with the client-side code – now select HTML library from the drop-down list next to them.

Click + again, select the folders or files with the server-side code and enable Node.js Core library for them.

manage-lib-scope

So now items from the HTML and Node.js Core libraries are resolved and shown in the code completion only in files in these specific project folders.

In the same way, we can configure the scope of the library that is automatically created for the node_modules folder.

For specific files, we can quickly manage the libraries with the Use JavaScript Libraries action in the file context menu in the editor. For example, we can enable Node.js Core library for our webpack configuration files.

enable-lib-for-file

By the way, the IDE inspections can be configured in a similar way using scopes in Preferences | Editor | Inspections.

WebStorm Team

Posted in Tutorials | Tagged | 7 Comments

WebStorm 2017.2.1 is now available

WebStorm 2017.2.1, the bug-fix update for the recently released WebStorm 2017.2 is now available!

You can install this update using Toolbox App. If you’re using WebStorm 2017.2 or 2017.2.1 EAP, you can update directly from the IDE.

If you’re still using an earlier version, check out the new features in WebStorm 2017.2 and download it from our website.

What is fixed in WebStorm 2017.2.1:

  • Karma integration now properly sees changes when re-compiling the code (WEB-12496 and WEB-21308)
  • React render method is no longer marked as static (WEB-19028)
  • Flow: auto import now works for types (WEB-24910); support for union optional type as arrow function return type (WEB-27666)
  • Auto import for React components now works in .tsx files (WEB-20211)
  • Tab limit can again be set to 1 (IDEA-173369)
  • Errors from ESLint are now highlighted in .vue files (WEB-27868)
  • Debugging React Native apps: you can now use Chrome as a debugging backend instead of Node.js 8 (WEB-27323)

You can find a full list of addressed issues in the Release Notes.

WebStorm Team

Posted in Release Announcements | Tagged | 4 Comments

WebStorm 2017.2 released: Move symbol refactoring, import code style from ESLint, better webpack support, and more

Today we’re announcing WebStorm 2017.2  🎉

This big summer update adds powerful Move symbol refactoring, supports new code style options for JavaScript and TypeScript, improves testing with Karma and Mocha, and much more!

Here’s what you can do with the top new features in WebStorm 2017.2:

  • Import code style from an ESLint configuration.
  • Run single Karma tests and generate code coverage reports for Mocha.
  • Take advantage of code completion in JavaScript that respects the project configuration stored in your webpack.config.js file.
  • Order code inside classes with the Rearrange code action.
  • See Parameter hints and inferred type info in TypeScript.
  • Build interfaces with support for Angular Material.
  • Enjoy better code completion and navigation for Sass selectors.
  • Scope styles for single components with support for CSS Modules.

Explore all the new features of WebStorm 2017.2 on our website.


Download WebStorm 2017.2

JetBrains WebStorm Team

Posted in Release Announcements | Tagged , , , , | 47 Comments

WebStorm 2017.2 EAP, 172.3198: apply styles from ESLint, TypeScript type info

This week’s WebStorm 2017.2 EAP build (172.3198.20) is now available.

Now you can import some of the code style rules in ESLint configuration files to the IDE. In addition, we’ve improved how type info is shown in TypeScript and added an option to fold all one-line methods and functions in JavaScript and TypeScript.

You can install this WebStorm 2017.2 EAP build via Toolbox App or by downloading it on this page. It can be installed side-by-side with your stable WebStorm version. A patch update from the last week EAP build is also available.

Please share your feedback and report issues in our tracker. Thank you!

Import code style from ESLint configuration

WebStorm now allows you to import ESLint code style rules (we matched 37 ESLint rules) to the IDE’s JavaScript code style settings.

Now if you open an .eslintrc JSON file or package.json with the eslintConfig field, you’ll see the question “Apply code style from ESLint?” at the top of the editor. Click Yes to apply the matched rules to the Project code style scheme.

import-eslint

Continue reading

Posted in Early Access Preview | Tagged , , | 12 Comments

WebStorm 2017.2 EAP, 172.3095: npm install and update notifications

A new WebStorm 2017.2 EAP build (172.3095.13) makes it easier to manage project’s dependencies: the IDE will suggest you running npm install or npm update when you open a project, update it from the version control or edit package.json.

npm-update

For the full list of issues addressed in this EAP build, see the Release notes.

You can install this WebStorm 2017.2 EAP build via Toolbox App or by downloading it on this page. It can be installed side-by-side with your stable WebStorm version. A patch update from the last week EAP build is also available.

Please share your feedback and report issues on our tracker. Thank you!

Your WebStorm Team

Posted in Early Access Preview | Tagged | 12 Comments

WebStorm 2017.2 EAP, 172.2953: improved Sass support, code coverage for Mocha, CSS Modules

This week’s WebStorm 2017.2 EAP build (172.2953.12) brings support for Mocha code coverage reports, improvements in Sass and SCSS support, and more.

You can install this WebStorm 2017.2 EAP build via Toolbox App or by downloading it on this page. It can be installed side-by-side with your stable WebStorm version. A patch update from the last week EAP build is also available.

Please share your feedback and report issues on our tracker. Thank you!

Better support for Sass and SCSS nested selectors and selectors with &

For Sass and SCSS selectors created using &, WebStorm now provides code completion in HTML files, as well as navigation to the definition (with Cmd/Ctrl-Click).

scss-amp-completion

For the nested Sass and SCSS selector, you can use Navigate to the definition (Cmd/Ctrl-Click).

navigate-nested-sass

Code coverage for Mocha

Now you can see code coverage reports for Mocha tests right in the IDE.

To get started install nyc, the command-line interface for Istanbul:
npm install --save-dev nyc

Or install Istanbul itself with npm install --save-dev istanbul. We recommend using istanbul@next because it has support for ES6 and TypeScript. Make sure that Mocha is also installed and properly set up.

Now select the set of tests you’d like to run – that could a folder with test files, a test file, a suite or a specific test – then create a new Mocha run/debug configuration via Edit Configurations dialog, save it and hit the Run with coverage icon.

run-with-coverage

You can also use the test icons in the editor to quickly run a specific suite or a test with coverage.

quickly-run-with-coverage

The coverage report will open next to the editor, showing how many files were covered with tests and the percentage of covered lines in them. From the report you can jump to the file and see what lines were covered – marked green – and what lines were not covered – marked red.

coverage-report

Continue reading

Posted in Early Access Preview | Tagged , , , , | 15 Comments