Подсветка синтаксиса 1C (в том числе языка запросов) в Notepad++

Опубликовал Алексей Т. (CratosX) в раздел Программирование - Инструментарий

Конфигуратор 1С как редактор кода не всегда удовлетворяет потребностям программиста в управлении кода. Я зачастую с завистью вспоминаю другие среды разработки программ, и нередко копировал куски 1С кода в стороннюю программу для каких-либо манипуляций - например, Notepad++. К сожалению, в нём нет встроенной поддержки синтаксиса кода 1С, из-за чего пришлось определять свой. Вот об этом я и расскажу.

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

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

 Кнопка в меню

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

 

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

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

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

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

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

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

Скачать файлы

Наименование Файл Версия Размер
Стиль 1С и Язык запросов
.zip 4,63Kb
11.12.12
348
.zip 4,63Kb 348 Скачать

См. также

Комментарии
1. Олег (OLEG4120) 102 27.03.12 10:46 Сейчас в теме
Я делал сам. но так и не зарабатала для UTF-8, только для ASCI. Как у Вас?
Не смог победить настройку для плагина FunctionList, говорит что правила неопределны
2. Сергей Ожерельев (Поручик) 3516 27.03.12 11:41 Сейчас в теме
(0) Долго мучился?
Файл разметки 1С для Notepad++ http://infostart.ru/public/64783/

Подсветка синтаксиса языка запросов 1С в текстовом редакторе Notepad++ http://infostart.ru/public/81978/
support; адуырщдв; Rustig; +3 Ответить 1
3. Тимур Иванов (stepman3) 7 27.03.12 13:56 Сейчас в теме
это конечно хорошо, но кто знает - можно ли сделать блоки для нотепада
для конструкци типа: процедура-конецпроцедуры, если-иначеесли-конецесли
?
4. Сергей Ожерельев (Поручик) 3516 27.03.12 14:13 Сейчас в теме
(3) Можно. На скрине есть. В силу особенностей Notepad++ нормальная расцветка для кириллических символов возможна только для кодировки ANSI.
Прикрепленные файлы:
Alien_job; CratosX; +2 Ответить
5. cratos2 (CratosX) 27.03.12 23:23 Сейчас в теме
(2) Поручик, да, забыл погуглить. И не мучился, а наслаждался :)
6. Николай . (Kolunya) 7 28.03.12 01:49 Сейчас в теме
ну и зачем так изврасчаться? типа если лень конфигуратор открывать???(((
7. cratos2 (CratosX) 28.03.12 08:38 Сейчас в теме
(6) Kolunya, в описании есть раскрываемый список достоинств работы в Notepad++ по сравнению с работой в Конфигураторе.
8. Александр Кунташов (kuntashov) 349 28.03.12 15:12 Сейчас в теме
Тем, кому не хватает возможностей Конфигуратора, стоит познакомиться с возможностями проекта Снегопат (http://snegopat.ru) и существующими для него скриптами (http://infostart.ru/public/104670/)
CratosX; fishca; +2 Ответить
9. Stamper (Stamper) 34 28.03.12 15:45 Сейчас в теме
не хочу показаться занудой, НО ЗАЧЕМ?!?!?! =)
из N++ можно подключиться к сессии для дебага? или можно внести изменения в конфигурацию? или подключиться к хранилищу??
я кроме crtl+C-ctrl+V другой возможности поучаствовать в процессе разработки не вижу
10. Алексей 1 (AlX0id) 28.03.12 15:57 Сейчас в теме
(7) cratos2,
раскрываемый список какой-то нераскрываемый, надобно отметить..
11. Stamper (Stamper) 34 28.03.12 16:09 Сейчас в теме
(10) AlX0id, я вообще не сразу понял, что это слово "интерактивно" =)
12. Яков Коган (Yashazz) 1987 28.03.12 21:11 Сейчас в теме
Да, баян для не любящих юзать поиск. Ещё сюда настройку для Far'овского плагина Colorer, и джентльменский набор образца 2003 года почти готов.
13. Роман Узьмов (RomanUzmov) 42 28.03.12 23:30 Сейчас в теме
Автор, конечно, молодец что поработал, но я немного не понимаю, зачем это нужно? Есть конфигуратор для этого...
14. Ruslan (rus128) 2 29.03.12 10:16 Сейчас в теме
"Чем хорош Notepad++ по сравнению с конфигуратором 1С:"
Так чем же? Кроме слова (не ссылки и не кнопки) "Раскрыть" - не вижу в описании ни слова об этом. Версия статьи глюкнула?
Сильно сомневаюсь, что внешний редактор может быть полезнее, чем полнофункциональная IDE - с отладчиком, хранилищем, проверкой синтаксиса и т.д. и т.п. А уж если Снегопат подключить - то Notepad++ вообще отдыхает.
15. Sergey Shik (sergeyshik) 3 29.03.12 11:02 Сейчас в теме
Тоже не нашел никаких плюсов от работы в блокноте++ . У блокнота есть очень большой недостаток: он никак не умеет отлаживать код. В шапке не увидел здравых плюсов для себя. Буду юзать конфигуратор-он как-то роднее и ближе)))
Grohovod; ingram; +2 Ответить 1
16. qwe qwerty (quebracho) 21 29.03.12 12:45 Сейчас в теме
17. Dmitriy (daho) 8 31.03.12 07:37 Сейчас в теме
(15) sergeyshik, Так то оно так... но иногда, если выносить из конфы модули во внешние файлы, на случай если на гарячую что надо переделать, то notepad, штука весьма полезная.. много времени позволит с экономить.. правда это более актуально для 7.7 в связке с 1С++ (с SciColorer) и gcomp и SVN при желании еще и багтреккер типу Mantis прикрутить.. все просто и со вкусом.. а главное надежно и эффективно... хорошие времена были.. но с наступлением 8-ки это уже в прошлом.. :( молодежь этого уже не знает.. :)
жаль что для в 8-ке нормальной системы версирования нету...
18. Dimon (klel) 02.04.12 22:04 Сейчас в теме
Отличная штучка осталось только воспользоваться и только
19. г. Казань Рустем Гумеров (Rustig) 784 03.04.12 10:58 Сейчас в теме
(6), (13) для написания отчетов с вставками алгоритмов. для заказчиков иногда полезно.
irbis_triffle; CratosX; +2 Ответить
20. Евгений Матыцин (matytsin_new) 21 30.05.12 07:38 Сейчас в теме
Неверно ставить вопрос - зачем делпть это в Notepad++
Те, кто не видит потребности - не пользуется.
Я вот, иногда, сверяю тексты модулей и запросов.
И Notepad++ очень экономит время. Так что - спасибо.
21. EfiopReal (Созинов) 07.06.12 20:36 Сейчас в теме
Статья по созданию файла синтаксиса на хабре: http://habrahabr.ru/post/144830/
Там же можно скачать xml файл для 1С. Задумался не нарушаю ли я правила инфостара давая внешние ссылки? пошел читать
23. yuri da4nic (yuri@da4nic.ru) 17.11.12 19:06 Сейчас в теме
(21) EfiopReal, Идея написать xml для подсветки синтаксиса 1с хорошая, но в процессе реализации вылезают огрехи, из статьи как с ними бороться неясно. Во-первых из двух ссылок на хабре одна битая. Во-вторых скачанный xml не импортируется в нп++ последней (6.2) версии хоть выглядит прилично - но чего-то не хватает в нем. Ну да ладно, главное, самому захотелось согласно рецепту статьи сделать свою подсветку и тут я столкнулся с тем, что если указать комментарий // то тогда перестает работать подсветка оператора деления / и наоборот - включаю подсветку оператора - пропадают комменты. А так шутка хорошая и полезная.
24. cratos2 (CratosX) 18.11.12 15:44 Сейчас в теме
(23) yuri@da4nic.ru,

