IntelliJ插件 - 运行控制台命令

Ric*_*wig 1 java console intellij-idea intellij-plugin

我是IntelliJ插件开发的新手,想知道如何从插件中的命令行执行命令.

我想在当前项目根目录中调用命令"gulp".

我已经尝试过了

Runtime.getRuntime().exec(commands);
Run Code Online (Sandbox Code Playgroud)

使用像"cd C:\ Users\User\MyProject"和"gulp"这样的命令,但它似乎没有那样工作,我想,如果插件API提供了一个更简单的方法.

非常感谢你.:-)

Moh*_*san 6

我知道它有点晚了(1年后),但最近我正在研究一个IntelliJ插件,我遇到了同样的问题,这就是我使用过的,它运行得很好.

首先,我们需要创建一个需要执行的命令列表:

  ArrayList<String> cmds = new ArrayList<>();
  cmds.add("./gradlew");
Run Code Online (Sandbox Code Playgroud)

然后

  GeneralCommandLine generalCommandLine = new GeneralCommandLine(cmds);
  generalCommandLine.setCharset(Charset.forName("UTF-8"));
  generalCommandLine.setWorkDirectory(project.getBasePath());

  ProcessHandler processHandler = new OSProcessHandler(generalCommandLine);
  processHandler.startNotify();
Run Code Online (Sandbox Code Playgroud)

因此将generalCommandLine.setWorkDirectory其设置为项目目录,该目录可以等同于终端命令cd path/to/dir/