Преамбула
Когда-то давно, работая еще в ZendStudio 5.0, а потом и 5.5 нашлась красивая темная тема для подсветки кода. За пару лет работы я так привык к ней, что пересев на Eclipse+PDT, глаза были против белого фона с зелеными буковками.
Поиски в интернете такой же темы для Eclipse, поиски хоть какой-нибудь тёмной темы а затем и поиски вообще какой-либо темы результата не дали. Оказалось (о ужас!), что Eclipse не поддерживает смену готовых тем.
Поиски хотя бы какой-то возможности кастомизации Эклипса на хабре вывели на топик хабраюзера olegchir. Вдохновленный идеей самому сделать аналог Parabox Style для Eclipse, я принялся за работу
Что из этого получилось, можно глянуть на скриншотах ниже:
Хочу такую же!
Процесс ручного изменения стандартной темы муторный, но для тех, кто хочет, преград нет :)
Обязательно экспортируйте настройки эклипса в backup-файл! Забекапьте ваш workspace!
-1. Экспортировать настройки и текущий workspace
Экспорт настроек несложный. File — Export — General — Preferences. На следующем экране выберите экспорт всех настроек — Export all.
бекап воркспейса делается простым копированием его папки.
0. Импортировать настройки.
Первым делом необходимо добавить настройки базовых цветов Eclipse.
а) Качаем файл http://blog.codefront.net/wp-content/uploads/2006/09/Eclipse%20preferences.epf
б) File — Import — General — Preferences и указываем путь к скаченному файлу.
Подробности про файл написаны вот здесь: http://blog.codefront.net/2006/09/28/vibrant-ink-textmate-theme-for-eclipse/
1. Установить цвета в PHP — Editor — Syntax Coloring
Comment 202/202/202 (#CACACA) Italic Heredoc 0/130/130 (#008282) Keyword 255/255/128 (#FFFF80) Bold Normal 255/255/128 (#FFFF80) Number 255/100/100 (#FF6464) PHPTags 155/255/50 (#9BFF32) Bold PHP Doc 0/204/204 (#00CCCC) String 132/194/255 (#84C2FF) Task tag 124/165/213 (#7CA5D5) Bold Variable 172/255/174 (#ACFFAE)
2. Установить цвета в General — Editors — Text Editors
Current line highlight 70/70/70 (#464646) Selection foreground color 229/229/229 (#E5E5E5) Selection backgroud color 93/93/93 (#5D5D5D) Background color 64/64/64 (#404040) Hyperlink 0/190/255 (#00BEFF)
3. Изменить цвета в General — Editors — Structured Text Editors
Matching bracket hightlight 100/100/100 (#646464)
— Возможно не лучший вариант, но я остановился на нём.
4. General — Editors — Text Editors — Annotation
PHP elements 'write' occurrences 160/140/110 (#A08C6E) Write Occurrences 160/140/110 (#A08C6E) PHP elements 'read' occurrences 100/100/100 (#646464) Occurrance annotation 100/100/100 (#646464) Debug Current Instruction Pointer 0/102/153 (#006699)
5. Web — CSS Files — Editor — Syntax Coloring
At Rule 132/194/255 (#84C2FF) Comment 202/202/202 (#CACACA) Curly Brace 100/100/100 (#646464) Media Name 0/170/200 (#00AAC8) Property Name 251/205/121 (#FBCD79) Italic Property Value 255/255/125 (#FFFF7D) Quoted String 30/200/30 (#1EC81E) Selector 255/100/100 (#FF6464) URI 0/127/255 (#007FE1) Italic
6. Web — HTML Files — Editor — Syntax Coloring
Attribute Names 132/194/255 (#84C2FF) Attribute Values 30/200/30 (#1EC81E) Comment Content 202/202/202 (#CACACA) Comment Delimiters 202/202/202 (#CACACA) Content 235/235/235 (#EBEBEB) Entity References 255/255/125 (#FFFF7D) Tag Delimiters 132/194/255 (#84C2FF) Tag Names 132/194/255 (#84C2FF)
7a. JavaScript — Editor — Syntax Coloring
Пункт необходимо выполнить, если вы пользуетесь стандартным редактором JS
Javascript: String 30/200/30 (#1EC81E) Brackets 230/230/230 (#E6E6FA) Keyword 'return' 245/240/137 (#F5F089) Bold Keyword excluding 'return' 245/240/137 (#F5F089) Bold Operators 230/230/230 (#E6E6FA) Others 230/230/230 (#E6E6FA) JsDoc: Others 202/202/202 (#CACACA) Comments: Multi-line Comments 202/202/202 (#CACACA) Single-line Comments 202/202/202 (#CACACA)
7b. Spket — Editors — JavaScript Editor — Syntax Coloring
Пункт необходимо выполнить, если вы пользуетесь Spket редактором JS
JavaScript: Keywords excluding 'return' 245/240/137 (#F5F089) Bold Future Reserved Word 255/128/128 (#FF8080) Keyword 'return' 245/240/137 (#F5F089) Bold Operators and brackets 230/230/230 (#E6E6FA) Strings 30/200/30 (#1EC81E) Regular Expressions 255/128/64 (#FF8040) Server Side Script 128/128/128 (#808080) Brackets 230/230/230 (#E6E6FA) Others 230/230/230 (#E6E6FA) JsDoc: Tags 127/159/191 (#7F9FBF) Bold HTML markup 127/127/159 (#7F7F9F) Links 128/128/230 (#8080E6) Others 202/202/202 (#CACACA) Comments: Multi-line Comments 202/202/202 (#CACACA) Single-line Comments 202/202/202 (#CACACA) Task Tags 127/159/191 (#7F9FBF)
8. Extended vs Presentation
Инструкция по настройке взята из топика
Для начала нужно скачать плагин «Extended VS Presentation», после его установки боковые панели и табы начнут выглядеть как на скриншоте.
Почитать о нем можно на странице автора (http://andrei.gmxhome.de/skins/index.html).
Коротко процесс установки заключается в
1) добавлении в Help->Software Updates->Avialable Software новой записи «andrei.gmxhome.de/eclipse»
2) и установки из этого источника плагина Eclipse 3.4 plugins -> Extended VS Presentation (вместо 3.4 подставить текущую версию Эклипсы)
3) в меню «Window -> Preferences -> Appearance» установить Current Presentation в «Extended VS Presentation»
4) в том же меню выставить опцию Current Theme в положение «High Contrast»
5) применение настроек требует перезапуска Эклипсы
Border Color (focus) 89/38/38 (#592626) Tab Color (focus) 68/68/68 (#444444) Tab color (no focus) 25/25/25 (#191919) Tab Text Color (focus) 170/170/170 (#AAAAAA) Tab Text Color (no focus) 128/128/128 (#808080) Title Color (focus) 60/60/60 (#3C3C3C) Title Color (no focus) 0/0/0 (#000000) Title Text (focus) 230/230/230 (#E6E6FA) Title Text (no focus) 77/77/77 (#4D4D4D)
9. Настройки вида окна в Linux Gnome
Метод подсказал nuit в комментарии
Берём из /usr/share/themes/Clearlooks/gtk-2.0/gtkrc (если хотите Clearlooks тему) и копируем куда-нибудь(у меня оно в директории с эклипсом)…
открываем этот файл, заменяем fg_color/bg_color итд(в основном достаточно подправить только верхнюю строчку) на тёмные цвета…
и запускаем :)
GTK2_RC_FILES="/home/nuit/Desktop/eclipse/clearlooksrc" ./eclipse
Привожу готовую строчку цветов, чтобы получить то, что на скриншотах
gtk_color_scheme = "fg_color:#fdffff\nbg_color:#333333\nbase_color:#222\ntext_color:#fdffff\nselected_bg_color:#FFA443\nselected_fg_color:#1A1A1A\ntooltip_bg_color:#222222\ntooltip_fg_color:#FFF"
Недоделки и дополнения
Я не настраивал цвета для XML файлов, поэтому не привожу здесь. Буду рад, если кто-то дополнит мой маленький мануал :)
Для подсветки изменений в diff-режиме можно поменять цвета в General — Apperance — Colors and Fonts — Text Compare. К сожалению, с моим любимым Эклипсом творятся какие-то бяки иногда, поэтому настройки цветов в этом разделе не сохраняются после перезапуска. Поэтому оставил как есть. Еще, устанавливая цвета здесь, нужно смотреть как оно выглядит в окне, потому что там цвета будут не такие, как вы поставите, а какая-то странная смесь заданного цвета и еще какого-то, как при выделении текста.
Надеюсь этот топик пригодится кому-нибудь.