JetBrains Rider 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 JavaScript in JetBrains Rider is supported through the JavaScript Debugger plugin. The plugin is activated by default. If the plugin is disabled, enable it on the Plugins page 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, JetBrains Rider 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 JetBrains Rider 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 JetBrains Rider 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 JetBrains Rider | 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 JetBrains Rider port 63342 through which JetBrains Rider 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 JetBrains Rider 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.

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 JetBrains Rider.
  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 JetBrains Rider

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

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

The conflict reveals when you initiate a debugging session from JetBrains Rider: the extension fails to connect through the default port, JetBrains Rider 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 JetBrains Rider 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 JetBrains Rider.
  2. In the IDE Connection area, specify the actual JetBrains Rider port in the Port spin box.

Last modified: 21 November 2017