简体   繁体   中英

Node.js readline in debug-console in Visual Studio Code

I'm new to Visual Studio Code, Javascript and Node.js.

Coming from C# I want to debug something like this with breakpoints set in Debugging-console:

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

It seems to be so simple, but I fail. What I found so far is, that after

npm install sget 

I can run app.js in integrated terminal and it will work interactively. But that ignores my breakpoints.

So, how can I work with readline-functionality and breakpoints set?

Thx -piccus

EDIT: Thank you Siam,

I already found the Code you referenced. After putting

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();
});

into my app.js and pressing F5, the Debug-Control-Panel prompts:

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

Unfortunately that is the end of Debugging. Whatever I fill into the commandline below that Debug-Control-Panel, the result is always

nicht verfügbar  

what probably stands for 'not available'. No further breakpoint is being reached.

Running that Code from seperate powershell will run as it should, but of Course does not care about Debugger.

piccus

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

"console": "externalTerminal" 

If you want to use a terminal within VSCode then add this to the configuration block in your launch.json file:

"console": "integratedTerminal"

This will allow you to read input from the console. Your debug points will work too.

Make sure that you don't select "internalConsole" in confusion as that won't allow you to read input from a program (refer to the image below)

在此处输入图片说明

What you exactly wanna achieve? Do you wanna read line from console and echo back to you? Maybe this will help. https://nodejs.org/api/readline.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM