Плагины IntelliJ: получение вывода команды ОСJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Плагины IntelliJ: получение вывода команды ОС

Сообщение Anonymous »

Я пытаюсь создать плагин IntelliJ для выполнения команды ОС, анализа вывода и затем создания меню из проанализированного вывода.
Однако я застрял в том, как я могу возьмите выходные данные OSProcessHandler и проанализируйте их как строку, прежде чем отображать их как часть представления.
public class MyClass extends AnAction {
private static ConsoleView view = null;
private static ToolWindow window = null;

@Override
public void actionPerformed(@NotNull AnActionEvent e) {
Project project = CommonDataKeys.PROJECT.getData(e.getDataContext());
if (project == null)
return;
GeneralCommandLine generalCommandLine = new GeneralCommandLine(getAccounts());
generalCommandLine.setCharset(Charset.forName("UTF-8"));
//generalCommandLine.setWorkDirectory(project.getBasePath());

ProcessHandler processHandler = null;
try {
processHandler = new OSProcessHandler(generalCommandLine);
} catch (ExecutionException ex) {
throw new RuntimeException(ex);
}
if (view == null) {
TextConsoleBuilderFactory factory = TextConsoleBuilderFactory.getInstance();
TextConsoleBuilder builder = factory.createBuilder(project);
view = builder.getConsole();
}
view.attachToProcess(processHandler);
processHandler.startNotify();

if (window == null) {
ToolWindowManager manager = ToolWindowManager.getInstance(project);
window = manager.registerToolWindow("Cat console", true, ToolWindowAnchor.BOTTOM);
final ContentManager contentManager = window.getContentManager();
Content content = contentManager
.getFactory()
.createContent(view.getComponent(), "", false);
contentManager.addContent(content);
window.show(() -> {});

}}

private ArrayList getAccounts(){
ArrayList cmds = new ArrayList();
cmds.add("/usr/local/bin/getaccountscmd");
cmds.add("ls");
System.out.println(cmds.toString());
return cmds;
}

}


Подробнее здесь: https://stackoverflow.com/questions/726 ... os-command
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»