IntelliJ IDEA 2025.1 Help

在 Chrome 中调试 JavaScript

IntelliJ IDEA 为您的 client-side JavaScript 代码提供内置调试器。

以下是一些指导,帮助您开始使用这个调试器的基本步骤。

开始之前

  1. 确保在设置中启用 JavaScript and TypeScript捆绑插件。 按 Ctrl+Alt+S 打开设置,然后选择 插件。 点击 已安装 选项卡。 在搜索字段中,输入 JavaScript and TypeScript。 如需了解有关插件的更多信息,请参阅 管理插件

  2. 请确保在设置中启用 JavaScript Debugger 捆绑插件。 按 Ctrl+Alt+S 打开设置,然后选择 插件。 点击 已安装 选项卡。 在搜索字段中,输入 JavaScript Debugger。 如需了解有关插件的更多信息,请参阅 管理插件

  3. 按照 配置 JavaScript 调试器 中的描述配置内置调试器。

    要使您对 HTML、CSS 或 JavaScript 代码所做的更改在不重新加载页面的情况下立即在浏览器中显示,请激活 Live Edit功能。 有关实时编辑功能的更多信息,请参阅 在 HTML、CSS 和 JavaScript 中实时编辑

调试正在内置服务器上运行的应用程序

IntelliJ IDEA 具有内置的 web 服务器,可用于在 web 浏览器或 IDE 内置浏览器中预览和调试您的应用程序。 此服务器始终运行,无需任何手动配置。

开始调试

  1. 在 JavaScript 代码中根据需要设置 断点

  2. 打开引用 JavaScript 进行调试的 HTML 文件或在 项目工具窗口中选择 HTML 文件。

  3. 从编辑器或选定内容的上下文菜单中选择 调试<HTML_file_name>。 IntelliJ IDEA 生成调试配置,并通过它启动调试会话。 文件将在浏览器中打开,并且 调试工具窗口 会出现。

  4. 调试 工具窗口中,按常规操作: 逐步执行程序停止并恢复程序执行、 在挂起时检查程序查看实际的 HTML DOM在控制台中运行 JavaScript 代码片段等。

示例

假设您有一个简单的应用程序,其中包含一个 index.html 文件和一个 index.js 文件,其中 index.html 引用 index.js

要使用内置服务器开始调试此应用程序,请在 index .js 中设置断点,在编辑器中打开 index .html ,然后从上下文菜单中选择 调试 'index.html'

从编辑器开始调试会话

IntelliJ IDEA 会自动创建一个 运行/调试配置 ,然后调试会话开始。

调试会话开始,应用程序在浏览器中打开

要重新启动新的运行/调试配置,请从列表中选择它,然后点击 “调试”按钮

重新启动调试会话

在浏览器中重新加载当前页面

除了通过点击 重新运行 按钮(重新运行按钮 )在 调试 工具窗口中重新启动您的应用程序,您还可以使用 在浏览器中重新加载 操作重新加载您当前导航到的页面。 这与 Chrome 中的 重新加载页面功能(Ctrl+R )的工作方式相同。

  • 要重新加载当前页面,请点击工具栏上的 更多图标 并选择 在浏览器中重新加载 (在浏览器中重新加载)。

    在浏览器中重新加载操作

下面的示例展示了一个由两个 HTML 页面和一个 JavaScript 脚本组成的简单应用程序。 起始 home.html 页面上有一个 提交 按钮,点击该按钮后, calculator.html 页面将打开,显示 Calculator.js 脚本执行的结果。

调试会话期间,点击 重新运行 按钮(重新运行按钮 )将使用 提交 按钮重新加载 home.html 页面。 点击 在浏览器中重新加载 按钮(“浏览器中重新加载”按钮 )会重新加载 calculator.html 页面,从而清除所有先前的脚本输出,并且调试器返回到 Calculator.js 的第 1 行。

在浏览器中重新加载当前页面

调试运行在开发模式下 localhost 上的应用程序

如果您的应用程序在 localhost 的开发模式下运行,您可以从内置的 终端Alt+F12 ),从 运行工具窗口或从 调试工具窗口开始调试。 只需按住 Ctrl+Shift 并点击应用程序正在运行的 URL。

  1. 在您的代码中设置 断点

  2. 在开发模式下启动应用程序,例如,使用 npm 脚本。

  3. 运行 工具窗口或 终端 显示您的应用程序运行的 URL。 按住 Ctrl+Shift 并点击此 URL 链接。 IntelliJ IDEA 启动一个调试会话,并自动生成 类型为 JavaScript Debug的配置。

    如果您从 New Terminal 以开发模式启动了应用程序,您只需点击链接旁边的 在浏览器中启动调试 按钮即可。

    新终端:浏览器中开始调试按钮

这同样适用于调试 Vue.jsAngularReactNode.js 应用程序。

调试运行在远程 Web 服务器上的应用程序

您可能经常需要调试在外部开发 Web 服务器上运行的应用程序的客户端 JavaScript。

什么是远程 Web 服务器?

在 IntelliJ IDEA 中,任何 document root 位于当前项目之外的服务器都称为 remote。 该服务器可能实际上运行在物理远程主机或您的机器上。

例如,如果您的项目位于 C:/IntelliJ IDEAProjects/MyProject ,而网络服务器文档根目录是 C:/XAMPP/htdocs ,那么对于 IntelliJ IDEA 来说,该网络服务器就是 remote

如何将服务器上的应用程序源代码与 IntelliJ IDEA 项目中的本地副本同步?

远程 Web 服务器上调试应用程序时,您需要在 一个 IntelliJ IDEA 项目中拥有其源代码的副本。 要同步本地和远程源,请创建 部署配置 ,如 创建远程服务器配置连接到 Web 服务器 中所述。

在远程 Web 服务器上调试应用程序

  1. 在 JavaScript 代码中根据需要设置 断点

  2. 创建一个 JavaScript 调试 类型的运行/调试配置:

    转到 运行 | 编辑配置 ,然后在 编辑配置 对话框中,在打开的 编辑配置 对话框中,点击工具栏上的 添加 按钮("添加"按钮 ),并从列表中选择 JavaScript调试

  3. 运行/调试配置:JavaScript 调试对话框中,指定应用程序运行的 URL 地址。 此 URL 地址应根据 服务器访问配置 ,将 Web 服务器根 URL 与 HTML 文件相对于 web 服务器文档根目录的路径连接起来。 如需更多信息,请参阅 连接到 Web 服务器

    点击 OK 保存配置设置。

  4. 在工具栏上的 选择 运行/调试配置 列表中选择新创建的配置,然后点击 调试 按钮 启动调试器。 在运行配置中指定的 HTML 文件会在选择的浏览器中打开,并会显示 Debug 工具窗口

  5. 调试 工具窗口中,按常规操作: 逐步执行程序停止并恢复程序执行、 在挂起时检查程序查看实际的 HTML DOM在控制台中运行 JavaScript 代码片段等。

示例:无需映射进行调试

假设您有一个简单的应用程序,它由一个 index.html 文件和一个 App.js 文件组成,其中 index.html 引用 App.js

  1. 现在让我们将简单的应用程序部署到本地 Web 服务器,请参阅 部署。 在以下示例中,它是 Apache:

    在外部 Web 服务器上调试 JavaScript:远程主机上的已上传源码
  2. 当使用本地 Web 服务器,例如 Nginx 或 Apache(如本例所示),或者 Web 服务器在远程主机上时,您需要创建一个 Run/Debug 配置来启动 JavaScript 调试器。 要执行该操作,请点击 IntelliJ IDEA 窗口右上角的列表,然后选择 编辑配置。 或者,从主菜单中选择 运行 | 编辑配置

    在外部 web 服务器上调试 JavaScript:打开 编辑配置 对话框

    运行/调试配置 对话框中,点击 并从列表中选择 JavaScript调试

    创建 JavaScript 调试配置

    指定您正在运行的应用程序的 URL,在我们的示例中是 http://localhost:8888/MySimpleApp/index.html

    运行您的应用程序的 URL

    在我们的示例中,本地项目结构与服务器上的文件结构相同,因此不需要映射。

  3. 现在我们可以开始调试了:从 IntelliJ IDEA 窗口右上角的列表中选择新的运行/调试配置,然后点击 “调试”按钮:

    编辑器、主菜单和工具栏

    调试 工具窗口中,按常规操作: 逐步执行程序停止并恢复程序执行、 在挂起时检查程序查看实际的 HTML DOM在控制台中运行 JavaScript 代码片段等。

映射

Mappings 设定了 Web 服务器上的文件与其本地副本之间的对应关系。 您需要 mappings:

  • 当您的应用程序部署并在 remote Web 服务器上运行时。

  • 当您定义了多个资源根文件夹(除了项目根目录之外)。

IntelliJ IDEA 尝试根据 部署配置 或基于文件和脚本名称及内容来猜测路径映射。 但是,如果您的应用程序结构复杂,则需要手动指定路径映射。

配置映射

  1. 创建一种类型为 JavaScript Debug 的调试配置,如在 调试应用程序 中所述。

  2. 本地文件的远程 URL 区域中,根据当前使用的 部署配置 ,将文件和文件夹映射到服务器上文件和文件夹的 URL 地址,请参阅 将本地文件夹映射到服务器上的文件夹并访问它们的 URL 地址

示例:启动调试 (mapping)

假设由于某种原因,您决定更改应用程序的文件夹结构,将 前一个示例中的 index.html App.js 移动到一个单独的文件夹

本地文件夹的结构与远程 Web 服务器上的文件夹结构不同

由于本地源代码与网页服务器上的应用程序结构不同,调试器将无法将本地源代码与实际执行的代码同步。

