Непредвиденный символ при чтении json 1с ошибка как исправить
Наверное, во мне умер один дизайнер, но меня хлебом не корми, дай с цветами поиграться. Я давно еще нашел набор цветов темы Solarized для конфигуратора, настроил себе и был счастлив. Но потом, когда начал работать в Android Studio из семейства IDEA, я увидел, сколько бывает разных цветов схем, нашел сайты, посвященные им, и пропал надолго. Вот бы такое в конфигураторе, подумал я, и взялся за разработку.
Хорошо подобранная цветовая схема делает код более читаемым, приятным глазу. После такой схемы стандартная навевает тоску. Да и вообще, необычное оформление может преобразить код до неузнаваемости:
Далее я опишу функционал разработки, но можно сначала вместо 1000 слов посмотреть видео, в котором я кратко показываю и комментирую обработку в деле.
Я писал обработку на английском, в, так называемом, DelphiStyle, когда ключевые слова пишутся в нижнем регистре, а все остальные лексемы в обычном CamelCase. Сначала было тяжеловато, но потом втянулся и стал даже немного кайфовать. Код получается более лаконичным и, пожалуй, даже более читаемым. Часть кода, которая касалась общих функций и Конфигуратора, писал в Конфигураторе, код для EDT - в EDT. Если кратко, с формами сейчас удобнее работать в Конфигураторе, с кодом - в EDT. Но что бесит больше всего, так это обход синхронных вызовов. В EDT вообще нет их автоматического рефакторинга, а код с ними превращается в спагетти. Так что остается Ждать Обещание конструкций
В заголовке формы пишется название текущей цветовой схемы (1). При открытии будут выбраны схемы, которые сейчас установлены в Конфигураторе и EDT, и в заголовке будет указано <Default>.
Слева располагается три типа источников (2), при открытии выбрано расположение Локально. В данном случае в списке (4) появятся все подходящие файлы цветовых схем (с расширениями csi, jar, icls, xml, tmtheme), которые вы скачаете из Интернета (ссылки в конце статьи) и положите в папку (3).
Жирным выделены файлы *.csi, специального формата именно для этой обработки, которые создаются через кнопку (10). Используя эти файлы, вы можете сохранять в избранное понравившееся вам схемы, отредактированные вами схемы, переносить раскраску на другой компьютер, может, даже делиться с кем-то схемой.
Обработка предназначена как для конфигуратора, так и для EDT, поэтому правая часть экрана, относящаяся к конкретным IDE, переключается вкладками (5). Для каждой области используется свой функционал, за исключением кнопки (10), она сохраняет настройки сразу по обеим IDE.
При смене текущей строки в списке (4), тут же меняется пример кода на русском и английском в поле (6) и используемая палитра (7). В примере кода использованы, по возможности, все варианты лексем, чтобы можно было увидеть полную палитру цветов.
При клике на части кода в (6) можно спозиционироваться на соответствующем цвете в (7) и поменять его, если текущий вариант вас не устраивает. Можно задать цвет RGB вручную или выбрать один из веб-цветов. А можно вообще психануть и поменять все цвета на противоположные через кнопку (8).
После того, как вы выбрали и, может, подправили схему, ее можно загружать в Конфигуратор с помощью кнопки (9). После нажатия вам надо будет в качестве подтверждения выбрать файл настроек 1cv8.pfl. Он у вас будет отображаться один среди папок. Есть небольшая вероятность, что у вас настройки берутся из предыдущей версии 1С, и в открывшейся папке файла не будет. Тогда следует посмотреть файл в рядом лежащей папке 1Cv81 или 1Cv82. После записи нужно просто перезапустить Конфигуратор, и вы увидите код в новой цветовой схеме.
При первом запуске обработки, у вас, конечно, список (4) будет пуст, но можно даже ничего не качать, для этого есть еще две вкладки (2).
На этих вкладках идет подключение к сайтам (4) с цветовыми схемами для IDEA и Sublime, и динамическое получение списка схем по API. В списке (3) появляется оформление строк, так можно сразу понять, это будет светлая или темная схема.
В верху списка находятся кнопки сортировки (1). Можно отсортировать список по названию, по "светлости" и по популярности (количестве загрузок). Также можно искать схему по названию.
По умолчанию идет сортировка по популярности и выбирается TOP-100 схем (2). Вы можете изменить это число, всего на сайте сейчас представлено более 600 схем, однако при большом числе выборки будет более долгая загрузка.
Для сайта по Sublime все тоже самое, только произойдет загрузка сразу всех 600 - 700 схем, и не будет сортировки по популярности. Если сравнивать эти вкладки, то, вроде, удобней работать с IDEA, т.к. тут показываются сразу популярные схемы. Для Sublime же поиск будет сложнее, некоторые позиции даже не будут открываться, из-за удаленного репозитория или схемы неверного формата, однако там встречаются "жемчужины", которые идеально ложатся на 1С, особенно, EDT.
В правой части можно увидеть вариант для EDT. Здесь уже другой пример кода (5) и палитра (6), на которой столько цветов, что они не поместились в одном списке. И это не полный список, особо редкие случаи я еще не покрыл, думаю, добавлю их в следующих версиях.
Чтобы считывалась текущая цветовая схема, и можно было загружать новые, необходимо указать путь к рабочей области (Workspace) EDT (7). Дальше можно сохранять настройки (8). Вас попросят подтвердить перезапись двух файлов, но перед этим нужно будет закрыть саму EDT.
Раньше я тоже думал, что все эти разговоры про темные темы, это просто необоснованные понты "тру" программистов. Но потом поработал в Android Studio и Sublime, и понял, что эти разговоры не беспочвенны. Не знаю, как объяснить, но темные цветовые схемы приятней глазу, лучше погружают в рабочий процесс и более выразительны. И популярность темных тем можно отследить по спискам, полученных с сайтов. Там темные силы одерживают верх над светлыми с численным перевесом, по крайней мере, в два - три раза.
Но в 1С с этим пока не очень. В Конфигураторе темной темы вообще нет. В EDT она присутствует, но работает немного корявенько. Где-то фон меню остается белым. Бывает, что не перекрашивается фон кода, хотя в настройках стоит верный цвет. Если зайти в настройки цвета и поменять хотя бы одну цифру, фон станет на место. В Конфигураторе каких-то изменений ждать не стоит, а вот в EDT-то должны это починить, и можно будет выбирать любую тему спокойно.
Новое в версии 1.2.1
В этом году, к сожалению, перестал работать онлайн-сервис с цветовыми схемами для IDEA. Однако, к счастью, автор сохранил все данные сервиса в открытом репозитории на GitHub. Я перенес необходимые файлы в обработку, подменил обращение к сервису. Поэтому обработка "распухла", стала занимать больше места на диске, зато работа со схемами IDEA может происходить в локальном режиме.
Также в новой версии было исправлено несколько небольших ошибок.
Новое в версии 1.1.2
В этой версии не появилось какого-то совершенно нового функционала, однако сделано несколько небольших исправлений и доработок:
- Теперь обработка должна корректно работать на всех версиях плаформы и режима совместимости начиная с 8.3.6.
- Теперь текущие цветовые схемы, установленные в вашей системе, и цветовые схемы сред по умолчанию выделены в отдельные пункты списка <Current> и <Default>, поэтому с ними можно сравнивать новые схемы, либо возвращаться к ним.
- Добавлена возможность быстрого изменения яркости конкретного цвета с помощью кнопок регулирования.
- Исправления в цветовом оформлении некоторых лексем на предпросмотре кода.
- Добавлена форма с полезными ссылками.
- Исправления других мелких недочетов.
Что дальше?
Надеюсь, это решение пригодится разработчикам, и вы сами предложите варианты развития обработки. Однако, что я вижу сейчас, это возможность играться не только с цветами, но и со шрифтами. В Конфигураторе можно выбрать шрифт только для всего кода, а в EDT можно настраивать стиль написания для каждой лексемы отдельно. Например, ключевые слова жирным, директивы - курсивом. Это также повышает визуальную составляющую кода. И хорошо, что в цветовых схемах, что я подключил, есть описание таких настроек, так что нужно будет добавить эти настройки и их загрузку из источников.
Благодарности
Конечно, моя разработка не является чем-то совсем уникальным и не родилась на пустом месте. Поэтому я хотел бы поблагодарить:
- Автора с ником Ramz и его Визуальный редактор цветовых схем. У него я подсмотрел как можно распарсить файл настроек Конфигуратора и как оформить предпросмотр кода.
- Никиту Грызлова и его разработку Подсветка синтаксиса 1С в текстовых редакторах. Благодаря плагину для Sublime, я увидел, как круто может выглядеть код 1С, когда его хорошенечко покрасишь, и окончательно загорелся своей разработкой.
- Nakonechniy Dmitry, который разместил публикацию Приятная глазу цветовая схема, а именно Solarized. Здесь я впервые понял, что код в 1С можно раскрасить по-другому, и это будет круто.
Ссылки
Адреса сайтов, на которых можно скачать цветовые схемы для IDEA и Sublime, т.е. подходящие для этой обработки:
Читайте также: