gifts2017

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

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

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

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

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

 Кнопка в меню

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

 

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

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

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

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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

Подсветка синтаксиса языка запросов 1С в текстовом редакторе Notepad++ http://infostart.ru/public/81978/
адуырщдв; Rustig; +2 Ответить 1
3. Тимур Иванов (stepman3) 27.03.12 13:56
это конечно хорошо, но кто знает - можно ли сделать блоки для нотепада
для конструкци типа: процедура-конецпроцедуры, если-иначеесли-конецесли
?
4. Сергей Ожерельев (Поручик) 27.03.12 14:13
(3) Можно. На скрине есть. В силу особенностей Notepad++ нормальная расцветка для кириллических символов возможна только для кодировки ANSI.
Прикрепленные файлы:
5. cratos2 (CratosX) 27.03.12 23:23
(2) Поручик, да, забыл погуглить. И не мучился, а наслаждался :)
6. Николай . (Kolunya) 28.03.12 01:49
ну и зачем так изврасчаться? типа если лень конфигуратор открывать???(((
7. cratos2 (CratosX) 28.03.12 08:38
(6) Kolunya, в описании есть раскрываемый список достоинств работы в Notepad++ по сравнению с работой в Конфигураторе.
8. Александр Кунташов (kuntashov) 28.03.12 15:12
Тем, кому не хватает возможностей Конфигуратора, стоит познакомиться с возможностями проекта Снегопат (http://snegopat.ru) и существующими для него скриптами (http://infostart.ru/public/104670/)
CratosX; fishca; +2 Ответить
9. Stamper (Stamper) 28.03.12 15:45
не хочу показаться занудой, НО ЗАЧЕМ?!?!?! =)
из N++ можно подключиться к сессии для дебага? или можно внести изменения в конфигурацию? или подключиться к хранилищу??
я кроме crtl+C-ctrl+V другой возможности поучаствовать в процессе разработки не вижу
10. Алексей 1 (AlX0id) 28.03.12 15:57
(7) cratos2,
раскрываемый список какой-то нераскрываемый, надобно отметить..
11. Stamper (Stamper) 28.03.12 16:09
(10) AlX0id, я вообще не сразу понял, что это слово "интерактивно" =)
12. Яков Коган (Yashazz) 28.03.12 21:11
Да, баян для не любящих юзать поиск. Ещё сюда настройку для Far'овского плагина Colorer, и джентльменский набор образца 2003 года почти готов.
13. Роман Узьмов (RomanUzmov) 28.03.12 23:30
Автор, конечно, молодец что поработал, но я немного не понимаю, зачем это нужно? Есть конфигуратор для этого...
14. Ruslan (rus128) 29.03.12 10:16
"Чем хорош Notepad++ по сравнению с конфигуратором 1С:"
Так чем же? Кроме слова (не ссылки и не кнопки) "Раскрыть" - не вижу в описании ни слова об этом. Версия статьи глюкнула?
Сильно сомневаюсь, что внешний редактор может быть полезнее, чем полнофункциональная IDE - с отладчиком, хранилищем, проверкой синтаксиса и т.д. и т.п. А уж если Снегопат подключить - то Notepad++ вообще отдыхает.
15. Sergey Shik (sergeyshik) 29.03.12 11:02
Тоже не нашел никаких плюсов от работы в блокноте++ . У блокнота есть очень большой недостаток: он никак не умеет отлаживать код. В шапке не увидел здравых плюсов для себя. Буду юзать конфигуратор-он как-то роднее и ближе)))
Grohovod; ingram; +2 Ответить 1
16. qwe qwerty (quebracho) 29.03.12 12:45
17. Dmitriy (daho) 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) 03.04.12 10:58
(6), (13) для написания отчетов с вставками алгоритмов. для заказчиков иногда полезно.
irbis_triffle; CratosX; +2 Ответить
20. Евгений Матыцин (matytsin_new) 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) 05.03.13 12:38
Мир этому дому! А мне реализация идеи понравилась. Иногда под рукой нет 1С или кусок кода хочется сохранить "на память". Тогда эта штука самый то. А если добавить Notepad++ портабельный (на флешке), то вообще класс.
27. artur rakhmatulin (нормальный такой) 25.11.13 10:43
Блин, импортировал - не работает ... пичаль.
версия 6.2.3
28. artur rakhmatulin (нормальный такой) 25.11.13 10:52
упс. наврал))
надо было перезапустить приложение! (а так лень было... много файлов открыто)

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

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