为了解决这个问题,让我们将应用程序根目录的 URL 地址映射到 文件夹。

  1. 开始创建运行/调试配置 如上所述

  2. 运行/调试配置 对话框中,点击 本地文件的远程 URL 区域。

  3. 在打开的对话框中,选择 文件夹下的 MySimpleApp

  4. 远程 URL 字段中,输入应用程序的 URL 地址,我们的示例中是 http://localhost:8888/MySimpleApp

    URL 映射
  5. 保存运行/调试配置并按照 上述说明启动。

如需更多调试示例,请参考 WebStorm 博客中的以下文章: 调试 React 应用程序调试 Angular 应用程序

调试异步代码

IntelliJ IDEA 支持调试异步客户端 JavaScript 代码。 IntelliJ IDEA 能识别异步代码中的断点,停在断点处,并允许您逐步进入此类代码。 一旦异步函数中的断点被触发,或者您进入异步代码, Async call from <caller> 会在 框架 面板的 调试器 选项卡中添加一个新元素。 IntelliJ IDEA 显示完整的调用堆栈,包括调用者和到异步动作开始的整个过程。

调试异步 JavaScript 代码

在上面的示例中,调试器会在第 3 行(断点)处停止,然后在第 5 行(断点)处停止。 点击 步入 时,调试器将在 line5 处(在 function 上)停止,然后移至 line6。

默认情况下启用异步调试模式。 若要禁用异步堆栈跟踪,请在 Registry 中设置 js.debugger.async.call.stack.depth0

调试 workers

IntelliJ IDEA 支持调试 Service WorkersWeb Workers。 IntelliJ IDEA 会识别每个 worker中的断点,并在 框架 窗格的 调试器选项卡 上的 调试工具窗口中将其作为单独的线程显示调试数据。

请注意,IntelliJ IDEA 只能调试 专用工作者 ,目前不支持调试 共享工作者

  1. 断点中设置 Workers进行调试。

  2. 如果您正在使用 Service Workers ,请确保在 允许未签名请求 复选框选中 设置| 构建、执行、部署 | 调试器调试器页面上。 否则,您的 service workers 可能在调试会话期间不可用。

  3. 如上所述,在 JavaScript Debug类型中创建一个调试配置,见 调试在外部 Web 服务器上运行的客户端 JavaScript

  4. 从工具栏上的 运行 部件列表中,选择新创建的 配置,然后点击其旁边的 “调试”按钮

    运行配置中指定的 HTML 文件将在浏览器中打开,并且 调试工具窗口会打开,其中显示了 框架 所有可用 Workers的列表:

    调试 Service Workers

    要检查 Worker 的数据(变量、watches 等),请选择列表中的线程并在 变量监视 窗格中查看其数据。 当您选择另一个 Worker时,窗格的内容会相应更新。

调试 Chrome 扩展

您可以在 IntelliJ IDEA 中使用 Attach to Node.js/Chrome 类型的运行/调试配置调试 Chrome 扩展。 请注意,您需要使用 自定义 Chrome 用户数据配置文件 启动 Chrome,了解更多信息请参阅 使用默认的 Chrome 用户数据启动调试会话

创建 Attach to Node.js/Chrome 运行/调试配置

  1. 前往 运行 | 编辑配置。 或者,从工具栏上的 编辑配置 小部件中选择 运行

    打开编辑配置对话框

    在打开的 编辑配置 对话框中,点击工具栏上的 添加 按钮("添加"按钮 ),然后从列表中选择 附加到 Node.js/Chrome

    选择“Attach to Node.js /Chrome”配置类型

    运行/调试配置:附加到 Node.js/Chrome 对话框打开。

  2. 指定配置名称并接受预定义的主机和端口值 localhost:9229

    创建 Attach to Node.js/Chrome 运行/调试配置
  3. 点击 应用OK 以保存配置并退出对话框。

运行 Chrome 并加载扩展

  1. 从命令行运行 Chrome 以指定远程调试端口和 您的 Chrome 用户数据目录

    打开嵌入的 终端Alt+F12 ),然后输入:

    <path_to_chrome_executable> --remote-debugging-port=<port_specified_in_run_configuration> --user-data-dir=<your_Chrome_user_data_directory>
  2. 加载您的未打包扩展 到打开的 Chrome 窗口中。

开始调试

  1. 设置断点 所需的位置。

  2. 从工具栏上的 运行 部件列表中,选择新创建的 附加到 Node.js/Chrome 配置,然后点击其旁边的 “调试”按钮

    选择 Attach to Node.js/Chrome 配置

    调试工具窗口打开。

  3. 转到加载了扩展的 Chrome 标签页。

  4. 切换到 IntelliJ IDEA. 在 调试 工具窗口中, 逐步执行断点 ,切换帧,动态更改值, 检查挂起的程序评估表达式 ,并 设置监视

最后修改日期: 2025年 4月 24日