首页 > 解决方案 > 在调试模式下使用终端工具包| 网络风暴

问题描述

我正在尝试在 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() 

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

标签: node.jswebstorm

解决方案


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

  • 选择帮助 | 在主菜单上查找操作... ;
  • 键入registry以找到注册表
  • 在那里找到nodejs.console.use.terminal密钥并启用它。

在此处输入图像描述

这应该做的事情

自 2018.2 以来,所有 IDE 都提供该密钥,但您需要安装Node.js插件


推荐阅读