Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 无法在vscode命令上下文中启动GUI程序_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code 无法在vscode命令上下文中启动GUI程序

Visual studio code 无法在vscode命令上下文中启动GUI程序,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我使用扩展API创建vscode命令来启动GUI程序 vscode.commands.registerCommand('rnk.inspect', () => { require('child_process').exec('react-devtools', (err, stdout) => { console.log('result', err, stdout) }) }); 但当我运行此命令时,我会得到输出: result Error: Comm

我使用扩展API创建vscode命令来启动GUI程序

vscode.commands.registerCommand('rnk.inspect', () => {
    require('child_process').exec('react-devtools', (err, stdout) => {
        console.log('result', err, stdout)
    })
});
但当我运行此命令时,我会得到输出:

result Error: Command failed: react-devtools
extension.js:22
    at ChildProcess.exithandler (child_process.js:287:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Socket.ChildProcess.spawn.stream.socket.on (internal/child_process.js:346:11)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at Pipe.Socket._destroy.cb._handle.close [as _onclose] (net.js:554:12) 
我已经安装了
react devtools
,以下代码作为独立节点应用程序工作:

const child_process = require('child_process');
child_process.exec('react-devtools');
它还可以通过命令
react devtools
在vscode的集成终端中正常工作

上面的所有代码都在Mac上运行


有什么问题吗?vscode扩展中的节点环境与常规节点之间是否存在任何差异?

通过取消设置
ELECTRON\u RUN\u AS\u node
环境变量来解决问题:

exec('react-devtools', {env: {...process.env, ELECTRON_RUN_AS_NODE:''}}, (err, stdout) => {
    console.log('result', err, stdout);
});
参考: