Javascript 从Visual Studio代码中启动Chrome并进行调试

Javascript 从Visual Studio代码中启动Chrome并进行调试,javascript,google-chrome,debugging,visual-studio-code,Javascript,Google Chrome,Debugging,Visual Studio Code,我正在使用VisualStudio代码调试一些前端javascript(用于Wordpress插件)。我无法正确配置launch.json文件 我可以手动启动chrome,然后在事后附加到它(使用附加请求),在这种情况下javascript断点可以正常工作 如果我从vscode中启动chrome(使用启动请求),它确实会连接(我看到控制台输出),但不会触发断点。我假设launch.json文件中的某些设置不正确 { "version": "0.2.0", "configurations": [

我正在使用VisualStudio代码调试一些前端javascript(用于Wordpress插件)。我无法正确配置launch.json文件

我可以手动启动chrome,然后在事后附加到它(使用附加请求),在这种情况下javascript断点可以正常工作

如果我从vscode中启动chrome(使用启动请求),它确实会连接(我看到控制台输出),但不会触发断点。我假设launch.json文件中的某些设置不正确

{
"version": "0.2.0",
"configurations": [
    {
        "name": "Launch Signup Form",
        "type": "chrome",
        "request": "launch",
        "url": "http://myclient.dev/signup-form",
        "sourceMaps": true,
        "webRoot": "../../..",
        "runtimeArgs": [
            "--remote-debugging-port=9222"
        ]
    },

    {
        "name": "Attach",
        "type": "chrome",
        "request": "attach",
        "port": 9222
    }
]
}

我已经尝试了所有我能想到的web根目录(包括“htdocs”中web根目录的完整本地路径和上面看到的相对路径。它似乎不在乎我在那里放了什么,所以可能我找错了树

本地项目文件夹位于此处:

/home/me/code/vagrant local/www/wordpress-myclient/htdocs/wp-content/plugins/cee注册表格

在服务器上,映射到:

http://myclient.dev/wp-content/plugins/cee-signup-form

在“注册表单”页面中,我使用完整的url包含了有问题的javascript文件

显然,我可以手动转到url,然后在每次需要调试时附加它,但是单击一下启动和调试就可以了


我做错了什么?

在我的例子中,在Ubuntu 14.04上,添加了

"runtimeExecutable": "/usr/bin/chromium-browser"

不过,我必须提前启动chrome。

事实证明,这是VSCode中的一个bug,在最新版本(1.2.1)中已修复。更新后,我必须做三件事

更新Chrome扩展插件

在VSCode中,按CTRL+p打开命令选项板,然后:

Extensions: Show Outdated Extensions
此时,它将允许您更新它们。请在此处了解更多信息:

编辑启动配置

它们现在需要web根的绝对路径。因此,我必须更改
launch.json
文件的
webRoot
属性,以显式包含工作区根

"webRoot": "${workspaceRoot}/../../..",
调试前关闭Chrome的所有副本


这很烦人。但它可以工作。

请按照以下步骤操作:

  • 检查您是否安装了“VS代码-Chrome调试器”扩展
  • 首先将此代码放在.vscode/launch.json中:
  • {
    “版本”:“0.2.0”,
    “配置”:[
    {
    “类型”:“节点”,
    “请求”:“启动”,
    “名称”:“节点”,
    “港口”:9229,
    “协议”:“检查员”,
    “runtimeExecutable”:“npm”,
    “runtimeArgs”:[“运行脚本”,“开始”],
    “控制台”:“集成终端”
    },
    {
    “类型”:“铬”,
    “请求”:“启动”,
    “名称”:“铬”,
    “url”:”http://localhost:3000",
    “webRoot”:“${workspaceRoot}/client/src”
    }
    ],
    “化合物”:[
    {
    “名称”:“完整堆栈”,
    “配置”:[“节点”,“浏览器”]
    }
    ]
    }
    
  • 在VS代码中转到调试模式,并从“完整堆栈”开始

  • 启动npm


  • 参考此:

    Hi@LennartKloppenburg,谢谢你的建议。我已经编辑并格式化了。Hi Vijay,此配置仍然有效吗?我在vscode 1.16.1上遇到一个错误。基本上我有一个JS文件,其中包含一些代码,当我尝试调试时无法连接到运行时进程,10000毫秒后超时-(原因:无法连接到目标:connect ECONREFUSSED 127.0.0.1:9229)。