Как получить доступ к структуре PSI для Java и Python в одном плагине Intellij ⇐ JAVA
Как получить доступ к структуре PSI для Java и Python в одном плагине Intellij
Я разрабатываю плагин для Pycharm, Intellij IDEA. Необходимо получить доступ к функциям PSI (PSIMethod(java class) и PyFunction) для языков Java и Python в обеих версиях IDE (2022.3.1 и выше). Невозможно написать общий плагин, который мог бы работать как с PyCharm, так и с IDEA.
Позже мы хотим расширить наш плагин, чтобы он поддерживал и другие языки, например c/c++.
Как мы можем достичь этой функциональности?
В файле plugin.xml добавлены дополнительные зависимости, которые позволяют нам устанавливать наш плагин как в IDEA, так и в PyCharm, независимо от наличия плагина Java или Python.
com.intellij.java com.intellij.modules.python В build.gradle.kts у меня есть
intellij { версия.set("2022.3.1") type.set("IC") плагины.set("com.intellij.java, PythonCore:223.8214.16") } Однако жесткое кодирование версии PythonCore ограничивает функциональность нашего плагина только поддерживаемыми продуктами, перечисленными в https://plugins.jetbrains.com/plugin/73 ... ble/263951 Но мы также хотим поддерживать более поздние версии этих продуктов, например Android Studio Hedgehog.
Я разрабатываю плагин для Pycharm, Intellij IDEA. Необходимо получить доступ к функциям PSI (PSIMethod(java class) и PyFunction) для языков Java и Python в обеих версиях IDE (2022.3.1 и выше). Невозможно написать общий плагин, который мог бы работать как с PyCharm, так и с IDEA.
Позже мы хотим расширить наш плагин, чтобы он поддерживал и другие языки, например c/c++.
Как мы можем достичь этой функциональности?
В файле plugin.xml добавлены дополнительные зависимости, которые позволяют нам устанавливать наш плагин как в IDEA, так и в PyCharm, независимо от наличия плагина Java или Python.
com.intellij.java com.intellij.modules.python В build.gradle.kts у меня есть
intellij { версия.set("2022.3.1") type.set("IC") плагины.set("com.intellij.java, PythonCore:223.8214.16") } Однако жесткое кодирование версии PythonCore ограничивает функциональность нашего плагина только поддерживаемыми продуктами, перечисленными в https://plugins.jetbrains.com/plugin/73 ... ble/263951 Но мы также хотим поддерживать более поздние версии этих продуктов, например Android Studio Hedgehog.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение