WebStorm 2017.2 Help

Configuring JavaScript Debugger and JetBrains Chrome Extension

On this page:

Installing JetBrains Chrome Extension

The JetBrains Chrome extension is mainly responsible for debugging JavaScript in Chrome and Dartium. During a debugging session, the extension also supports Live Editing of HTML, CSS, and JavaScript, and shows the DOM tree and the source code of the actual page.
When the extension is installed, the chrome extenstion jb icon icon is displayed next to the Chrome address bar.

To install the JetBrains Chrome extension

  1. Open the JetBrains IDE Support page in Chrome Web Store.
  2. Click the Add to Chrome button chrome extension add to chrome, and then click Add in the Confirm New Extension dialog box that opens. The Add to Chrome button changes to Added to Chrome chrome extenstion added to chrome.

Configuring the JavaScript Debugger

Debugging of JavaScript code is supported in Google Chrome and other browsers of the Chrome family with the JetBrains IDE Support extension installed as described above.

During a debugging session, WebStorm considers any injected JavaScript code in a web page opened in the browser as subject for debugging. This means that you cannot use one single instance of a browser for browsing and for debugging at the same time. For Google Chrome you can solve this problem by configuring WebStorm to use a separate Chrome user profile for debugging.

To ensure successful debugging, it is enough to specify the built-in web server port and accept the default settings that WebStorm suggests for other debugger options.

To set the built-in web server port

  1. Open the Debugger page: choose File | Settings for Windows and Linux or WebStorm | Preferences for macOS and click Debugger under Build, Execution, Deployment.
  2. In the Built-in server area, specify the port where the built-in web server runs so the Chrome extension can connect through it. By default this port is set to the default WebStorm port 63342 through which WebStorm accepts connections from services. You can set the port number to any other value starting with 1024 and higher.

Optionally

  1. Suppress calls to the files on the built-in server from other computers or from outside WebStorm by clearing the Can accept external connections or Allow unsigned requests check box respectively.
  2. On the Data Views page under the Debugger node, configure advanced debugger options: enable or disable Inline Debugging, specify when you want to see tooltips with object values and expressions evaluation results, etc.
  3. On the Stepping page, specify the scripts to be skipped by the debugger.
    By default, the debugger does not step only into library scripts. To expand the suppression list, select Do not step into scripts check box and add the URL addresses to skip using the new and delete buttons.

Activating, de-activating, and uninstalling JetBrains Chrome extension

Control over the JetBrains Chrome extension is provided through the chrome://extensions page:

  • To open the page, just type chrome://extensions in the Chrome address bar.
    Alternatively click Customize and control Google Chrome (chrome extension control icon), choose Settings on the context menu, and then click Extensions on the chrome://settings page that opens.
  • To deactivate the extension, clear the Enabled check box. The check box name changes to Enable.
  • To activate the extension, select the Enable check box.
  • To uninstall the extension, click the Remove from Chrome button chrome extension remove.

Overriding the default CORS settings

Suppose the page you are debugging requests a resource which is, for security reasons, protected against access through CORS settings. You can enable access to the protected resources by changing the Chrome extension options.

To override the default CORS settings

  1. Right-click chrome extenstion jb icon and choose Options on the context menu. A web page with Chrome extension options opens showing the parameters to connect to WebStorm.
  2. In the Force CORS text box, type the pattern that defines the URL addresses you want to make accessible, for example: http://youtrack.jetbrains.com/rest/*.

Changing the default port for connecting to WebStorm

During a debugging session, the Chrome extension listens to the port of the JetBrains IDE from which the extension was invoked. Each IDE including WebStorm has its own default port on which it starts.

If for some reason the default WebStorm port is already busy, WebStorm finds the closest available port and starts on it. This results in a conflict: WebStorm is running on a "new" port while the Chrome extension still listens to the port of a previously started product and fails to establish connection with WebStorm.

The conflict reveals when you initiate a debugging session from WebStorm: the extension fails to connect through the default port, WebStorm waits for connection from the extension and displays the following message with the port number where it is actually running (for example, current port 63343):

js_debug_install_extension.png

To fix the problem, specify the actual WebStorm port in the Chrome extension options

  1. Right-click chrome extenstion jb icon and choose Options on the context menu. A web page with the Chrome extension options opens showing the parameters to connect to WebStorm.
  2. In the IDE Connection area, specify the actual WebStorm port in the Port spin box.

Last modified: 29 November 2017

See Also