PyCharm 2016.2 Help

Run/Debug Configuration: JavaScript Debug

In this dialog box, create a configuration to be used for debugging JavaScript sources locally and remotely and for debugging Dart Web applications.

  1. Local debugging. In this mode, the application files remain where they are in the PyCharm project on you machine. PyCharm runs them on the built-in Web server with the root URL http://localhost:<built-in server port>/<project root>. The built-in server port (1024 or higher) is specified on the Data Views page of the Settings dialog box. A debugging session in this mode can be initiated in two ways:
    • Open the HTML file with the JavaScript injection to be tested and launch the temporary run/debug configuration that PyCharm has generated automatically. This approach it helpful when you do not need to debug the entire application but just one script.
    • Create and launch a permanent debug configuration.
  2. Remote debugging. In this mode, the application files are on an external web server and you have their copies in a PyCharm project on your computer. No matter, whether the web server itself is running on a physically remote host or on your machine, application files deployed on it are treated as remote. For details, see Deployment. Working with Web Servers.

    You can deploy the application files to a web server and launch the application yourself or debug an already running application.

    When a remote HTML file with a JavaScript injection is opened, the debugger tells PyCharm the name of the currently processed file and the number of the line to be processed. PyCharm opens the local copy of this file and indicates the line with the provided number. This behaviour is enabled by specifying correspondence between files and folders on the server and their local copies. This correspondence is called mapping, it is set in the debug configuration.

    A Remote debugging session can be initiated only through a permanent debug configuration that you have to define yourself manually.

PyCharm supports local and remote JavaScript debugging only in Google Chrome and other browsers of the Chrome family. In Firefox, remote debugging is not supported at all. Local debugging is supported for Firefox, version 36 an higher, through the Firefox Remote debug configuration.

PyCharm supports local and remote JavaScript debugging only in Google Chrome and other browsers of the Chrome family. In Firefox, remote debugging is not supported at all. Local debugging is supported for Firefox, version 36 an higher, through the Firefox Remote debug configuration.

On this page:

JavaScript Debug-specific configuration settings

ItemDescription
NameIn this text box, specify the name of the current run/debug configuration.
Share Select this check box to make the run/debug configuration available to other team members.

The shared run/debug configurations are kept in separate xml files under .idea\runConfigurations folder, while the local run/debug configurations are kept in the .idea\workspace.xml.

This check box is not available when editing the run/debug configuration defaults.

URL
  • Debugging JavaScript:

    In this text box, specify the URL address of the HTML file that references the JavaScript to debug. For local debugging, type the URL in the format http://localhost:<built-in server port>/<project root>. The built-in server port (1024 or higher) is specified on the Data Views page of the Settings dialog box.

  • Debugging a Dart Web application:

    In this text box, specify the URL address of the HTML file the references the Dart code to debug. Make sure that the port specified in this URL address is the same as the Built-in server port on the Debugger page of the Settings dialog box and the port specified in the settings for the Chrome Extension.

Browser From this drop down list, select the browser, where your application will be debugged.
  • Debugging JavaScript:

    Chrome

  • Debugging a Dart Web application:

    If you choose Dartium which has a built-in Dart virtual machine, simply the Dart code is executed. If you choose Chrome, the Dart code is compiled into JavaScript through the Dart2js tool, which is a part of the Pub tool. Whether such compilation is required or not is decided by the Pub Serve tool. The tool is invoked automatically when you run or debug a Dart web application, either by opening an HTML file or by launching a run/debug configuration. The tool analyzes the <script></script> element in the HTML file. If the element references a Dart file, Pub Serve invokes the Dart2js compiler whereupon the compiled JavaScript files are passed to the browser where they are processed.

    Specify the URL address of the HTML file the references the Dart code to debug. Make sure that the port specified in this URL address is the same as the Built-in server port on the Debugger page of the Settings dialog box and the port specified in the settings for the Chrome Extension.

Remote URLs of local files
  • Debugging JavaScript:

    PyCharm displays this area only when you create a permanent debug configuration manually. For automatically generated temporary configurations the area is not shown.

    In this area, map the local files to be involved in debugging to the URL addresses of their copies on the server.

    • File/Directory - in this read-only field, select the desired local file or directory in the project tree.
    • Remote URL - in this text box, type the absolute URL address of the corresponding file or folder on the server.

    These mappings are required only if the local folder structure under the project root differs from the folder structure on the server. If the structures are identical, PyCharm itself "retrieves" the paths to local files by parsing the URL addresses of their copies on the server.

  • Debugging a Dart Web application:

    PyCharm displays this area only when the port specified in the URL field is different from the port of the built-in Web server specified on the Debugger page of the Settings dialog box.

Toolbar

