最近突然某一天开始没办法通过Debugger for Chrome这个扩展调试前端程序了。
报如下错误:
[Window Title]
Visual Studio Code
[Content]
Unable to launch browser: "Unable to find Chrome version stable. Available auto-discovered versions are: ["dev"]. You can set the "runtimeExecutable" in your launch.json to one of these, or provide an absolute path to the browser executable."
[打开 launch.json] [取消]
我的launch.json
如下:
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:4000",
"webRoot": "${workspaceFolder}/src",
}
]
}
看了很多issue,有说需要在launch.json
添加runtimeExecutable
参数的,有说需要改msjsdiag.debugger-for-chrome
的,但是都不解决问题。
这里我们需要明确一个问题,就是这个Chrome debug的原理,很简单,就是:
- 我们在本地安装Debugger for Chrome这个扩展
- 这个扩展让VSCode在开始调试时启动本地的Chrome
- 扩展与Chrome通过既定协议通信
所以这个明显是在本地启动,不可能需要改成远程启动;另外由于之前是可以调试的,现在不行了,说明启动路径也不会是问题。因此需要怀疑Debugger for Chrome这个扩展本身有问题。
最后找到了这个issue,里面说只要开启了debug.chrome.useV3
或debug.javascript.usePreview
, 则会走新版的debugger。我看了一下我的配置,发现新版的Debugger for Chrome已经把debug.javascript.usePreview
的默认值设置为true了。所以我们把它手动设置为false就好。
PS: 如果确实需要使用新版debugger,则需要把launch.json
里的type
从chrome
改成pwa-chrome
。
Comments
注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。