Работа с активными файлами Intellij программно (Java) - PullRequest
0 голосов
/ 02 ноября 2019

Я ищу решение Java для следующего сценария.

Мне нужно получить заголовки всех активных файлов в Intellij IDE (и, если возможно, их содержимое) в моем Java-приложении. Во-первых, мое Java-приложение запускает Intellij IDE (runtime.exec ()). Позже мне нужно перечислить активные файлы этого экземпляра Intellij.

Я нашел библиотеку com.intellij.openapi для создания плагинов. Но это не похоже на правильное решение. Я не хочу использовать plugin.xml, просто библиотеку. Если я использую команду openfiles , я буду видеть все файлы, не только активные (и мое приложение будет работать только в ОС Windows). Я нашел PlatformUi от Eclipse, который, кажется, делает то, что я ищу, но мне нужно решение Intellij. COM-объекты может быть решением, может быть.

У вас есть опыт работы с этой темой?

РЕДАКТИРОВАТЬ: я пробовал следующий код. Теперь мне нужно получить доступ к активным файлам, открытым в этом процессе (IDE IntelliJ).

public Process launchApplicationProcess() throws IOException {
        Runtime runTime = Runtime.getRuntime();
        Process process = runTime.exec(this.applicationPath);

        return process;
    }

Я также попробовал com.intellij.openapi. В этой библиотеке мне нужно использовать plugin.xml, чтобы получить экземпляр IntelliJ, и тогда я смогу выполнить свой сценарий. Но я не хочу использовать plugin.xml. Мне просто нужен экземпляр IntelliJ из класса Java. Следующий код по-прежнему возвращает NULL, потому что я не использую plugin.xml.

Application app = ApplicationManager.getApplication();

Есть ли способ получить экземпляр IntelliJ из класса Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...