gifts2017

Путеводитель по конфигурации - способ создания закладок в текстах программных модулей

Опубликовал Сергей (TSSV) в раздел Программирование - Практика программирования

Всем известно, что для создания закладок в программном модуле есть специальный механизм. Но иногда, исследуя какой нибудь сложный программный функционал, нам нужно устанавливать закладки в нескольких программных модулях, сохранять их между сеансами, а так же быстро их находить. Предлагаю вашему вниманию способ, позволяющий решать эти задачи с помощью всем известных точек останова, используя одну полезную особенность данного механизма - в условии точки останова с условием можно писать комментарий, не мешающий работе точки останова, но по которому можно искать нужную точку в списке точек останова (ну и сразу перейти к установленной точке).

   Анализируя какой нибудь сложный механизм, мы, следуя за курсором отладчика и проходя десятки программных модулей, устанавливаем точки останова во всех потенциально "нужных" местах. Далее, в очередной раз запуская отладку, программа останавливается в установленных нами точках и некоторые из них становятся не нужны - мы их убираем (выключаем) либо непосредственно в модуле, либо через список точек останова, оставляя только те точки, в которых происходит судьбоносное для решаемой задачи преобразование.
   Точки останова являются помимо своего основного предназначения - останавливать процесс, еще и закладками. Перемещаться между ними мы можем через список точек останова (на всякий случай: "Отладка" - "Список точек останова" - "Кнопка перейти к исходному коду"). А чтобы понимать, какая точка к какой задаче относится, я предлагаю использовать выявленную особенность точки останова с условием. А именно - возможность в условии писать комментарий, который не мешает работе точки останова (созданное таким образом условие всегда истинно). Далее, используя список точек останова, можно быстро искать нужную точку в списке точек, включать или выключать ее активность, одним нажатием кнопки "Перейти к исходному коду" быстро переходить к точке (отрывается нужный модуль и курсор позиционируется на точке). Надеюсь, данная особенность сделает вашу работу немного удобней. Если мы хотим использовать точку только как закладку, можно ее отключить - либо непросредственно в модуле, щелкнув правой кнопкой и выбрав "Отключить точку останова", либо в списке точек останова - сняв флажок. К сожелению, поиск по комментариям в списке точек останова отсутствует.  Смотрите рисунок ниже. Хорошего кода!

См. также

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

Комментарии

1. Анатолий Бритько (headMade) 17.03.13 01:02
"Всем известно, что для создания закладок в программном модуле есть специальный механизм."

Что это такой за "типовой механиз" подскажите?
2. Romkin25 (Romkin25) 17.03.13 02:35
Гы.
Оригинально.
Правда моя рука хронически тянется к "Убрать все точки останова"
3. Александр Орефков (orefkov) 17.03.13 09:23
Люблю нестандартные подходы. Оригинально.
А будет ли ругаться на условия вида
Ложь // комментарий
ну это если закладка нужна, но останавливаться не надо.
anchovy; mtv:); Niberu; TSSV; +4 Ответить 3
4. anry mc (AnryMc) 17.03.13 10:18
(0) Нестандартно.

Теперь прийдется "переучиваться" как и (2)
5. Сергей Борисов (juntatalor) 17.03.13 10:35
(3) orefkov, если там будет только комментарий, то остановиться не должно
6. anry mc (AnryMc) 17.03.13 11:03
А можно добавить, например, свою константу "ОстанавливатьсяНаМоихМетках"=Булево и сделать условие по ней...
7. Tsaregorodtsev (TSSV) 17.03.13 11:25
(3) orefkov, Чтобы использовать точку только как закладку,оставив только комментарий, Вы можете отключить точку останова или в списке точек, убрав флажок, или в модуле щелкнув по точке правой кнопкой - Отключить точку останова. Точка в модуле будет серая, а в списке без флажка - очень удобно по моему. Комментарий тоже можно редактировать и в списке и в модуле - ну это я на всякий случай вдруг кто забыл ))
8. Tsaregorodtsev (TSSV) 17.03.13 12:25
(5) juntatalor,
если там будет только комментарий, то остановиться не должно


