Comments 8
overmes, большое спасибо за статью! Я недавно заинтересовался разработкой плагинов для Идеи. Поэтому для меня это очень актуально.
> Документация для разработки плагинов состоит всего лишь из нескольких страниц и горстки примеров.
В Eclipse все горздо хуже, кстати. Тут хоть удосужились все основные этапы кратко изложить. По паре доков создается картина что и как там работает хотя бы.
У меня, кстати, такой вопрос есть. Насчет разработки языковых плагинов. Допустим, у меня есть компилятор, который уже сам умеет инкрементально парсить файл, строить синтаксическое дерево(есть API для получения). Но формат сильно расходится с PSI. Есть ли возможность имлпементировать все эти идеевские код-камплишены минуя PSI, на более низком уровне?
> Документация для разработки плагинов состоит всего лишь из нескольких страниц и горстки примеров.
В Eclipse все горздо хуже, кстати. Тут хоть удосужились все основные этапы кратко изложить. По паре доков создается картина что и как там работает хотя бы.
У меня, кстати, такой вопрос есть. Насчет разработки языковых плагинов. Допустим, у меня есть компилятор, который уже сам умеет инкрементально парсить файл, строить синтаксическое дерево(есть API для получения). Но формат сильно расходится с PSI. Есть ли возможность имлпементировать все эти идеевские код-камплишены минуя PSI, на более низком уровне?
Привет. Я еще не прочитал статью, на будущее возьмусь.
Планировал плагин написать, эдакий хитрый. У меня есть сервис, куда можно заливать исходник скрипта, там его компилировать. Можно ли такой плагин написать? Возможно ли и не слишком ли сложно?
Надо по первости, чтобы была панелька с кнопочками типа слить с сервера, залить, скомпилировать.
Вторая хотелка — это языковая поддержка. Можно ли там напихать некоторых исключений для джаваскрипты, чтобы оно не подчеркивало некоторые расширения языка, как ошибки. АПИ внешний подсоеденить бы как-нить.
Третья хотелка- панелька сбоку, типа как набор файлов в папках, только это дерево скриптов панелька с сервера загружает.
Вот, что из этого можно сделать, а что — нет, насколько это сложно? Скажите, пожалуйста.
Планировал плагин написать, эдакий хитрый. У меня есть сервис, куда можно заливать исходник скрипта, там его компилировать. Можно ли такой плагин написать? Возможно ли и не слишком ли сложно?
Надо по первости, чтобы была панелька с кнопочками типа слить с сервера, залить, скомпилировать.
Вторая хотелка — это языковая поддержка. Можно ли там напихать некоторых исключений для джаваскрипты, чтобы оно не подчеркивало некоторые расширения языка, как ошибки. АПИ внешний подсоеденить бы как-нить.
Третья хотелка- панелька сбоку, типа как набор файлов в папках, только это дерево скриптов панелька с сервера загружает.
Вот, что из этого можно сделать, а что — нет, насколько это сложно? Скажите, пожалуйста.
Мне кажется, что второе сделать, скорее всего, можно только грязными хаками, свой хайлайтинг запустить после джаваскриптового и удалить в нужных местах ненужный красный код (звучит просто, а на самом деле не так, скорее всего, если такой возможности таки нет, лучше обратиться к разработчикам, чтобы они добавили подобное API).
Первое и третье сделать можно, причем, я полагаю, что малой кровью (но по первости, скорее всего, какое-то время это отнимет).
Другой разговор, что если затронуть не openapi (особенно с грязными хаками), то вероятность, что надо будет постоянно, что-то чинить от версии IDEA к версии, довольно высока.
Первое и третье сделать можно, причем, я полагаю, что малой кровью (но по первости, скорее всего, какое-то время это отнимет).
Другой разговор, что если затронуть не openapi (особенно с грязными хаками), то вероятность, что надо будет постоянно, что-то чинить от версии IDEA к версии, довольно высока.
Согласен. Возможно что-то уже есть в плагинах, тогда можно взять или модифицировать.
Первое скорее всего совсем просто. В плагине соединяться с сервером и отображать результат.
Второе я не совсем понял, но думаю многое можно настроить через стандартные настройки.
Третье в PyCharme есть, называется Remoute Server, можно подключаться к серверу по ssh и синхронизироваться с локальным проектом, причем если настроить, то изменения в локальном проекте будут автоматически передаваться на сервер.
Первое скорее всего совсем просто. В плагине соединяться с сервером и отображать результат.
Второе я не совсем понял, но думаю многое можно настроить через стандартные настройки.
Третье в PyCharme есть, называется Remoute Server, можно подключаться к серверу по ssh и синхронизироваться с локальным проектом, причем если настроить, то изменения в локальном проекте будут автоматически передаваться на сервер.
Насчёт первого — можно попробовать написать скрипт на любом языке, а потом вызывать через CommandLine tools, либо по событиям after build и т.д.
Насчёт второго, можно поиграться с настройками инспекций. Причём инспекции можно отключать как глобально для проекта, так и локально для какой-либо строки\выражения.
Писать плагин для такой цели кажется нецелесообразным и очень трудозатратным.
Насчёт второго, можно поиграться с настройками инспекций. Причём инспекции можно отключать как глобально для проекта, так и локально для какой-либо строки\выражения.
Писать плагин для такой цели кажется нецелесообразным и очень трудозатратным.
Статья здоровская, но скажите, у вас глаза не ломаются при работе с такими шрифтами?
Sign up to leave a comment.
Создание плагина для Intellij Platform (IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm and AppCode)