Синтаксис 1с для notepad

Для того, чтобы добавить поддержку подсветки 1С в Notepad++, распакуйте файл, который приложен в конце публикации и откройте Notepad++. Далее:

Далее в открывшемся окне:

После чего при открытии файла с расширением os, либо при щелчке в меню на "Синтаксисы" 1C Ent текст будет подсвечен вот так:

Красиво ведь правда?

PS: Файл был найден на просторах интернета и авторства в оригинале сейчас не вспомнить, но мы его основательно пересмотрели и доработали.

Программируя в 1С привыкаешь к подсветке синтаксиса, используемой в конфигураторе, но когда хочешь распечатать исходник какого-либо модуля, чтоб вечерком посидеть с карандашом и подумать над написанным, то возникает некоторая проблема: а как же его распечатать с сохранением подсветки? Копипаст в текстовый редактор — потеря раскраски, печать напрямую из конфигуратора — тот же результат.

В последнее время подсел на notepad++, он умеет печатать с выбранной подсветкой синтаксиса, но проблема в том, что нет подсветки именно для языка, используемого в 1С. Долго и безрезультатно искал нужную подсветку синтаксиса. Нашел на одном сайте, но они просят денег и нет гарантии, что это то самое искомое.

Попытался сам вручную создать подсветку, но все шаманства с xml файлами не приводили к успеху. Наткнулся на статью «Включаем подсветку синтаксиса для less файлов в Notepad++», ожидал увидеть там рецепт создания этой самой подсветки, но как и многие комментирующие был разочарован содержанием поста. В результате копания мануалов у меня получилось таки создать нужную мне подсветку. Оказывается это совсем не сложно! Итак приступим:

  1. Открываем Notepad++.
  2. Для удобства открываем текстовый файл с кодом, который будем раскрашивать.
  3. В меню «Синтаксис» выбираем параметр «Свои настройки»
  4. В меню «Вид» выбираем пункт «Пользовательское определение языка» или нажимаем на панели инструментов кнопку:

    Откроется окно настроек синтаксиса. Можно нажать кнопку «Стыковать» в правом верхнем углу (которая может называться «Dock», в зависимости от полноты перевода интерфейса), чтоб прилепить к правому краю окна. Плюсом такого решения будет полоса прокрутки, дающая возможность добраться до нижних параметров, которые могут просто не влезть по вертикали в монитор
  5. На вкладке «Стандартный» настраиваем базовый стиль отображения в разделе «Настройка стандартного стиля»: основной шрифт, размер, цвет фона и текста, который не будет попадать под остальную раскраску. Все параметры применяются сразу и любые изменения можно наблюдать воочию.

    На этой же вкладке в разделе «Настройка открытия ключевых слов» указываем теги группы, по которым определяются блоки текста. Например, у нас блоком является все, что между операторами «Процедура» и «КонецПроцедуры», следовательно «Процедура» пишем в первое поле, а «КонецПроцедуры» в поле ниже. Для каждой группы можно указать отдельные настройки шрифта и цвета. Ключевые слова разделяются пробелом. Добавим туда процедуры циклов и условий, чтоб можно было сворачивать их в группы.
  6. С блоками разобрались, теперь подкрасим ключевые слова. Для этого нам понадобится вкладка «Списки ключевых слов». Здесь нам доступны 4 группы, которые мы можем использовать как нам заблагорассудится. Добавляем в первую все операторы, которые нужно выделить цветом, это будут всякие «Перем», «Выбрать» и т.п. Во вторую группу пропишем инструкции препроцессора "#" и поставим галочку «Префикс» для того, чтоб цветовая схема распространилась и на слово после этого символа.
  7. Плавно переходим на вкладку раскраски комментариев. Заполнение этой вкладки не должно вызвать каких-либо затруднений.
  8. Вкладка «Операторы» немного отличается от описанных выше. Здесь нам предоставляют список одиночных операторов, которые мы можем раскрасить. При помощи кнопки со стрелкой переносим нужные нам операторы в поле «Активные операторы» и ниже выставляем параметры раскраски. Чекбокс «Включить знак перехода» мне ничем не помог, так как при включении появляются в поле китайские символы и никак не хотят меняться. Далее следует группа разделителей: тут указываем цветовые и шрифтовые параметры для окавыченного текста. Думаю затруднений не составит сделать настройки на свой вкус.
  9. Теперь осталось сохранить наше творение под каким либо именем. Для этого в верхней части окна нажимаем кнопку «Сохранить как. » и вводим имя нашей синтаксической подсветки. Раскраска сохраняется в специальном файле userDefineLang.xml. Настройки можно экспортировать в отдельный файл, который в последствии можно распространять.

    Кстати чекбокс «Любой регистр» почему-то игнорируется и подсветка остаётся регистрозависимой.
Читайте также  Программа для создания схем и таблиц

Всё! Наконец-то теперь можно распечатать код в цвете:

Единственное неудобство — это выбирать подсветку синтаксиса вручную при каждом открытии файла.

Ссылка на готовый xml для подсветки языка 1С на Github. Для использования у себя нужно сделать импорт через «Пользовательское определение языка» и перезапустить Notepad++.

А определить свой синтаксис кода в Notepad++ поначалу оказалось не так легко – казалось бы в интуитивно-понятных местах этого сделать было нельзя (Опции–>Настройки–>Синтаксис/Табуляция, ни Опции–>Определение стилей оказалось несколько иным).

Но это можно открыть в главном толбаре, кнопкой Пользовательское определение языка

Немного помучившись, вбил основные элементы языка в определение стиля и сохранил в файл Экспортир. style-1C.xml, который можете скачать, если лень вручную определять, нажав кнопку Импортир. и выбрав скачанный файл настроек.

Но, к сожалению, забыл погуглить на сей счет – такие стили уже были выложены до меня, ссылки на них приведены в комментариях. Однако, некоторые стили 1С меня не устраивают, и шаблончик я всё же оставил на свой вкус.

P.S. Чем хорош Notepad++ по сравнению с конфигуратором 1С:

– Возможность создания собственного списка API функций (или скачать его со страницы загрузки).
– Поддержка регулярных выражений Поиска/Замены и их проверка ( http://avprog.ru/public/165085/ )
– Полная поддержка перетягивания фрагментов текста.
– Динамическое изменение окон просмотра.
– Автоматическое определение состояния файла (уведомление об изменении или удалении файла другой программой — с возможностью перезагрузить файл или удалить его из программы).
– Увеличение и уменьшение (масштабирование).
– Поддержка большого количества языков.
– Листинг программ можно печатать в цвете — так, как вы видите на экране в окне редактирования.
– Заметки о документе.
– Выделение скобок при редактировании текста.
– Запись макроса и его выполнение.

Читайте также  Сбой в работе вконтакте сегодня

– Возможность просмотра мини-карты текста (Document Map)

UPD 12.11.2012: Добавлена подсветка языка запросов, подкорректированы правила подсветки.

UPD 11.12.2012: незначительная корректировка правил подсветки.

Ссылка на основную публикацию
Adblock detector