Темная цветовая схема для IntelliJ IDEA: решение проблемы с неокрашенным деревом проекта

в 19:26, , рубрики: intellij idea, java, jetbrains, phpstorm, pycharm, rubymine, webstorm, разработка, метки: , , , , ,

С некоторых пор мне стали нравиться темные цветовые схемы для текстовых редакторов. Соответственно, мне захотелось окрасить в темные цвета и редактор моего основного рабочего инструмента IDE IntelliJ IDEA. Но после установки темной схемы я увидел, что схема применилась только к редактору, а окраска остальных элементов не изменилась. Например, дерево проекта не перекрасилось.

Темная цветовая схема для IntelliJ IDEA: решение проблемы с неокрашенным деревом проекта

После поиска в интернете и в стандартных настройках Idea, я сделал вывод, что сделать это путем конфигурации нельзя, по крайней мере, на Windows.

Для решения этой проблемы я написал плагин, который окрашивает дерево проекта в цвета схемы.

Результат можно видеть на картинках:

Темная цветовая схема для IntelliJ IDEA: решение проблемы с неокрашенным деревом проекта

Темная цветовая схема для IntelliJ IDEA: решение проблемы с неокрашенным деревом проекта

Темная цветовая схема для IntelliJ IDEA: решение проблемы с неокрашенным деревом проекта

К сожалению, не обошлось без разочарований. Разработчики из JetBrains пометили классы некоторых компонентов, отвечающих за деревья, как final (в частности дерево структуры файла), поэтому не удалось окрасить соответствующие деревья, не переворотив при этом половину кода самой идеи.

Я создал в баг-трекере тикет на данную проблему, надеюсь на скорое исправление в основной ветке, тогда необходимость в таком плагине отпадет сама. До тех пор пока проблема не будет исправлена, я буду выпускать обновления.

Вероятно плагин подойдет также пользователям других IDE от JetBrains, основанным на платформе IntelliJ IDEA(PHP Storm, Web Storm, Ruby Mine, PyCharm), но точно сказать не могу, так как я не проверял.

Ссылки

Автор: dmmm

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js