如何在 VSCode (Visual Studio Code) 中同时调试 HTML 和 JavaScript?
Posted
技术标签:
【中文标题】如何在 VSCode (Visual Studio Code) 中同时调试 HTML 和 JavaScript?【英文标题】:How do I debug HTML and JavaScript together in VSCode (Visual Studio Code)? 【发布时间】:2015-09-13 06:56:25 【问题描述】:当我点击 F5 时,我想在迷你网站中运行和调试带有 javascript 文件的 html 页面。
如何配置 VSCode 以在浏览器中打开 html 页面,然后允许我在 javescript 文件中设置断点,这将由我在浏览器中与应用程序的交互触发?
在 Visual Studio 中,这将“正常工作”,因为它会启动自己的 Web 服务器 IIS Express。在 VSCode 中,我不确定如何设置 launch.json 和/或 tasks.json 来创建简单的 node.js Web 服务器并提供 index.html。
我见过一些调试 javascript 应用程序的示例,例如这个 launch.json:
"version": "0.1.0",
"configurations": [
"name": "Launch Bjarte's app",
"type": "node",
"program": "app.js",
"stopOnEntry": true,
"args": [],
"cwd": ".",
"runtimeExecutable": null,
"runtimeArguments": [],
"env": ,
"sourceMaps": false
,
"name": "Attach",
"type": "node",
"address": "localhost",
"port": 5858,
"sourceMaps": false
]
这将运行 js 文件,但我不明白如何与应用交互。
【问题讨论】:
【参考方案1】:现在可以使用 Microsoft 发布的扩展程序通过 Chrome 远程调试在 vscode 中调试 Chrome 网页。 Debugger for Chrome
从该页面可以看出,有两种调试模式,Launch 和 Attach。我只设法使用附加模式,可能是因为我没有运行服务器。此扩展具有所有重要的调试工具功能:局部变量、断点、控制台、调用堆栈。
重新访问 vscode 的另一个原因是它现在具有对 ECMAScript 6 的 IntelliSense 支持,它显示了在我尝试过的其他“类似 IntelliSense”的解决方案中不可见的方法,例如 SublimeCodeIntel 或最新版本的 WebStorm。
【讨论】:
【参考方案2】:似乎我想做的事情在 VSCode 中是不可能的(但是?)。我目前的解决方案是使用节点包live-server。使用
安装> npm install -g live-server
然后打开 VSCode,右键单击项目根文件夹中的任意文件,然后选择“在控制台中打开”。然后输入
> live-server
以您的项目作为根文件夹启动服务器。 Live-server 将打开您的默认浏览器并监视您的项目文件夹是否有任何文件更改,并在您每次进行任何更改时重新加载 html 页面。
我应该提一下,我使用 live-server 的解决方案不允许我在 VSCode 中调试我的应用程序,只能在浏览器中运行它。我正在 Chrome 中调试。
【讨论】:
【参考方案3】:就像其他人说你安装这个:
您可以使用https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome
如果您运行的不是本地主机而是一些 HTML 和 JavaScript,您可以使用此 launch.json 代码。
"version": "0.2.0",
"configurations": [
"name": "Launch index.html",
"type": "chrome",
"request": "launch",
"file": "$workspaceFolder/index.html"
]
【讨论】:
请注意,如果您愿意,可以使用 Firefox 调试器提供类似的解决方案。【参考方案4】:VSCode 将使用节点启动您的应用程序,这意味着您的应用程序正在某个端口上运行。您可以通过访问http://localhost:PORT/ 与您的应用进行交互 如果您在 app.js 中设置断点,则应该在您访问通过节点在本地运行的站点时点击它。 这是一个很好的演示https://channel9.msdn.com/Blogs/cloud-with-a-silver-lining/hello-visual-studio-code-nodejs
【讨论】:
感谢您的回复,但是我不明白如何使用视频中的信息来运行显示 HTML 文件的 node.js 服务器。我看到的这个和其他指南的问题是,他们只使用 JavaScript 创建整个站点,但我想创建一个简单的 HTML 页面,只添加一点 JavaScript。【参考方案5】:我不想只为一些 HTML 和 JavaScript 运行服务器(与类似示例不同),这个 VS Code 启动配置以及“Debugger for Chrome”扩展在我的 Windows 10 机器上实现了这一点:
"version": "0.2.0",
"configurations": [
"name": "Launch HTML file",
"type": "chrome",
"request": "launch",
"file": "$file"
]
【讨论】:
【参考方案6】:如果你在 C:\C#\mypage.htm 这样的路径中有 #,你可以使用 FF & ex。 fileBasename 或 Similar variable - 在 Chrome 中不起作用:
.vscode\launch.json
"version": "0.2.0",
"configurations": [
"name": "Launch HTML file",
"type": "firefox",
"request": "launch",
"file": "C:/C%23/$fileBasename"
]
或用 node.js 测试的简单完整路径:
"version": "0.2.0",
"configurations": [
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "$workspaceFolder/$fileBasename"
]
【讨论】:
【参考方案7】:你可以使用https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome
在 launch.json 中,您只需输入您正在使用的服务器的 url 值,然后您就可以使用编辑器 Visual Studio 代码调试您的 html + js
"version": "0.2.0",
"configurations": [
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://127.0.0.1:8081",
"webRoot": "$workspaceFolder"
]
【讨论】:
以上是关于如何在 VSCode (Visual Studio Code) 中同时调试 HTML 和 JavaScript?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中将 Visual Studio Emulator 与 VScode 连接起来?
如何在 VSCode (Visual Studio Code) 中同时调试 HTML 和 JavaScript?
如何在Visual Studio中运行任务表单.vscode / tasks.json(2019或更高版本)
如何在 Linux 中安装 Visual Studio Code