Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды

Программирование - Инструментарий

37
Позволяет редактировать bsl-модули (или просто текст из буфера обмена, как на скриншоте) с традиционной для 1С подсветкой синтаксиса. Рисует список функций слева в 3-х вариантах: 1. Просто список функций 2. Список функций с группировкой по областям 3. Список вызовов 4. Язык запросов

В Notepad++ есть удобный список функций, в файле functionList.xml описываются правила его построения для всяких разных языков, этот файл у меня лежит в C:\Program Files\Notepad++. Но его размещение зависит от настроек при инсталляции - попробуйте его поменять (например - запороть), чтобы понять - используется он или не он. Во вложении фрагменты этого файла, отвечающие за язык 1С (вколючая язык запросов). Список функций привязан к языку. Поэтому для разных методов постоения списка функций я задал разные языки 1С (на первом скриншоте). Вызывается список функций (при открытом файле с исходным кодом и выбранным для него одним из 1С-языков) так:

Рисует список функций слева в 3-х вариантах:

  1. Просто список функций. Для разнообразия представления добавил туда &НаКлиенте Процедура к заголовку.
  2. Список функций с группировкой по областям.
  3. Список вызовов. Собственно из-за чего вся заморочка со списком в Notepad++ -- чтобы можно было посмотреть к каким внешним модулям обращается данный модуль. Для этого и создан список вызовов. Отличить внешние от внутренних на уровне парсинга текста я не сумел. Поэтому внутренние тоже присутствуют. Однако если отсортировать список функций по алфавиту - то в куче мусора жемчужины вполне просматриваются.
  4. Список для языка запросов. Помогает ориентироваться в очень длинных запросах по всяким левым признакам (напр. внешнему виду ГДЕ) - хорош когда не хватает навигация стандартного конструктора запроса с его "Запрос 37"

Я часто использую Notepad++ напр. для быстрого сравнения двух похожих кусков кода:

Содержание архива:
1. Файл 1C-language-npp.v1.xml - готов к использованию. См. скриншоты 1 и 2 где этот файл указывать в Notepad++ (Я для себя загружал 3 раза для возможности построения 3-х разных списков функций)
2. Файл 1C-Query-npp.v1.xml -- готов к использованию. То же самое для языка запросов 1С
3. Файл functionList.v1.xml -- НЕ ГОТОВ К ИСПОЛЬЗОВАНИЮ. Это набор 2-х фрагментов файла functionList.xml, которые надо вставить в используемый Notepad++ functionList.xml

37

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

Наименование Файл Версия Размер
Архив 3-х файлов для Notepad++
.zip 7,15Kb
14.09.18
14
.zip 1 7,15Kb 14 Скачать

См. также

Комментарии
Сортировка: Древо
1. dabu-dabu 7 11.09.18 17:01 Сейчас в теме
Не удается импортировать functionList.v1.xml. Пишет что failed и все. Версия notepad последняя
2. albert.goncharov 51 11.09.18 23:09 Сейчас в теме
(1) Файл functionList.v1.xml -- НЕ ГОТОВ К ИСПОЛЬЗОВАНИЮ. Это набор 2-х фрагментов файла functionList.xml, которые надо вставить в используемый Notepad++ functionList.xml
Внёс в тело статьи описание файлов. Извините!
3. JohnyDeath 291 12.09.18 08:08 Сейчас в теме
Visual Studio Code приятнее и навороченней.
Попробуйте.
https://code.visualstudio.com
+ расширение для bsl (+os): https://marketplace.visualstudio.com/items?itemName=xDrivenDevelopment.language-1c-bsl
4. 7OH 31 12.09.18 09:32 Сейчас в теме
(3) вижуалы ставить для просмотра кода ?
7. JohnyDeath 291 12.09.18 13:05 Сейчас в теме
(4) это не полноценная студия, а редактор с плагинами.
Попробуй.
5. albert.goncharov 51 12.09.18 12:35 Сейчас в теме
(3) Джонни, спасибо! Когда-нибудь обязательно доберусь до! Инструмент серьёзный, но пока не стоит :)
Только битая ссылка попалась https://marketplace.visualstudio.com/items?itemName=xDrivenDevelopment.language-1c-.
А так я часто в Notepad++ копирую напр. фрагменты кода с этого сайта, или сравнение рядом лежащих похожих модулей делаю - очень быстро получается и наглядно.
Прикрепленные файлы:
8. JohnyDeath 291 12.09.18 13:10 Сейчас в теме
(5) окончание ссылки у тебя съелось.
А вообще есть куча плагинов, в том числе и для сравнения. Например: https://marketplace.visualstudio.com/items?itemName=ryu1kn.partial-diff

А если работаешь с репозиторием git, то вообще сказка и удобство. В двух словах и не описать
albert.goncharov; +1 Ответить
12. monkbest 97 13.09.18 07:11 Сейчас в теме
(5) ммм, чего то не хватает


поиск тоже 1С не нашел в маркете
Прикрепленные файлы:
13. monkbest 97 13.09.18 07:16 Сейчас в теме
(12) сам себе отвечу :)


поиск не выдал по запросу "1С" или "1C" (рус анг), а глазками нашел

https://marketplace.visualstudio.com/items?itemName=xDrivenDevelopment.language-1c-bsl
6. albert.goncharov 51 12.09.18 12:39 Сейчас в теме
(3) Джони, спасибо! Обязательно когда-нибудь попробую! Серьёзный инструмент, но пока не стоит.
Я часто использую Notepad++ напр. для сравнения двух похожих кусков кода...
Прикрепленные файлы:
9. AntonSm 12.09.18 13:18 Сейчас в теме
(6) А как вы это делаете с помощью notepad++?
Подскажите, пожалуйста.
Я сходу там функций сравнения не нашел.
10. albert.goncharov 51 12.09.18 13:35 Сейчас в теме
(9) Антон, посмотрите https://github.com/jsleroy/compare-plugin
Это плагин. Но к нему ещё нужен менеджер этих самых плагинов. Попробуйте сами найти, если не получится - пишите!
Оставьте свое сообщение