在调试模式下使用Terminal-Kit包|网络风暴

时间:2019-01-29 09:07:23

标签: node.js webstorm

我正在尝试在Webstorm中调试代码(Shift + F9),但出现错误“错误:终端无法运行”

var term = require( 'terminal-kit' ).terminal ;

var history = [ 'John' , 'Jack' , 'Joey' , 'Billy' , 'Bob' ] ;

var autoComplete = [
    'Barack Obama' , 'George W. Bush' , 'Bill Clinton' , 'George Bush' ,
    'Ronald W. Reagan' , 'Jimmy Carter' , 'Gerald Ford' , 'Richard Nixon' ,
    'Lyndon Johnson' , 'John F. Kennedy' , 'Dwight Eisenhower' ,
    'Harry Truman' , 'Franklin Roosevelt'
] ;

term( 'Please enter your name: ' ) ;

var input = await term.inputField(
    { history: history , autoComplete: autoComplete , autoCompleteMenu: true }
).promise ;

term.green( "\nYour name is '%s'\n" , input ) ;
process.exit() 

当我在终端中运行相同的代码时,一切正常

1 个答案:

答案 0 :(得分:1)

对我来说,您的代码失败,并以SyntaxError: await is only valid in async function出现……我想是因为WebStorm中的Node控制台不是Tty,所以发生了错误,因为节点进程是使用输入/输出流重定向启动的。 您可以通过为Node.js启用终端控制台来解决此问题。为此,请尝试以下操作:

  • 选择帮助|在主菜单上找到操作...
  • 键入registry来找到注册表
  • 在此处找到nodejs.console.use.terminal键并启用它。

enter image description here

这应该做的事

该密钥自2018.2开始在所有IDE中都可用,但是您需要安装 Node.js 插件