PhpStorm 2017.1 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 /help/img/idea/2017.1/chrome_extenstion_jb_icon.png 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 /help/img/idea/2017.1/chrome_extension_add_to_chrome.png, and then click Add in the Confirm New Extension dialog box that opens. The Add to Chrome button changes to Added to Chrome /help/img/idea/2017.1/chrome_extenstion_added_to_chrome.png.

Configuring the JavaScript Debugger

Debugging JavaScript in PhpStorm is supported through the JavaScript Debugger plugin. The plugin is bundled with PhpStorm and activated by default. If the plugin is not activated, enable it on the Plugins page of the Settings / Preferences Dialog as described in Enabling and Disabling Plugins.

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, PhpStorm 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 PhpStorm 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 PhpStorm 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 PhpStorm | 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 PhpStorm port 63342 through which PhpStorm accepts connections from services. You can set the port number to any other value starting with 1024 and higher.


  1. Suppress calls to the files on the built-in server from other computers or from outside PhpStorm 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 /help/img/idea/2017.1/new.png and /help/img/idea/2017.1/delete.png 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 (/help/img/idea/2017.1/chrome_extension_control_icon.png), 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 /help/img/idea/2017.1/chrome_extension_remove.png.

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 /help/img/idea/2017.1/chrome_extenstion_jb_icon.png and choose Options on the context menu. A web page with Chrome extension options opens showing the parameters to connect to PhpStorm.
  2. In the Force CORS text box, type the pattern that defines the URL addresses you want to make accessible, for example:*.

Changing the default port for connecting to PhpStorm

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

If for some reason the default PhpStorm port is already busy, PhpStorm finds the closest available port and starts on it. This results in a conflict: PhpStorm 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 PhpStorm.

The conflict reveals when you initiate a debugging session from PhpStorm: the extension fails to connect through the default port, PhpStorm 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):


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

  1. Right-click /help/img/idea/2017.1/chrome_extenstion_jb_icon.png and choose Options on the context menu. A web page with the Chrome extension options opens showing the parameters to connect to PhpStorm.
  2. In the IDE Connection area, specify the actual PhpStorm port in the Port spin box.

See Also

Last modified: 19 July 2017