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С
Нижний Новгород
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Технический лидер, архитектор 1С, руководитель проектов
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

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

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

Специалист внедрения и сопровождения 1С
Омск
зарплата от 25 000 руб. до 50 000 руб.
Полный день