6

我是 Visual Studio Code、Javascript 和 Node.js 的新手。

来自 C# 我想在调试控制台中设置断点来调试这样的东西:

var name = Console.readline();
Console.Writeline(name);

这似乎很简单,但我失败了。到目前为止我发现的是,之后

npm install sget 

我可以在集成终端中运行 app.js,它会以交互方式工作。但这忽略了我的断点。

那么,如何使用 readline-functionality 和断点集呢?

谢谢-piccus

编辑:谢谢暹罗,

我已经找到了您引用的代码。放好后

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question('What do you think of Node.js? ', (answer) => {
  // TODO: Log the answer in a database
  console.log(`Thank you for your valuable feedback: ${answer}`);

  rl.close();
});

进入我的 app.js 并按 F5,Debug-Control-Panel提示:

node --debug-brk=38079 --nolazy app.js 
Debugger listening on [::]:38079
What do you think of Node.js? 

不幸的是,这是调试的结束。无论我在调试控制面板下方的命令行中填写什么,结果总是

nicht verfügbar  

什么可能代表“不可用”。没有到达进一步的断点。

从单独的 powershell 运行该代码将正常运行,但当然不关心调试器。

皮库斯

4

3 回答 3

12

将此行添加到您的 launch.json 文件中:

"console": "externalTerminal" 
于 2018-04-23T19:33:37.263 回答
3

如果您想在 VSCode 中使用终端,请将其添加到您的 launch.json 文件中的配置块中:

"console": "integratedTerminal"

这将允许您从控制台读取输入。您的调试点也将起作用。

确保您不要混淆选择“internalConsole”,因为这将不允许您从程序中读取输入(请参阅下图)

在此处输入图像描述

于 2021-03-29T07:54:39.410 回答
-1

你到底想达到什么目的?您想从控制台读取行并回显给您吗?也许这会有所帮助。https://nodejs.org/api/readline.html

于 2016-12-12T12:52:21.130 回答