如何在终端中vscode扩展运行命令

问题描述

const { spawn } = require('child_process');
// want run command
// ~/zcfh/umlgen/build/bin/umlgen /Users/zcfh/zcfh/tmp1.cpp -o=~/zcfh/t.txt
const ls = spawn('~/zcfh/umlgen/build/bin/umlgen ',['/Users/zcfh/zcfh/tmp1.cpp',"-o=~/zcfh/t.txt"]);

似乎使用child_process可以在终端中运行命令。我希望能够在终端中运行二进制程序。有什么好的评论或参考吗?

解决方法

const { execFile } = require('child_process');
const umlgen = execFile(cmd,args,{ cwd: workingPath });
umlgen.stdout.on('data',(data: Uint8Array) => {
  console.log(`stdout: ${data}`);
});
let errMessage: string = "";
umlgen.stderr.on('data',(data: Uint8Array) => {
  console.error(`stderr: ${data}`);
});

umlgen.on('close',(code: number) => {
  console.log(`close: ${code}`);
});