我可以 运行 并在 VSCode 中调试 deno 项目吗?
Can I run and debug deno project in VSCode?
我是 typescript 和 deno 的新手,也是 vscode。
首先,我用 vscode 试了一下,但失败了,然后用 IntelliJ 试了一下。
我可以 运行 并使用 deno 插件在 Intellij 中调试简单的 .ts 文件。
但我想知道如何在 vscode 中执行此操作(还安装了 deno 插件,https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno)。
我的设置是...
.vscode/settings.json
{
"deno.enable": true,
"deno.lint": true,
"deno.unstable": true
}
.vscode/launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"request": "launch",
"name": "Launch Program",
"type": "pwa-node",
"program": "${workspaceFolder}/main.ts",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "deno",
"runtimeArgs": [
"run",
"--unstable",
"--inspect",
"--allow-all"
],
"attachSimplePort": 9229
}
]
}
示例代码
console.log("Hello, World!");
当我 运行 使用 Run without Debugging
只显示如下图,但预计输出 Hello, World!
.
而且似乎调试也不起作用。
请帮忙。
使用 --inspect
调试对相对较短的程序不起作用,因为它不等待调试器连接。所以当运行短节目the execution finishes before VS Code connects to the inspector。在较大的程序中,这不会成为问题。
为了调试只有几行长的 Deno 程序,给出了两个选项 in this thread:
- 使用
--inspect-brk
而不是 --inspect
,这应该允许调试器有足够的时间连接和命中断点
- 调试时在代码中加入一些延时,例如:
const _sleep = async () => {
await new Promise(resolve => setTimeout(resolve, 2000));
}
await _sleep();
console.log("Hello World!"); <-- Here, you could add a breakpoint
到 运行 无需调试,您也可以添加 --inspect-brk
,但您必须在会话开始后按 F5 或单击 'Continue'。或者,您可以使用 --inspect
并添加 sleep
函数
我是 typescript 和 deno 的新手,也是 vscode。
首先,我用 vscode 试了一下,但失败了,然后用 IntelliJ 试了一下。 我可以 运行 并使用 deno 插件在 Intellij 中调试简单的 .ts 文件。
但我想知道如何在 vscode 中执行此操作(还安装了 deno 插件,https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno)。
我的设置是...
.vscode/settings.json
{
"deno.enable": true,
"deno.lint": true,
"deno.unstable": true
}
.vscode/launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"request": "launch",
"name": "Launch Program",
"type": "pwa-node",
"program": "${workspaceFolder}/main.ts",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "deno",
"runtimeArgs": [
"run",
"--unstable",
"--inspect",
"--allow-all"
],
"attachSimplePort": 9229
}
]
}
示例代码
console.log("Hello, World!");
当我 运行 使用 Run without Debugging
只显示如下图,但预计输出 Hello, World!
.
而且似乎调试也不起作用。
请帮忙。
使用 --inspect
调试对相对较短的程序不起作用,因为它不等待调试器连接。所以当运行短节目the execution finishes before VS Code connects to the inspector。在较大的程序中,这不会成为问题。
为了调试只有几行长的 Deno 程序,给出了两个选项 in this thread:
- 使用
--inspect-brk
而不是--inspect
,这应该允许调试器有足够的时间连接和命中断点 - 调试时在代码中加入一些延时,例如:
const _sleep = async () => {
await new Promise(resolve => setTimeout(resolve, 2000));
}
await _sleep();
console.log("Hello World!"); <-- Here, you could add a breakpoint
到 运行 无需调试,您也可以添加 --inspect-brk
,但您必须在会话开始后按 F5 或单击 'Continue'。或者,您可以使用 --inspect
并添加 sleep
函数