如何在 VSCode(Visual Studio 代码)中一起调试 HTML 和 JavaScript?
How do I debug HTML and JavaScript together in VSCode (Visual Studio Code)?
我想 运行 并在我按 F5 时在迷你网站中调试带有 javascript 文件的 html 页面。
如何配置 VSCode 以在浏览器中打开 html 页面,然后允许我在 javescript 文件中设置断点,该断点将在我与浏览器中的应用交互时触发?
在 Visual Studio 这将“正常工作”,因为它启动了自己的 Web 服务器 IIS Express。在 VSCode 中,我不确定如何设置 launch.json and/or tasks.json 来创建一个简单的 node.js 网络服务器并为 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 文件,但我不明白如何与应用程序交互。
VSCode 将使用节点启动您的应用程序,这意味着您的应用程序在某些端口上 运行。您可以通过访问 http://localhost:PORT/ 与您的应用互动
如果您在 app.js 中设置了一个断点,那么一旦您通过节点访问您的 运行 本地站点,它就会被触发。
这是一个不错的演示 https://channel9.msdn.com/Blogs/cloud-with-a-silver-lining/hello-visual-studio-code-nodejs
看来我想做的事情在 VSCode 中是不可能的(还没有?)。我目前的解决方案是使用节点包 live-server。使用
安装
> npm install -g live-server
然后打开 VSCode,右键单击项目根文件夹中的任何文件,然后 select "Open in Console"。然后输入
> live-server
以您的项目作为根文件夹启动服务器。 Live-server 将打开您的默认浏览器并监控您的项目文件夹是否有任何文件更改,并在您每次进行任何更改时重新加载 html 页面。
我应该提一下,我使用 live-server 的解决方案不允许我在 VSCode 中调试我的应用程序,只能在 运行浏览器。我正在 Chrome.
调试
现在可以通过 Chrome 远程调试使用 Microsoft 发布的扩展来调试 vscode 中的 Chrome 网页。
Debugger for Chrome
正如您从该页面中看到的那样,有两种调试模式,Launch 和 Attach。我只能设法使用 Attach 模式,可能是因为我没有服务器 运行。此扩展具有所有重要的调试工具功能:局部变量、断点、控制台、调用堆栈。
重新访问 vscode 的另一个原因是它现在具有对 ECMAScript 6 的 IntelliSense 支持,它显示在我尝试过的其他 "IntelliSense like" 解决方案中不可见的方法,例如 SublimeCodeIntel 或最新版本的WebStorm.
您可以使用 https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome
在 launch.json 中你只需要 pu 你正在使用的服务器的 url 值然后你可以用你的编辑器调试你的 html + js visual studio代码
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://127.0.0.1:8081",
"webRoot": "${workspaceFolder}"
}
]
}
就像其他人说的那样你安装这个:
You can use 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"
}
]
}
我不想 运行 一个服务器只是为了一些 HTML 和 JavaScript(与类似的例子不同)这个 VS 代码启动配置以及 'Debugger for Chrome' 扩展在我的 Windows 10 机器上成功了:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch HTML file",
"type": "chrome",
"request": "launch",
"file": "${file}"
}
]
}
如果你在 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}"
}
]
}
我想 运行 并在我按 F5 时在迷你网站中调试带有 javascript 文件的 html 页面。
如何配置 VSCode 以在浏览器中打开 html 页面,然后允许我在 javescript 文件中设置断点,该断点将在我与浏览器中的应用交互时触发?
在 Visual Studio 这将“正常工作”,因为它启动了自己的 Web 服务器 IIS Express。在 VSCode 中,我不确定如何设置 launch.json and/or tasks.json 来创建一个简单的 node.js 网络服务器并为 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 文件,但我不明白如何与应用程序交互。
VSCode 将使用节点启动您的应用程序,这意味着您的应用程序在某些端口上 运行。您可以通过访问 http://localhost:PORT/ 与您的应用互动 如果您在 app.js 中设置了一个断点,那么一旦您通过节点访问您的 运行 本地站点,它就会被触发。 这是一个不错的演示 https://channel9.msdn.com/Blogs/cloud-with-a-silver-lining/hello-visual-studio-code-nodejs
看来我想做的事情在 VSCode 中是不可能的(还没有?)。我目前的解决方案是使用节点包 live-server。使用
安装> npm install -g live-server
然后打开 VSCode,右键单击项目根文件夹中的任何文件,然后 select "Open in Console"。然后输入
> live-server
以您的项目作为根文件夹启动服务器。 Live-server 将打开您的默认浏览器并监控您的项目文件夹是否有任何文件更改,并在您每次进行任何更改时重新加载 html 页面。
我应该提一下,我使用 live-server 的解决方案不允许我在 VSCode 中调试我的应用程序,只能在 运行浏览器。我正在 Chrome.
调试现在可以通过 Chrome 远程调试使用 Microsoft 发布的扩展来调试 vscode 中的 Chrome 网页。 Debugger for Chrome
正如您从该页面中看到的那样,有两种调试模式,Launch 和 Attach。我只能设法使用 Attach 模式,可能是因为我没有服务器 运行。此扩展具有所有重要的调试工具功能:局部变量、断点、控制台、调用堆栈。
重新访问 vscode 的另一个原因是它现在具有对 ECMAScript 6 的 IntelliSense 支持,它显示在我尝试过的其他 "IntelliSense like" 解决方案中不可见的方法,例如 SublimeCodeIntel 或最新版本的WebStorm.
您可以使用 https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome
在 launch.json 中你只需要 pu 你正在使用的服务器的 url 值然后你可以用你的编辑器调试你的 html + js visual studio代码
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://127.0.0.1:8081",
"webRoot": "${workspaceFolder}"
}
]
}
就像其他人说的那样你安装这个:
You can use 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"
}
]
}
我不想 运行 一个服务器只是为了一些 HTML 和 JavaScript(与类似的例子不同)这个 VS 代码启动配置以及 'Debugger for Chrome' 扩展在我的 Windows 10 机器上成功了:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch HTML file",
"type": "chrome",
"request": "launch",
"file": "${file}"
}
]
}
如果你在 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}"
}
]
}