在 Atom 中,我可以通过打开开发人员工具 (++) 并浏览 JavaScript 文件来调试已安装Option的Cmd扩展I,~/.atom/packages
例如
可以在 VSCode 中执行此操作吗?通过Help -> Toggle Developer Tools打开开发人员工具后,我能找到的唯一与扩展相关的文件是图标图像:
在 Atom 中,我可以通过打开开发人员工具 (++) 并浏览 JavaScript 文件来调试已安装Option的Cmd扩展I,~/.atom/packages
例如
可以在 VSCode 中执行此操作吗?通过Help -> Toggle Developer Tools打开开发人员工具后,我能找到的唯一与扩展相关的文件是图标图像:
$ PID=$(pgrep -f "^/Applications/Visual Studio Code\.app/.*--type=extensionHost")
$ echo $PID
35791
参数-f
告诉pgrep
将模式与完整的进程参数字符串匹配,而不仅仅是进程名称。
$ kill -SIGUSR1 $PID
(这不会产生任何输出。)
lsof
:$ lsof -p $PID -a -i4tcp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Code\x20H 35791 tim.vergenz 58u IPv4 0x8af67df8a9aa26a8 0t0 TCP localhost:63767 (LISTEN)
论据解释:
-p
表示按PID过滤-i4tcp
表示按 Internet 地址过滤(4tcp
仅表示 IPv4 / tcp 协议)-a
通过 AND 而不是默认的 OR 组合了两个过滤器在“NAME”列中,您将找到您的 VS Code 扩展主机进程正在侦听的主机和端口——即在上面的示例中,localhost:63767
.
您可能需要手动添加~/.vscode/extensions
到工作区以浏览文件并添加断点:
...并单击“允许”授予它权限:
由于VS Code 如何实现其调试 UI 和调试协议,这是不可能的(但我对此不是 100% 确定)。
调试适配器是 VS Code 可扩展架构的一部分:它们作为扩展提供。它们与其他扩展的不同之处在于调试适配器代码不在扩展主机中运行,而是作为单独的独立程序运行。
您可以在调试器思想下轻松运行扩展。您将需要扩展源文件和调试器启动配置。
您可以在VS Code 文档中找到有关运行和调试扩展的更多信息。
您还可以检查启动配置的示例扩展字数。
我希望这对您在 vs 代码扩展开发中有所帮助您可以通过这种方式设置调试环境
{
"version": "0.2.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
]
}
]
}
如果扩展不适合您,您只需运行步骤 5 和 6