Dark Theme – JDeveloper 11.1.1.4

В тази публикация, ще обясня защо ни е необходима по тъмна тема за JDeveloper и как да си я направим сами и как да си редактираме оцветяването на шрифтовете на кода.

Защо ни е необходима тъмна тема

JDeveloper_Dark_Theme_java

Занимавам се с програмиране професионално от малко повече от 2 години. Преди това съм стоя отново по много часове пред монитора, било то за учене, писане на малки програмки или денонощно взиране в екрана за превъртане на някоя игра. И никога несъм имал проблем – едни анти-рефлексни очила ми бяха достатъчни. Започнах да се занимавам професионално с програмиране, постепенно се сдобих и с 2-ри монитор, същевременно ходих на курсове по програмиране в Telerik Akademy и започнах да усещам напрежение и умора в очите си. Оказа се че повечето от професионалистите в областта използват затъмнени теми по някакъв начин. Според повечето програмисти (не съм се консултирал с лекари) когато темета е тъмна, очите се натоварват по – малко. Реално програмистите гледат една и съща картина (IDE-то на което работят) и някакъв текст. Четат постоянно, като текста върви нагоре и надолу и е много динамичен, което също натоварва доста очите. Когато фона е бял и мониторите не са настроени, бялото е много ярко, което натоварва изключително много очите. Когато фона е тъмен и и мониторите са настроени както трябва, очите се натоварват по малко – тъмния фон не е толкова ярък и очите се концентрират само върху текста.

Защо да си правим сами темата – няма ли я готова ?

За .NET програмистите използващи Visual Studio, това не е проблем, то има вградена тъмна тема и само трябва да кликнеш с мишката и всичко е наред. За Java програмистите ситуацията е малко по различна.quНякои IDE-та имат вградени тъмни теми, но специално JDeveloper, който ми се налага да използвам аз – няма. Тук идва въпроса “Ами защо го използвам ?” , отговора е прост, до преди няколко месеца това беше единствената среда за разработка, която официално подържа технологията “ADF Faces”, сега Oracal са пуснали технологията да се подържа и от Eclipse. Реално погледнато JDeveloper не е лошо IDE, предоставя възможност за писане на абсолютно всички технологии на Oracle, но им и доста бъгове.

Как да си направим тъмна тема (Dark Theme) за JDeveloper

Oracle_JDeveloperТъй като няма готова тема и Java програмистите са свикнали сами да си правят много неща, Oracle ни предоставят възможност сами да си я направим.

Какво представлява темата

Темата представлява един JAR файл, съдържащ в себе си най – различни настройки. В един от файловете му се намират и настройките за цветовете на темата. Много наподобява CSS стилизиране. За жалост, няма добро описание, кой компонент как се казва и как да бъде достигнат. След доста опити, постигнах известен успех. Като съм отделил нещата, които промених и които добавих, така че ако някой иска да редактира още, да е по лесно.

Къде се намира JAR файла ?

Реално този JAR Файл е една от темите предоставени от Oracle, дори по подразбиране е тя. Така че преди да я промените, предлагам да си я копирате и да я имате на сигурно място, в случай, че искате да си я върнете обратно. Темата се намира в инсталационната папка на JDeveloper – {install_directory}\jdeveloper\ide\themes\  и там се намира файла “fusionblue.jar”. В същата директория се намира и файла “creating_themes.html”, в който има бегли разяснения за някои от компонентите.

Как да го редактираме ?

Мисля, че за Java Developers това е излишно да казвам, jarкак се отваря архивния файл, но все пак ще спомена. Това най – лесно се прави, като създадем един нов проект и после импортираме JAR файла в него. Вярвам че всеки занимаващ се с Java може да намери информация, как да го импортира в Eclipse или в JDeveloper. В краен случай, може просто да го разархивирате и да го прибавите с copy-paste в един нов проект. По важното е, че когато направите промените и го правите на JAR, трябва да запазите същото име, в противен случай JDeveloper няма да го разпознае.

Файла който трябва да се редактира се казва “theme.properties”, в него, както споменах, са изредени в подобен на CSS стил различни компоненти и техните характеристики.  В началото на файла може да си сложите собствено име. В моя случай това е : “name=Dark Theme v1.0” след което на различни места съм променил различни цветове. за по удобно си ги изнесох на едно място. оригиналните цветове бяха :

palettewindow.enabled.background=#F3F3F3
palettewindow.disabled.background=#FFFFFF
paletteitem.enabled.background=#F3F3F3
paletteitem.enabled.foreground=#000000
paletteitem.disabled.background=#F3F3F3
paletteitem.disabled.foreground=#FFFFFF
paletteitem.mouseover.background=#D8ECFD
paletteitem.mouseover.foreground=#000000
paletteitem.selected.foreground=#FFFFFF
paletteitem.selected.background=#316AC4