ItemShortcutDescription
add Alt+Insert Click this button to add a new configuration to the list.
delete Alt+Delete Click this button to remove the selected configuration from the list.
copy Ctrl+D Click this button to create a copy of the selected configuration.
settings Edit defaultsClick this button to edit the default configuration templates. The defaults are used for newly created configurations.
arrowUp or arrowDown Alt+Up or Alt+Down Use these buttons to move the selected configuration or folder up and down in the list.

The order of configurations or folders in the list defines the order in which configurations appear in the Run/Debug drop-down list on the main toolbar.

folder Move into new folder / Create new folder Use this button to create a new folder.

If one or more run/debug configurations are in focus, the selected run/debug configurations are automatically moved to the newly created folder. If only a category is in focus, an empty folder is created.

Move run/debug configurations to a folder using drag-and-drop, or the arrowUp arrowDown buttons.

sortAlphabetically Sort configurations Click this button to sort configurations in alphabetical order.

Common options

ItemDescription
NameIn this text box, specify the name of the current run/debug configuration. This field does not appear for the default run/debug configurations.
Defaults This node in the left-hand pane of the dialog box contains the default run/debug configuration settings. Select the desired configuration to change its default settings in the right-hand pane. The defaults are applied to all newly created run/debug configurations.
Share Select this check box to make the run/debug configuration available to other team members.

The shared run/debug configurations are kept in separate xml files under .idea\runConfigurations folder, while the local run/debug configurations are kept in the .idea\workspace.xml.

This check box is not available when editing the run/debug configuration defaults.

Single instance onlyIf this check box is selected, this run/debug configuration cannot be launched more than once.

Every time a new run/debug configuration is launched, PyCharm checks the presence of the other instances of the same run/debug configuration, and displays a confirmation dialog box. If you click OK in the confirmation dialog box, the first instance of the runner will be stopped, and the next one will take its place.

This makes sense when the usage of certain resources can cause conflicts, or when launching two run/debug configurations of the same type consumes too much of the CPU and memory resources.

If this check box is not selected, it is possible to launch as many instances of the runner as required. So doing, each runner will start in its own tab of the Run tool window.

Before launchSpecify which tasks must be performed before applying the run/debug configuration. The specified tasks are performed in the order they appear in the list.
ItemKeyboard shortcutDescription
add Alt+Insert Click this icon to add a task to the list. Select the task to be added:
  • Run External tool. Select this option to run an application which is external to PyCharm. In the dialog that opens, select the application or applications that should be run. If the necessary application is not defined in PyCharm yet, add its definition. For more information, see Configuring Third-Party Tools and External Tools.
  • Run Another Configuration. Select this option to have another run/debug configuration executed. In the dialog that opens, select the configuration to run.

    This option is available only if you have already at least one run/debug configuration in the current project.

  • Run File Watchers. Select this option to have PyCharm apply all the currently active file watchers, see Using File Watchers for details.
  • Run Grunt task. Select this option to run a Grunt task. In the Grunt task dialog box that opens, specify the Gruntfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Grunt tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the grunt-cli package.

  • Run Gulp task. Select this option to run a Grunt task. In the Gulp task dialog box that opens, specify the Gulpfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Gulp tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the gulp package.

  • Run npm Script. Select this check box to execute an npm script. In the NPM Script dialog box that opens, specify the package.json file where the required script is defined, select the script to execute, choose the command to apply to it, and specify the arguments to execute the script with.

    Specify the location of the Node.js interpreter and the parameters to pass to it.

  • Compile TypeScript. Select this option to run the built-in TypeScript compiler and thus make sure that all the changes you made to your TypeScript code are reflected in the generated JavaScript files. In the TypeScript Compile Settings dialog that opens, select or clear the Check errors check box to configure the behaviour of the compiler in case any errors are detected:
    • If the Check errors check box is selected, the compiler will show all the errors and the run configuration will not start.
    • If the Check errors check box is cleared, the compiler will show all the detected errors but the run configuration still will be launched.
  • Generate CoffeeScript Source Maps. Select this option to have the source maps for your CoffeeScript sources generated. In the dialog that opens, specify where your CoffeeScript source files are located. For more information, see CoffeeScript Support.
  • Run Remote External tool: Add a remote SSH external tool. Refer to the section Remote SSH External Tools for details.
  • Upload files to Remote Host. Select this option to have the application files automatically uploaded to the server according to the default server access configuration. For more information, see Configuring Synchronization with a Web Server and Uploading and Downloading Files.
delete Alt+Delete Click this icon to remove the selected task from the list.
edit1 Enter Click this icon to edit the selected task. Make the necessary changes in the dialog that opens.
arrowUp Alt+Up Click this icon to move the selected task one line up in the list.
arrowDown Alt+Down Click this icon to move the selected task one line down in the list.
Show this page Select this check box to have the run/debug configuration settings shown prior to actually starting the run/debug configuration.
Active tool windowSelect this option if you want the Run/Debug tool windows to be activated automatically when you run/debug your application. This option is enabled by default.

See Also

Last modified: 29 August 2016