0. albert.goncharov 83 10.09.18 22:05 Сейчас в теме

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

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

Перейти к публикации

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

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


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


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

https://marketplace.visualstudio.com/items?itemName=xDrivenDevelopment.language-1c-bsl
6. albert.goncharov 83 12.09.18 12:39 Сейчас в теме
(3) Джони, спасибо! Обязательно когда-нибудь попробую! Серьёзный инструмент, но пока не стоит.
Я часто использую Notepad++ напр. для сравнения двух похожих кусков кода...
Прикрепленные файлы:
9. AntonSm 25 12.09.18 13:18 Сейчас в теме
(6) А как вы это делаете с помощью notepad++?
Подскажите, пожалуйста.
Я сходу там функций сравнения не нашел.
suepifanov; +1 Ответить
10. albert.goncharov 83 12.09.18 13:35 Сейчас в теме
(9) Антон, посмотрите https://github.com/jsleroy/compare-plugin
Это плагин. Но к нему ещё нужен менеджер этих самых плагинов. Попробуйте сами найти, если не получится - пишите!
14. JohnConnor 34 28.09.18 05:39 Сейчас в теме
(3) использую Sublime Text 3, Visual Studio Code тоже очень хорош.
15. SerVer1C 192 21.08.19 15:37 Сейчас в теме
Если в коде 1с будет слово "ПрОцЕдУрА", оно подсветится?
16. albert.goncharov 83 22.08.19 00:27 Сейчас в теме
18. SerVer1C 192 22.08.19 07:51 Сейчас в теме
(16) Вы в этом точно уверены? Для чего тогда указываете, например, ключевое слово "из" три раза в описании подсветки: "ИЗ", "Из", "из" - что видно из вашего скриншота.
19. albert.goncharov 83 23.08.19 21:27 Сейчас в теме
(18) Упс. Пардон, не о том подумал! Действительно не подсвечивает. Где-то не хватает галочки в настройках языка case-insensitive... Либо её нет либо я её не нашёл...
Я имел в виду, что в дереве нарисуется:
21. SerVer1C 192 25.08.19 16:13 Сейчас в теме
(19) В том то и дело, что CS/CI для кириллицы в notepad++ не поддерживается, поэтому полноценную подсветку синтаксиса реализовать не получится. А указывать несколько вариантов для каждых ключевых слов - это как-то не true-разработка, да и работать это будет не во всех случаях.
23. albert.goncharov 83 26.08.19 06:24 Сейчас в теме
(21) Я так полагаю, что следующий шаг развития этой поделки - это форк Notepad++ с поддержкой CI для кириллицы
;-)
Но так не волнуйтесь за чистоту кода - это даже хорошо, если не канонически написанное объявление процедуры будет обесцвечено. Надо следить за регистром своего кода!
Мне не пришлось пока на такое натыкаться. Обычно если правлю чужой код - то высоту букв в слове процедура правлю на автомате...
17. albert.goncharov 83 22.08.19 01:47 Сейчас в теме
В последнее время часто пользуюсь вот такой фишкой для языка 1C:Query
Прикрепленные файлы:
20. salus 17 25.08.19 08:09 Сейчас в теме
Вроде то, что надо. Но почему в Fuction List не отображаются мои функции?
Подсветка работает. Заменил functionList. Кто подскажет?
22. albert.goncharov 83 26.08.19 06:18 Сейчас в теме
(20) functionList.xml надо ещё найти
(у меня он в C:\Users\Albert\AppData\Roaming\Notepad++)
, и убедиться, что нашли тот, которым Notepad++ пользуется. Напр. запороть его и убедиться, что список функций у любого языка перестал работать. Вот тогда его можно ОТРЕДАКТИРОВАТЬ, ВСТАВИВ в него фрагменты из functionList.xml в аттаче к статье.
2. Есть тонкость с именами: если вы добавляете язык под именем "1C functions"

- то в functionList.xml надо писать
<association id=    "e1c_functions"       userDefinedLangName="1C functions"   />

и в куске текста про парсер писать
			<parser
				displayName="1C functions"
				id         ="e1c_functions"

На этой тонкости с именами и построен весь [возможный при дальнейшей модификации] цимус: вообще говоря в дереве можно получать хоть весь текст модуля построчно, а потом весьма удобно фильтровать его путём заполнения поля фильтра над списком функций. Нет ограничения на количество "языков", и можно скопировать ещё один под каждый созданный парсер в functionList.xml
24. salus 17 26.08.19 13:08 Сейчас в теме
(22) Спасибо. Настроил.. Кажется то что нужно для хранение фрагмента кода
albert.goncharov; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Ведущий программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 200 000 руб.
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день

Консультант-методолог 1С
Краснодар
зарплата от 110 000 руб.
Полный день