Любая тема — чей-то чужой вкус. Тридцать штук идут в комплекте с Codeshot, каждая в светлом и тёмном варианте, и одна из них обычно подходит достаточно близко — но достаточно близко — странная планка для картинки, под которой стоит ваше имя.
На Mac мириться с этим больше не нужно. Настройки → Темы дают вам собственную тему: тринадцать цветов, превью, которое перерисовывается по мере выбора, и файл, который можно кому-то отдать.
Где это находится
Откройте настройки Codeshot и перейдите на вкладку Темы. Слева — список ваших тем. + добавляет тему, − удаляет выбранную.
Справа — пример кода в выбранной теме, под ним поле имени, а ниже список цветов. Вся панель живая: поменяйте цвет, и пример сверху перерисуется сразу же.
Важны два элемента. Поле имени переименовывает тему. Use This Theme делает её той темой, которой приложение действительно рисует, — редактирование темы не переключает на неё, и именно этот шаг обычно забывают.
Тринадцать цветов
Тема подсветки — это не тринадцать равнозначных решений. Два задают настроение, одиннадцать делают работу.
| Цвет | Что охватывает |
|---|---|
| Background | Бумага за кодом |
| Plain Text | Всё, на что подсветка не претендует: знаки препинания, скобки, операторы |
| Keywords | let, var, struct, func, return |
| Strings | Текст в кавычках |
| Numbers | Числовые литералы |
| Comments | Комментарии и документация |
| Declared Types | Типы, объявленные в самом фрагменте |
| Library Types | Типы из фреймворка: String, View, CGFloat |
| Functions | Имена функций и методов |
| Members | Свойства и члены, к которым обращаются через точку |
| Variables | Имена переменных |
| Annotations | Property wrappers и аннотации, @State и подобные |
| Attributes | Имена атрибутов, в основном в языках разметки |
Заполнять все тринадцать разными цветами не нужно. Темы, которые хорошо читаются, обычно обходятся четырьмя-пятью оттенками и повторяют их: типы и функции делят один, ключевые слова и аннотации — другой. Тринадцать разных цветов — это не тема, это ваза с фруктами.
Порядок, который работает
Начните с Background и Plain Text и доведите эту пару до ума, прежде чем трогать остальное. Все прочие решения оцениваются относительно них, так что выбирать их последними — значит выбирать всё заново.
Затем задайте Comments, и задайте приглушённо. Комментарии — единственный токен, который должен отступать на второй план: это контекст, а не код. Тема, где комментарии кричат так же громко, как ключевые слова, читается как шум, какой бы хорошей ни была остальная палитра.
Дальше ключевые слова, строки и числа — именно туда в реальном фрагменте попадает большая часть цвета. Типы, функции и члены после них, а последние вполне могут повторять уже выбранные цвета.
Смотрите в превью на каждом шаге, а не в конце. Панель для того и сделана, чтобы судить палитру по настоящему коду: пипетки врут, код — нет.
Что стоит знать до выбора цветов
Контраст — не роскошь. Картинки с кодом уменьшаются в ленте, их смотрят с телефона при дневном свете, и платформа сжимает их ещё раз. Сдержанная низкоконтрастная палитра, которая выглядит изысканно в полном размере, к моменту прочтения уже нечитаема. Если цвет трудно прочесть в превью, в ленте его нет.
Избегайте чисто чёрного фона, если только вы не экспортируете с прозрачностью или на тёмную подложку. На светлых обоях #000000 читается как дыра. Хорошие тёмные темы держатся в районе #1F1F24—#282C34 именно поэтому.
Комментарии и обычный текст должны различаться. Если их яркость близка, проза и код сливаются в один серый блок и форма фрагмента исчезает.
Можно повторить тему редактора, но проверьте её вне редактора. Тема Xcode настроена на большое окно за столом. Те же цвета в картинке шириной 1000 пикселей на чужом телефоне — совсем другая история, и обычно им нужен чуть больший контраст, чем оригиналу.
Как поделиться темой
Меню ⋯ внизу списка тем импортирует и экспортирует файлы тем.
Экспорт записывает тему в файл, импорт читает её обратно. Так тема попадает с вашего Mac на другой ваш Mac, в резервную копию или к кому-то в команде — и именно это делает общую палитру пригодной больше чем для одного человека.
Когда встроенные тридцать — ответ получше
Собирать свою тему стоит, когда вы делаете картинки регулярно и хотите, чтобы они выглядели как серия: цикл постов, документация продукта, слайды доклада.
Ради одного фрагмента — нет. Тридцать тем из комплекта все сделаны аккуратно, все есть в светлом и тёмном варианте и находятся в двух кликах. Сравните их рядом и возьмите ту, что подходит фрагменту.
Редактор нужен для случая, когда вы это уже сделали, а ответ всё равно был почти.