【问题标题】:How to execute local bash code from VSCode extension如何从 VSCode 扩展执行本地 bash 代码
【发布时间】:2023-04-10 05:09:02
【问题描述】:

我正在为简单的 git 命令创建扩展,当用户在命令面板中输入命令时,例如 Init,我想在他们的当前目录中调用 git init

很遗憾,没有关于使用 VSCode 扩展 API 在本地执行代码的文档。有没有办法做到这一点?

【问题讨论】:

    标签: javascript bash typescript visual-studio-code vscode-extensions


    【解决方案1】:

    是的,这可以通过使用child_process.spawn 来实现。我用过in my extension to run a Java jar。这里展示了执行的核心:

    let spawnOptions = { cwd: options.baseDir ? options.baseDir : undefined };
    let java = child_process.spawn("java", parameters, spawnOptions);
    
    let buffer = "";
    java.stderr.on("data", (data) => {
        let text = data.toString();
        if (text.startsWith("Picked up _JAVA_OPTIONS:")) {
            let endOfInfo = text.indexOf("\n");
            if (endOfInfo == -1) {
                text = "";
            } else {
                text = text.substr(endOfInfo + 1, text.length);
            }
        }
    
        if (text.length > 0) {
            buffer += "\n" + text;
        }
    });
    
    java.on("close", (code) => {
        // Handle the result + errors (i.e. the text in "buffer") here.
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 2017-03-01
      • 2012-03-30
      • 2017-12-28
      • 2012-12-24
      相关资源
      最近更新 更多