остановится - смотрите рисунок - как раз этот случай.
9. Евгений Сосна (pumbaE) 18.03.13 00:21
А разве список точек останова сохраняется после перезапуска конфигуратора?
10. Serj (Serj1C) 18.03.13 08:04
(9) pumbaE, Да, если он корректно закрыт
pvlunegov; +1 Ответить
11. Модератор раздела Артур Аюханов (artbear) 18.03.13 20:27
Одно не понял - это скрипт для Снегопата все-таки или нет? :)
Если да, почему в названии нет слова Снегопат.
Если нет, что за странное описание :)
12. Сергей Марченко (MarSeN) 18.03.13 21:33
(11) artbear
На сколько я понял полностью типовой функционал с некоторыми хитростями )
13. Владимир Клименко (KliMich) 18.03.13 23:40
Спасибо за оригинальный подход!
14. Tsaregorodtsev (TSSV) 19.03.13 08:57
(13) KliMich, Спасибо за поддержку!
15. г. Казань Рустем Гумеров (Rustig) 19.03.13 10:22
Поддержу автора!
Когда только начинал программировать, постоянно старался оптимизировать процесс программирования. В этом ключе создал даже обработку для быстрого поиска шаблонов кода(есть у меня в статьях), до сих пор ее использую.
Также додумался использовать точки останова в качестве меток кода, который надо отладить.
Перестал запускать отладку после каждого изменения кода, кодировал в нескольких модулях в разных местах программы, после этого запускал отладку. Забывал уже в каком месте внес изменения, и где и что нужно протестировать. Открывал список точек останова, начинал тестировать.
16. Irina Тускова (RG84) 19.03.13 11:00
спасибо, интересная идея. возьму себе на заметку)))
17. Алекс Ю (AlexO) 19.03.13 15:40
(15) Rustig,
Перестал запускать отладку после каждого изменения кода

...а потом днями искал, где же ошибка... :)
(9) pumbaE,
А разве список точек останова сохраняется после перезапуска конфигуратора?

или после перезапуска, или еще как - но точки останова сбрасываются. И привет закладочкам, делаем все заново..
В общем, очередная попытка сделать хорошую мину при плохой игре.. причем игру режиссируют другие...
anchovy; servs; +2 Ответить 2
18. Tsaregorodtsev (TSSV) 19.03.13 15:56
(17) AlexO, А вот и самый умный ) Уважаемый AlexO,
И привет закладочкам, делаем все заново..


вы не правы - ничего не слетает, это неправда. Кстати где хранятся данные закладок - можете на досуге изучить этот вопрос, и вам наконец то будет что сказать по делу (дарю идею).
19. Алекс Ю (AlexO) 19.03.13 16:04
(15) Rustig,
В этом ключе создал даже обработку для быстрого поиска шаблонов кода(есть у меня в статьях)

Там используется механизм шаблонов .ST, как таковой обработки нет.
Самый корректный вариант закладок - это ставить название и ключевое слово.
Вести текстовый файл-содержание.
Все. Все проблемы будут решены.
Остальное все - это попытки использовать средства, не предназначенных для гуманоидов, руками человека :)
20. anry mc (AnryMc) 19.03.13 16:04
(17) AlexO,

или после перезапуска, или еще как - но точки останова сбрасываются. И привет закладочкам, делаем все заново..


А зайти в конфигуратор и попробовать - "слабо"?

Лично у меня 8.2.14 - 8,2,17 не исчезают даже после презагрузки Виндовс
21. Алекс Ю (AlexO) 19.03.13 16:05
(18) Tsaregorodtsev,
ничего не слетает, это неправда

значит, у нас конфигураторы разные. С хранением.
22. anry mc (AnryMc) 19.03.13 16:26
(21) AlexO,
значит, у нас конфигураторы разные. С хранением.


