Komodo Edit. Часть 4: Боевая раскраска. Работа с подсветкой и цветом.
Highlight, или подсветка кода, – важный элемент визуальной организации рабочего пространства программиста (это я где-то спер. Но вообще-то так и есть )
Когда-то я то ли вычитал, то ли сам придумал такой критерий: подсветка в идеале должна быть такой, чтобы даже в обфусцированном коде (который сейчас любят выдавать фреймворки, расплодившиеся как кролики) помогала быстро выделить опорные, основные моменты кода и хотя бы приблизительно, но с ходу въехать, что это перед нами такое.
Однако идеал идеалом, а в жизни куда важнее не он, а привычка. Привычку не тронь, это святое. И многие кодеры при знакомстве с новым редактором сильно интересуются, позволит ли он организовать привычную им подсветку.
Подсветка кода организована в разных редакторах по-разному. Вот один и тот же файл в KomodoEdit и в vim:
В одних она жёстко предопределена, в других допускает кастомизацию, но с немалым трудом (что часто вынуждает юзера плюнуть на возню с ней и юзать что дают), в третьих подсветка настраивается как угодно и довольно просто.
Komodo Edit как раз относится к последней категории.
Содержание
- Вводная
- Установка
- Первый запуск. Предварительная настройка интерфейса.
- Обновление.
- Настройка. Горячие клавиши.
- Настройка. Помощь по языку.
- Настройка. Шрифты. Подсветка кода.
- Организуем быструю и удобную работу
- Работа с удаленными файлами.
- Шпаргалка. Разные твики и приемы.
- Komodo Edit 9.1 Первый взгляд
Настройка. Шрифты. Подсветка кода.
Все настройки шрифтов и подсветки находятся в меню "Правка → Настройки → Шрифты и цвета". И настроек тут, надо сказать, до фига и даже намного больше.
На приведенном скрине вы видите, что в Схемах уже выставлена MyTheme-1, из чего читатель, знакомый со второй частью, легко может сделать вывод: все манипуляции с подсветкой производятся в "песочнице", каковой служит ваша юзерская тема (или схема). Разница в том, что в горячих клавишах всего три системных, неизменяемых темы, а здесь их – как собак нерезаных:
Так что вполне возможно, что вам подойдет какая-нибудь предустановленная схема, но при малейшей попытке в ней что-нибудь изменить вам, как и в случае с кейбиндами, будет предложено создать и назвать свою схему. И уж в ней вы можете разгуляться вовсю.
Под "сохранить" имеется ввиду "Применить", или "Активировать", поскольку сама схема уже сохранена в списке схем. В этом случае при применении новой схемы перезапуск редактора не потребуется.
Рассмотрим, однако, "Шрифты и цвета" по порядку.
Во вкладке Шрифты можно выбрать моноширинный (как на рис. вверху) либо пропорциональный вариант, и для выбранного назначить конкретный шрифт из тех, что установлены у вас в системе или лежат в папке ~/.font, а назначенному шрифту выставить кегль, начертание и цвет. Выше, в окошке "Текст примера", можно немедленно, до сохранения, наблюдать результаты своих манипуляций.
Тут еще можно вроде бы определить шрифтовые конфигурации отдельно для каждой кодировки, но поскольку по моим понятиям эта фишка уже попадает в категорию "барство дикое", я ее не исследовал. Кому нужно – смотрите сами. Главное, чтобы в "Настройках → Интернационализация" было выставлено "Автоопределение кодировки файла при открытии".
Во вкладке "Цвета" мы можем поменять цвет для многих элементов редактора, исключая подсветку синтаксиса:
Здесь же можно включить подсветку текущей строки и перекрытие цвета текста в выделении (чтобы понять, что это такое, поставьте галку и увидите результат в сэмпловом окошке вверху).
Далее следует вкладка "Общий синтаксис":
В ней мы можем задать цветовое оформление некоторым базовым синтаксическим элементам для конкретной цветовой схемы:
Однако в случае одной из предустановленных схем вам опять-таки будет немедленно предложено создать и назвать новую схему, т.е. принцип "песочницы" действует неукоснительно.
Смысл настроек в этой вкладке тот, что мы здесь определяем цвета основных синтаксических элементов для всех языков, а затем можем переопределить их в следующей вкладке "Отдельно по языкам" для конкретных языков. Извините за мой язык (и заодно за каламбур )
К примеру, мне незачем менять вид "плохой" (незакрытой) скобки, bracebad, для какого-то конкретного языка, а вот комментарии раскрашиваются у меня немного по-разному для html/css и для php/javascript (так уж сложилось исторически, см. о привычке в начале).
Таким образом, мы уже фактически начали рассмотрение следующей вкладки, "Отдельно по языкам".
Собственно, после всего сказанного рассматривать тут особенно и нечего, а надо, засучив рукава, приниматься за настройку. Которой, в зависимости от ваших целей и запросов, может оказаться до фига. Вот, к примеру, "фронт работ" для подсветки css:
Тут всё индивидуально, и поэтому я отмечу лишь два важных, на мой взгляд, момента, которые поначалу могут ускользнуть от внимания.
Во-1-х, окошко "Текст примера" отнюдь не деревянное, туда можно вставлять свой текст или менять его там "на лету", и как уже сказано, наши настройки отображаются там сразу после выбора цвета, до сохранения настроек. Это сильно помогает в отладке подсветки.
И во-2-х, обратите внимание на чек-бокс "Использовать другой цвет фона, когда используется подъязык". Тут, надо сказать, перевод laborpago неудачен, "подъязык" отдает чем-то пилюльно-медицинским, лучше бы, наверно, оставить анлийскую кальку "суб-язык", но дело в том, что и такой вариант практически ничего нам не объясняет.
А смысл в этом вот какой: если вы, к примеру, настраивая подсветку для css, отметите этот чек-бокс и выберете для суб-языка цвет бэкграунда (полегче с насыщенностью!), то вставка css в документе html будет подкрашиваться выбранным цветом:
Как видите, здесь получили бледно-розовый бэкграунд даже инлайновые css-элементы. Имхо, это замечательная фишка, она действует и по отношению к javascript'у, и... почему-то не действует относительно вставок php . Но, как говорится, спасибо и на том.
Попытаемся дать определение: если вы включили чек-бокс "Использовать другой цвет фона, когда используется подъязык", настраивая подсветку определенного языка, то вставка фрагмента этого языка в документ, основной язык которого другой, подсвечивается выбранным вами фоновым цветом.
И более того: Komodo Edit не только распознает другой язык во вставках, но и при их правке выбрасывает выпадающие подсказки для языка именно вставки:
У нас осталась последняя вкладка: "Индикаторы"
После всего, что мы выяснили выше, смысл и особенности настройки этой вкладки, имхо, не должны вызывать никаких вопросов. Просто порадуемся, что майнтайнеры не забыли и о возможности тонкой настройки предупреждений и маркеров редактора, которые тоже влияют на привлекательность внешнего вида и удобство работы.
И под конец упомянем об "Используемой пипетке", или, лучше сказать, о встроенном цветопробнике Komodo Edit. Несмотря на чек-бокс, он в редакторе единственный (не знаю, возможно в Komodo IDE есть еще какой-то) и вполне хороший. В настройках шрифтов и цветов он вызывается "на посмотреть" кнопкой "Тест" внизу, а "по делу" – треугольниками рядом с цветными квадратами и позволяет выбирать цвет "плавно".
Но главная его работа – в "боевой" обстановке написания или правки кода.
Если мы (обычно на css-странице) расположим курсор над обозначением цвета и нажмем Ctrl, то возникнет прямоугольник, показывающий этот цвет в натуре. А если мы еще и щелкнем ЛКМ, то тут-то он, цветопробник, и появится.
Если мы выберем в нем цвет и нажмем ОК, то обозначение выбранного цвета (rgb или #nnn) автоматом пропишется в код вместо текущего. Прекрасная фишка, и она совсем освободила бы нас от необходимости устанавливать в систему посторонние цветопробники вроде Gcolor2, если бы умела работать с прозрачностью. Но чего нет, того нет. Будем надеяться, еще появится, ведь на дворе css3.
2014-09-24 в 13:27:15
>После скачивания и распаковки в каталог
>и перезапуска Komodo Edit
Врете. Перезапуск не требуется, к тому же достаточно перетянуть схему на окно редактора и она установится сразу (и к тому же автоматом включится, спросив "Оставить или вернуть прежнюю").
2014-09-24 в 17:52:22
Не вру, и даже не заблуждаюсь. После распаковки в ~/.komodoedit/8.5/schemes/ при запущенном редакторе схемы не видны в настройках до перезапуска. При перетаскивании (я им просто никогда не пользовался, даже в давние виндовые времена) действительно возникает окошко с вопросом "Импортировать цветовую схему Аляля.ksf в Komodo?" Это я добавлю, спасибо. Мышкодавам это понравится.
2014-09-24 в 18:07:30
Распаковывать на рабочий стол не обязательно %)
И после согласия, как я уже сказал, будет необходимо подтвердить новую схему как установленную (по сути нажать на кнопку или вернуть старую (и о Боже - старая возвращается так же нажатием кнопки!)).
2014-09-24 в 18:48:06
"Распаковывать на рабочий стол не обязательно" Дело в том, что гуишными файловыми менеджерами я практически не пользуюсь, поэтому тащить мышой файл мне только с рабстола.
Да, Вы правы, со второго или даже третьего захода и у меня появилась полоса на месте тулбара с запросом на сохранение (а с первого раза почему-то нет). Исправляю, и смастерю скриншот. Спасибо за конструктивную критику