javascript 使用Visual Studio代码调试Chrome扩展

c0vxltue  于 2023-01-19  发布在  Java
关注(0)|答案(4)|浏览(198)

bounty将在7天后过期。回答此问题可获得+100的声誉奖励。Brad正在寻找来自声誉良好来源的答案:奖金将颁发给一个答案,显示适当的launch.json细节启动Chrome/ chrome 与一个解压缩的扩展(如通过--load-extension=${workspaceFolder}),如何然后开始一个调试会话,其中断点和什么不能在VS代码中设置。

有人知道是否可以用Visual Studio代码调试Chrome扩展吗?我读过的所有例子都涉及到一个带有url的真实的网页。

xqkwcwgp

xqkwcwgp1#

对于那些还在寻找答案的人(比如我,之前),我已经找到了真实的的解决方案,这是假设你已经安装了Debugger for Chrome
不像Firefox那样支持本地配置,您需要在运行Chrome之前提供参数来加载扩展,特别是load-extension参数。
.vscode/launch.json文件中的Chrome配置对象中添加这一行。这假定manifest.json文件直接位于workspace文件夹中。如果manifest.json文件位于另一个文件夹中,请相应地更改${workspaceFolder}

{
    "runtimeArgs": ["--load-extension=${workspaceFolder}"]
}

例如,这就是我在工作区中对launch.json文件执行此操作的方式。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome",
            "url": "https://example.com/#this-could-be-anything",
            // Here it is!
            "runtimeArgs": ["--load-extension=${workspaceFolder}"]
        },
        { 
            // Firefox equivalent
            "type": "firefox",
            "request": "launch",
            "name": "Launch Firefox",
            "url": "https://example.com/#this-could-be-anything",
            "addonPath": "${workspaceFolder}"
        }
    ]
}
e4eetjau

e4eetjau2#

可以使用attach选项调试在网页上运行的扩展代码。

{
    "type": "chrome",
    "request": "attach",
    "name": "Chrome Extension debugging",
    "port": 9222,
    "url": "<URL>",
    "webRoot": "${workspaceFolder}/extension"
}

在调试模式下启动Chrome之前,请记住关闭所有打开的Chrome示例:

.\chrome.exe --remote-debugging-port=9222

更多信息请访问:vscode-chrome-debug on GitHub

vyswwuz2

vyswwuz23#

不幸的是,目前只能使用Chrome DevTool调试Google Chrome扩展。... -〉更多工具-〉扩展-〉您的扩展-〉Inspect views background page
关于vscode-chrome-debug

支持的功能

  • 设置断点,包括在启用源Map时在源文件中设置断点
  • 单步执行,包括使用Chrome页面上的按钮
  • 局部变量窗格
  • 调试eval脚本、script标记和动态添加的脚本
  • 手表
  • 控制台
    不支持的方案
  • 调试Web辅助进程
  • 调试Chrome扩展
  • 任何不是脚本调试的功能
mo49yndu

mo49yndu4#

是的,它的工作,它是可能的调试扩展...
使用Debugger for Chrome extension ..
首先确保你已经关闭了所有的chrome窗口...并配置一个“附加”调试选项,如下所示...

{
     "type": "chrome",
     "request": "attach",
     "name": "Attach to Chrome",
     "port": 9222,
     "webRoot": "${workspaceFolder}/src", <-- path to the root of the extension
     "url": "https://calendar.google.com/calendar/r" <-- Replace with the url (public or private) on which you want to debug your extension ...
      // IMPORTANT this url must exactly match the one in the address bar of the browser ..
  }

然后使用以下命令打开chrome:

google-chrome --remote-debugging-port=9222

...然后导航到要调试扩展的URL ...
...最后,也只有在那时...在vscode上启动调试会话...

相关问题