Давайте уточним. Я пробовал на файловых базах, версии 8.2.14 - 8,2,17 при выключении Виндовс "кеш" не чиститься. ;-)

Всё сохраняется
pvlunegov; +1 Ответить
23. Алекс Ю (AlexO) 19.03.13 16:31
(20) AnryMc,
все, все, сейчас набегут..
знаю-знаю, что у тру-1сников 1с работает настолько чОтко, что они в конфигоуратор заглядывают только по большим праздникам и то выгрузить архив :))
24. Евгений Сосна (pumbaE) 19.03.13 17:19
Справедливости ради - у меня тоже не запоминает точки останова, я грешил на снегопат. Вечером проверю.
25. Михаил (mec) 20.03.13 11:00
Довольно интересный и оригинальный способ. Проверил, у меня тоже все работает и сохраняет настройки на 8.2.16.
Автору спасибо за совет :)
26. Эдуард Зелинский (VasMart) 21.03.13 10:21
Кнопка убрать "все точки останова", для меня ценнее. Но метод интересный.
27. bulpi bulpi (bulpi) 21.03.13 12:44
А что, у кого-то не сохраняются точки останова при перезапуске конфигуратора? У нас точно одна и та же 1с стоит ? Всегда сохранялись, на любых релизах, файловая и sql.
28. Алексей Жуков (alexsey777) 23.03.13 14:37
29. Юрий Липовский (Юрий ЛЛ) 23.03.13 20:03
хорошая статья.
жаль окошко со списком точек останова надо закрывать и открывать постоянно.
а не встречал кто, такое же решение, но чтобы окошко было самостоятельным?
30. IR IR (Artemuch2) 24.03.13 20:38
Да прикольно так! попробую при отладке
31. Александр Крынецкий (echo77) 27.03.13 12:20
Надо бы взять на заметку, попробовать
32. Кикос Одинэсенко (servs) 27.03.13 12:24
Настройки конфигуратора слетают чаще, чем не слетают.
Поэтому статью можно будет считать полезной, когда разработчики платформы исправят свою ошибку.
А так, для общего развития, новичкам пригодится.
33. sbv2005 (sbv2005) 01.04.13 15:24
От безысходности идея с точками останова. Нужны просто закладки-метки. Типа "Куплет", "Припев" и т.д. )) Но сие зависит целиком от 1С. Вот управляемыми формы сделали, а редактор кода управляемым - забыли ))
34. Евгений Мартыненков (JohnyDeath) 03.04.13 21:46
(3), (11) а я как раз хочу написать скрипт для снегопата со схожим функционалом. Для этого, собственно, и спрашивал всех о способе отладке скриптов. Помимо "внешних" комментариев к участкам кода (а не к одной строке) хочу прикрутить эдакий ToDo-list и сделать выделение таких блоков цветом или метками в левой панели средствами SciColorer-а, если это вообще возможно.
В общем такие вот идеи. Но как всегда 24 часа в сутках катастрофически не хватает.
35. Ринат Исхаков (randa) 27.09.13 10:10
Однозначно плюс!

Очень пригодиться когда приходиться часто отлаживать один и тот же механизм.
Например обмен с сайтом в УТ11. Куча процедур вложенных и каждый раз ищешь нужный кусок кода. Отличное решение!
36. Герман Устюжанин (ger_kar) 12.01.15 06:48
Наткнулся на статью случайно, решил опробовать способ...
Опробовал, все работает, как описал автор. После перезапуска конфигуратора и даже виндов, все отлично сохраняется и остается в том виде, в котором было создано. Удобства работы прибавилось, автору однозначный плюс и спасибо :)
37. Алекс Ю (AlexO) 12.01.15 12:08
(35) randa,
Очень пригодиться когда приходиться часто отлаживать один и тот же механизм.

Документацию на свои механизмы не пробовали писать?
(36) ger_kar,
Удобства работы прибавилось
до первого раза потери ТО.
А потом - такие удобства наступят...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа