07月16, 2020

VSCode Remote无法chrome调试前端程序

最近突然某一天开始没办法通过Debugger for Chrome这个扩展调试前端程序了。

image.png

报如下错误:

[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.useV3debug.javascript.usePreview, 则会走新版的debugger。我看了一下我的配置,发现新版的Debugger for Chrome已经把debug.javascript.usePreview的默认值设置为true了。所以我们把它手动设置为false就好。

PS: 如果确实需要使用新版debugger,则需要把launch.json里的typechrome改成pwa-chrome

本文链接:https://debug.fanzheng.org/post/VSCode-Remote-chrome-debug-not-working.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。