Във файла съм ги закоментирал и съм ги означил като “Original” . След което ги промених, като сложих преди това коментар “Custom” и прибавих още няколко допълнителни свойства.

palettewindow.enabled.background=#202020
palettewindow.disabled.background=#202020
paletteitem.enabled.background=#202020
paletteitem.enabled.foreground=#B8B8B8
paletteitem.disabled.background=#202020
paletteitem.disabled.foreground=#B8B8B8
paletteitem.mouseover.background=#B8B8B8
paletteitem.mouseover.foreground=#000000
paletteitem.selected.foreground=#B8B8B8
paletteitem.selected.background=#316AC4

colors.windowBackground=#303030
colors.userTextColor=#B8B8B8
colors.systemTextColor=#FF6A00
colors.inactiveSystemTextColor=#FF6A00
colors.controlTextColor=#FF6A00
colors.controlHighlight=#00FF00

application-x-java-archiveАко използвате JAR файла който ви предоставям, и разгледате файла, ще забележите че съм поставил и коментари на някои от другите компоненти с обяснения какви са, както и в секцията “Custom” има доста закоментирани други свойства.

Като резултат направил съм буквално – Черно почти всичко. Ако някой желае по светло, трябва да промени нещата, които са с цвят “#202020” на желания от него.

След като направите желаните промени и генерирата JAR файла, като запазите старото му има. Като влезете в JDeveloper, ако това не е била темата Ви по подразбиране, влизате в менюто “Tools” –> “Preferences” –> “Environment” и от падащото меню “Theme” избирате темата която току що направихте.

Select_Theme_JDeveloper

След което е хубаво да смените някой от цветовете на JDeveloper, примерно това са цветовете на линкове. По подразбиране са тъмно сини и на този черен фон, не се получава добре. Сменяте ги на нещо по светло. За целта от същото меню “Tools” –> Preferences“ –> “Environment” –> “Log” избирате подходящи според вас цветове.

change_link_color_Jdeveloper

Темата е готова, но не й настройките, който трябва да направите, следва …

Редактиране цветовете на шрифтовете

Тази среда за разработка предоставя няколко различни готови цветови схеми на шрифтовете, които се използват в нея. Това са различни шрифтове за писане на различни езици, Java код – различно оцветяване на променливи, класове, методи, маркирани редове и т.н.

Може сами да си редактирате и да си направите цветовата гама по ваш избор, спрямо това как сте си направили фона на JDeveloper –а. Това се прави от менюто “Tools” –> Preferences“ –> “Code Editor” –> “Syntax Color” , Там за всяко едно нещо може да си изберете какъв цвят да бъде, с какъв фон и т.н. след кото е препоръчително да си запазите промените, като натиснете бутона “Save as” и дадете някакво име на схемата която сте направили.

text_sheme_jdeveloper

Аз ви предоставям няколко мой схеми, както и схеми взети от ТУК, където има и  описание как се зареждат схемите, но и аз ще го кажа също. Схемите предоставени от “djitz.com”  са с имена от “TextMate v0.1” до “TextMate v0.6”. Моите схеми са с имена от “CustomDark v1.0” до “CustomDark v1.2”, Всяка по нова версия, е подобрявана, като са добавяни нови цветове където е необходимо. Може да заредите дадена схема, след което да направите промени по нея и да я запазите като нова схема. Не е необходимо всичко да се прави от начало всеки път.

Схемите се намират в един конфигурационен файл  на име “dtcache.xml” . Той се намира за

Windows –> {install_directory}\jdeveloper\system11.1.1.4.37.59.23\o.ide\

Ако нямате други настройки, които сте си правили сами, може директно да замените файла с този който ви предоставям. Ако имате, може да си свалите файла “Items.xml” и да копирате съдържанието му в файла “dtcache.xml” във структурата (на мястото на многоточието)

<Item>
<Key>SyntaxSchemes</Key>
<Value class=”oracle.ide.ceditor.options.SyntaxSchemes”>
<schemeMap>

……….

</schemeMap>
</Value>
</Item>

След което като включите JDeveloper във “Tools” –> Preferences“ –> “Code Editor” –> “Syntax Color” , от падащото меню “Sheme” се избира желаната схема.

sheme_select_Jdeveloper

Приятно използване Усмивка

Файлове за сваляне

Тъмна тема за JDeveloper (Dark theme) –> ТУК (директория themes с компилиран JAR файл)

Текстова цветова схема (Syntax Color) –> ТУК (готов dtcache.xml)

Само текстови схеми за ръчно добавяне –> ТУК (Ithems.xml)

Резултат

Общ изглед – с малко Java код.

JDeveloper_Dark_Theme

Изгледа на Entity и View окектите е приблизително по същия начин

property_view

Самите JSPX страници в CODE –view изглеждат така:

page_xml