- PVSM.RU - https://www.pvsm.ru -
Этот пост является продолжением этого [1]. Тогда я разработал плагин [2], окрашивающий такие элементы интерфейса как деревья и списки в цвета выбранной схемы. С тех пор прошло уже почти 2 месяца и кое-что с тех пор изменилось.
Главная новость: в JetBrains работают (в частности stalk [3]) над стандартной темной схемой. Она будет подключаться через look and feel и будет называться Darcula. Она уже включена в исходники для Comunity Edition и попадет в новые EAPы.
При разработке Color IDE [2] был обнаружен особый тип багов — hardcoded значения в коде IDE, которые не проявляют себя при использовании белой темы, но заметные при использовании темной. Например дерево в настройках стало выглядеть вот так:
Единственный способ пофиксить это — подменить реализацию классов на пропатченную, не содержащую жестко заданных значений. Решить эту проблему средствами плагинов, без вмешательства в файлы IDE мне не удалось. Хотя я очень упорно пытался, например пробовал подменять классы через class loader в рантайме.
Поэтому решение было реализовано в виде патчера для IDE, который для удобства оформлен в виде плагина Patch IDE [5]. Первый раз при загрузке этот патчер меняет файлы на исправленные, а затем перезагружает IDE с уже новыми файлами. Для удобства также была реализована возможность отката на оригинальную версию файла, это можно сделать из меню в настройках.
На данный момент плагин решает следующие три проблемы:
Все патчи я добавляю в треккер JetBrains и два из них уже прошли ревью и включены в исходный код.
Несмотря на появление Darcula я планирую и дальше развивать Color IDE/Patch IDE. Я проверял его работу в Intellij IDEA версии выше 11.1, PhpStorm 4.0.3, PyCharm 2.5.2, RubyMine 4.5 на Windows.
Автор: dmmm
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/12108
Ссылки в тексте:
[1] этого: http://habrahabr.ru/post/145207/
[2] плагин: https://github.com/dmalch/ColorIde
[3] stalk: http://habrahabr.ru/users/stalk/
[4] www.screenr.com/asl8: http://www.screenr.com/asl8
[5] Patch IDE: https://github.com/dmalch/PatchIde
[6] http://youtrack.jetbrains.com/issue/IDEA-88520: http://youtrack.jetbrains.com/issue/IDEA-88520
[7] http://youtrack.jetbrains.com/issue/IDEA-88526: http://youtrack.jetbrains.com/issue/IDEA-88526
[8] Плагин Patch IDE в репозитории плагинов JetBrains: http://plugins.intellij.net/plugin/index?pr=&pluginId=7081
[9] Плагин Color IDE в репозитории плагинов JetBrains: http://plugins.intellij.net/plugin/index?pr=&pluginId=7055
Нажмите здесь для печати.