RubyMine 2016.2 Help

Configuring JavaScript Debugger

On this page:


Debugging JavaScript in RubyMine is supported through the JavaScript Debugger. The plugin is bundled with RubyMine 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 by means of browser-specific JetBrains extensions. No special steps are required from your side to install or enable these extensions. RubyMine does it for when you initiate a debugging session for the first time.

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

Common JavaScript debugger options

To configure the settings for debugging JavaScript code

  1. Open the Data Views page: choose File | Settings and in the Settings dialog box that opens, click Debugger under Build, Execution, Deployment.
  2. On the Data Views page that opens, specify the following:
    • Use the Built-in server port spin-box to specify the number of the port where the built-in web server runs. The port number should be set to 1024 or higher. By default this port is set to the default RubyMine port through which RubyMine accepts connections from services (63342). During a debugging session, the Chrome extension will listen to this port. If for some reason the default RubyMine port is already busy, RubyMine finds the closest available port and starts on it. This results in a conflict: RubyMine 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 RubyMine. The conflict reveals when you initiate a debugging session from RubyMine: the extension fails to connect through the default port, RubyMine waits for connection from the extension and displays the following message with the port number where it is actually running:

      To fix the problem, specify the actual port in the Chrome extension options, see Using JetBrains Chrome Extension.

    • In the Value tooltip delay (ms) field , specify the time period between pointing at an object and displaying the object's value in a tooltip.
    • Whether to display DOM properties in a tab or not.
    • Whether to display function values in a tab or not. If you want the function values to be shown only for user-defined functions, select the Show only user-defined functions. (Otherwise, the function values will be shown for all function.)
    • Whether you want object node properties to be shown. If so, specify the properties. Use add and delete to manage the list of properties.
    • Whether you want the debugger to skip certain scripts. If so, specify URLs for the corresponding scripts. Use add and delete to manage the list of script URLs.

See Also

Last modified: 30 November 2016