Komodo Edit. Часть 4: Боевая раскраска. Работа с подсветкой и цветом.

/ Просмотров: 4552
Метки: , ,

Highlight, или подсветка кода, – важный элемент визуальной организации рабочего пространства программиста (это я где-то спер. Но вообще-то так и есть smile)

Когда-то я то ли вычитал, то ли сам придумал такой критерий: подсветка в идеале должна быть такой, чтобы даже в обфусцированном коде (который сейчас любят выдавать фреймворки, расплодившиеся как кролики) помогала быстро выделить опорные, основные моменты кода и хотя бы приблизительно, но с ходу въехать, что это перед нами такое.

Однако идеал идеалом, а в жизни куда важнее не он, а привычка. Привычку не тронь, это святое. И многие кодеры при знакомстве с новым редактором сильно интересуются, позволит ли он организовать привычную им подсветку.

Подсветка кода организована в разных редакторах по-разному. Вот один и тот же файл в KomodoEdit и в vim:

В одних она жёстко предопределена, в других допускает кастомизацию, но с немалым трудом (что часто вынуждает юзера плюнуть на возню с ней и юзать что дают), в третьих подсветка настраивается как угодно и довольно просто.

Komodo Edit как раз относится к последней категории.

Настройка. Шрифты. Подсветка кода.

Все настройки шрифтов и подсветки находятся в меню "Правка → Настройки → Шрифты и цвета". И настроек тут, надо сказать, до фига и даже намного больше.

Komodo_шрифты и цвета

На приведенном скрине вы видите, что в Схемах уже выставлена MyTheme-1, из чего читатель, знакомый со второй частью, легко может сделать вывод: все манипуляции с подсветкой производятся в "песочнице", каковой служит ваша юзерская тема (или схема). Разница в том, что в горячих клавишах всего три системных, неизменяемых темы, а здесь их – как собак нерезаных:

Komodo: системные схемы подсветки

Так что вполне возможно, что вам подойдет какая-нибудь предустановленная схема, но при малейшей попытке в ней что-нибудь изменить вам, как и в случае с кейбиндами, будет предложено создать и назвать свою схему. И уж в ней вы можете разгуляться вовсю.

Note:   Кроме того, на странице ресурсов Komodo можно найти еще несколько пользовательских цветовых схем. После скачивания и распаковки в каталог ~/.komodoedit/8.5/schemes/ (и перезапуска Komodo Edit) вам станут доступны и они. Если же распаковать архив со схемой на рабочий стол, то, как подсказал Defman в комментах, можно перетащить схему на окно открытого Komodo Edit, который задаст вопрос: "Импортировать цветовую схему Аляля.ksf в Komodo?", и если вы согласитесь, спросит у вас, следует ли сохранить новую схему:

Запрос на установку схемы

Под "сохранить" имеется ввиду "Применить", или "Активировать", поскольку сама схема уже сохранена в списке схем. В этом случае при применении новой схемы перезапуск редактора не потребуется.

Рассмотрим, однако, "Шрифты и цвета" по порядку.

Komodo: настройки шрифтов

Во вкладке Шрифты можно выбрать моноширинный (как на рис. вверху) либо пропорциональный вариант, и для выбранного назначить конкретный шрифт из тех, что установлены у вас в системе или лежат в папке ~/.font, а назначенному шрифту выставить кегль, начертание и цвет. Выше, в окошке "Текст примера", можно немедленно, до сохранения, наблюдать результаты своих манипуляций.

Note:   Справка предупреждает: "Обратите внимание на то, что характеристики шрифта по умолчанию, сконфигурированные на этой вкладке, не переопределяются никакими специфичными для языка конфигурациями шрифта"

Тут еще можно вроде бы определить шрифтовые конфигурации отдельно для каждой кодировки, но поскольку по моим понятиям эта фишка уже попадает в категорию "барство дикое", я ее не исследовал. Кому нужно – смотрите сами. Главное, чтобы в "Настройках → Интернационализация" было выставлено "Автоопределение кодировки файла при открытии".

Во вкладке "Цвета" мы можем поменять цвет для многих элементов редактора, исключая подсветку синтаксиса:

Komodo: настройки цветов

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

Далее следует вкладка "Общий синтаксис":

Komodo: цветовые настройки общего синтаксиса

В ней мы можем задать цветовое оформление некоторым базовым синтаксическим элементам для конкретной цветовой схемы:

Komodo: элементы общего синтаксиса

Однако в случае одной из предустановленных схем вам опять-таки будет немедленно предложено создать и назвать новую схему, т.е. принцип "песочницы" действует неукоснительно.

Смысл настроек в этой вкладке тот, что мы здесь определяем цвета основных синтаксических элементов для всех языков, а затем можем переопределить их в следующей вкладке "Отдельно по языкам" для конкретных языков. Извините за мой язык (и заодно за каламбур smile)

К примеру, мне незачем менять вид "плохой" (незакрытой) скобки, bracebad, для какого-то конкретного языка, а вот комментарии раскрашиваются у меня немного по-разному для html/css и для php/javascript (так уж сложилось исторически, см. о привычке в начале).

Таким образом, мы уже фактически начали рассмотрение следующей вкладки, "Отдельно по языкам".