Во-вторых скачанный xml не импортируется в нп++ последней (6.2) версии хоть выглядит прилично - но чего-то не хватает в нем.

Возможно, причина в багах, и возможно их исправили вот этим фиксом:

Notepad++ v6.2.1 fixed bugs:
<...>
3. Fix a crash issue due to the inconsistent userDefineLang.xml.


Кстати, про комментарий - в старых версиях Notepad++ был флаг "символ как слово", при установке которого при указании в качестве двух слешей не затирался одинарный слеш "деления"
yuri@da4nic.ru; +1 Ответить
26. Сергей Маслов (LexSeIch) 180 05.03.13 12:38 Сейчас в теме
Мир этому дому! А мне реализация идеи понравилась. Иногда под рукой нет 1С или кусок кода хочется сохранить "на память". Тогда эта штука самый то. А если добавить Notepad++ портабельный (на флешке), то вообще класс.
27. artur rakhmatulin (нормальный такой) 81 25.11.13 10:43 Сейчас в теме
Блин, импортировал - не работает ... пичаль.
версия 6.2.3
28. artur rakhmatulin (нормальный такой) 81 25.11.13 10:52 Сейчас в теме
упс. наврал))
надо было перезапустить приложение! (а так лень было... много файлов открыто)

работает. Сасибо :)

29. V. L. (Vladal) 410 25.08.15 12:50 Сейчас в теме
У меня не работает. Версия npp 6.7.8.2, файлы с модулями из 1С 7.7.
И импортировал и экспортировал, и удалял, и нпп перезапускал, и фотографию свою ему показывал - не работает... все буквы синим, ключевых слов не видит, только комментарии зеленым подсвечивает да знаки препинания красным.
30. Алексей Т. (CratosX) 97 16.11.15 16:52 Сейчас в теме
(29) Vladal, вот только недавно наткнулся на такую проблему у себя. Мне помогло: удаление настроенного синтаксиса, перезапуск, добавление нового, перезапуск. Видимо на каких-то релизах npp падало.
Светлый ум; +1 Ответить
31. Константин Куликов (Светлый ум) 195 21.10.16 11:11 Сейчас в теме
После установки синтаксиса (импортирования) - о переоткрыть Notepad