如何在 VSCode 中调试 Deno

Cla*_* Li 19 visual-studio-code deno

我们如何配置.vscode/launch.json来调试 Deno 项目?

当我在时 VSCode 提供的 IntelliSense 没有为 Deno 提供configurations选项。或者是否有扩展?

Eva*_*tti 20

您需要根据 deno 手册附加调试器。

创建.vscode/launch.json替换<entry_point>为您的实际脚本,然后F5.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Deno",
            "type": "node",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "runtimeExecutable": "deno",
            "runtimeArgs": ["run", "--inspect-brk", "-A", "<entry_point>"],
            "port": 9229
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

它会停在你在 VS Code 上设置的断点处,在这里尝试过,效果很好。

关于 VS Code 插件:

插件的官方支持正在进行中 - https://github.com/denoland/vscode_deno/issues/12

  • 已投赞成票。我还必须添加 `"outputCapture": "std"` 才能在调试控制台中查看日志。 (12认同)
  • 在 github 和 google 上花了几个小时之后,这很快就成功了。注意:必须为控制台日志添加 `"outputCapture": "std"`。谢谢@ford04 (3认同)
  • 此配置无法进行调试。您还需要在设置中设置 `"debug.javascript.usePreview": false` 因为 https://github.com/denoland/vscode_deno/issues/12#issuecomment-656406826 (3认同)

Ede*_* Lu 8

要调试当前文件,您可以使用以下配置:)

"outputCapture": "std" 允许 deno 打印到 VS 代码控制台

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Deno",
            "type": "node",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "runtimeExecutable": "deno",
            "runtimeArgs": ["run", "--inspect-brk", "-A", "${fileBasename}"],
            "outputCapture": "std",
            "port": 9229
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

PS 刚刚添加到 Evandro Pomatti 的回答中


for*_*d04 8

v2.3.0开始,官方VS Code Deno 扩展带有方便的调试支持

来自公关的截屏:

在此处输入图片说明

新鲜项目

您已经可以按F5下来调试活动文件而无需launch.json(非常有用)。

launch.json使用Deno条目自动生成:按CTRL+ Shift+ D(打开调试视图)?“创建一个launch.json文件”?德诺

在现有中添加 Deno 条目 launch.json

Add Configuration...打开launch.json(见上面的截屏视频)。 F5现在将触发当前活动的调试启动操作。

启动活动文件

要在已配置的情况下调试当前活动的文件launch.json,请更改:
{
  "type": "pwa-node",
  "program": "${file}", // change "program" value to "${file}"
  // ...
},
Run Code Online (Sandbox Code Playgroud)

创建调试选择快捷方式

// Inside keybindings.json
{
    "key": "ctrl+alt+d",
    "command": "workbench.action.debug.selectandstart",
    "args": "Start debug task"
},
Run Code Online (Sandbox Code Playgroud)

快捷方式被称为"Debug: Select and Start Debugging"- 另请参阅此相关帖子

在调试控制台中启用日志输出

要在调试控制台中显示日志输出,我仍然需要添加"outputCapture": "std"到配置条目中。更多信息:

有关的