Komodo: настройки синтаксиса языка

Собственно, после всего сказанного рассматривать тут особенно и нечего, а надо, засучив рукава, приниматься за настройку. Которой, в зависимости от ваших целей и запросов, может оказаться до фига. Вот, к примеру, "фронт работ" для подсветки css:

Komodo: синтаксис css

Тут всё индивидуально, и поэтому я отмечу лишь два важных, на мой взгляд, момента, которые поначалу могут ускользнуть от внимания.

Во-1-х, окошко "Текст примера" отнюдь не деревянное, туда можно вставлять свой текст или менять его там "на лету", и как уже сказано, наши настройки отображаются там сразу после выбора цвета, до сохранения настроек. Это сильно помогает в отладке подсветки.

И во-2-х, обратите внимание на чек-бокс "Использовать другой цвет фона, когда используется подъязык". Тут, надо сказать, перевод laborpago неудачен, "подъязык" отдает чем-то пилюльно-медицинским, лучше бы, наверно, оставить анлийскую кальку "суб-язык", но дело в том, что и такой вариант практически ничего нам не объясняет.

А смысл в этом вот какой: если вы, к примеру, настраивая подсветку для css, отметите этот чек-бокс и выберете для суб-языка цвет бэкграунда (полегче с насыщенностью!), то вставка css в документе html будет подкрашиваться выбранным цветом:

Komodo: подсветка вставки другого языка

Как видите, здесь получили бледно-розовый бэкграунд даже инлайновые css-элементы. Имхо, это замечательная фишка, она действует и по отношению к javascript'у, и... почему-то не действует относительно вставок php confused. Но, как говорится, спасибо и на том.

Попытаемся дать определение: если вы включили чек-бокс "Использовать другой цвет фона, когда используется подъязык", настраивая подсветку определенного языка, то вставка фрагмента этого языка в документ, основной язык которого другой, подсвечивается выбранным вами фоновым цветом.

И более того: Komodo Edit не только распознает другой язык во вставках, но и при их правке выбрасывает выпадающие подсказки для языка именно вставки:

Komodo: колтипсы вставки другого языка

У нас осталась последняя вкладка: "Индикаторы"

Komodo: индикаторы

После всего, что мы выяснили выше, смысл и особенности настройки этой вкладки, имхо, не должны вызывать никаких вопросов. Просто порадуемся, что майнтайнеры не забыли и о возможности тонкой настройки предупреждений и маркеров редактора, которые тоже влияют на привлекательность внешнего вида и удобство работы.

И под конец упомянем об "Используемой пипетке", или, лучше сказать, о встроенном цветопробнике Komodo Edit. Несмотря на чек-бокс, он в редакторе единственный (не знаю, возможно в Komodo IDE есть еще какой-то) и вполне хороший. В настройках шрифтов и цветов он вызывается "на посмотреть" кнопкой "Тест" внизу, а "по делу" – треугольниками рядом с цветными квадратами и позволяет выбирать цвет "плавно".

Но главная его работа – в "боевой" обстановке написания или правки кода.

Если мы (обычно на css-странице) расположим курсор над обозначением цвета и нажмем Ctrl, то возникнет прямоугольник, показывающий этот цвет в натуре. А если мы еще и щелкнем ЛКМ, то тут-то он, цветопробник, и появится.

Komodo: цветопробник

Если мы выберем в нем цвет и нажмем ОК, то обозначение выбранного цвета (rgb или #nnn) автоматом пропишется в код вместо текущего. Прекрасная фишка, и она совсем освободила бы нас от необходимости устанавливать в систему посторонние цветопробники вроде Gcolor2, если бы умела работать с прозрачностью. Но чего нет, того нет. Будем надеяться, еще появится, ведь на дворе css3.

Комментариев: 4 RSS

>После скачивания и распаковки в каталог

>и перезапуска Komodo Edit

Врете. Перезапуск не требуется, к тому же достаточно перетянуть схему на окно редактора и она установится сразу (и к тому же автоматом включится, спросив "Оставить или вернуть прежнюю").

Не вру, и даже не заблуждаюсь. После распаковки в ~/.komodoedit/8.5/schemes/ при запущенном редакторе схемы не видны в настройках до перезапуска. При перетаскивании (я им просто никогда не пользовался, даже в давние виндовые времена) действительно возникает окошко с вопросом "Импортировать цветовую схему Аляля.ksf в Komodo?" Это я добавлю, спасибо. Мышкодавам это понравится.

Распаковывать на рабочий стол не обязательно %)

И после согласия, как я уже сказал, будет необходимо подтвердить новую схему как установленную (по сути нажать на кнопку или вернуть старую (и о Боже - старая возвращается так же нажатием кнопки!)).

"Распаковывать на рабочий стол не обязательно" Дело в том, что гуишными файловыми менеджерами я практически не пользуюсь, поэтому тащить мышой файл мне только с рабстола.

Да, Вы правы, со второго или даже третьего захода и у меня появилась полоса на месте тулбара с запросом на сохранение (а с первого раза почему-то нет). Исправляю, и смастерю скриншот. Спасибо за конструктивную критику smile

Оставьте комментарий

Комментарий будет опубликован после проверки

(обязательно)