Практически любая конфигурация, хоть типовая, хоть самописная, имеет в составе библиотеки, начиная от БСП и заканчивая специфическими отраслевыми. В больших конфигурациях уровня ERP может быть встроено сразу несколько библиотек (БСП, БЭД, Бухгалтерский учет, Зарплата и кадры и т.д.).
Многие библиотеки содержат в себе модули и методы общего назначения для работы с массивами, строками, объектами метаданных и прочими универсальными сущностями. Также большие конфигурации могут иметь собственные модули общего назначения, например ОбщегоНазначенияУТ
. Кроме того, модули разделяюся по контексту выполнения.
В результате в конфигурации может быть с десяток модулей, содержащих методы общего назначения. Не всегда удается быстро вспомнить, в каком именно модуле лежит нужная функция. Приходится перебирать модули или запускать глобальный поиск. Но если имя метода известно только приблизительно, поиск тоже может быть затруднен множеством ложных совпадений, многострочными описаниями с переносами и т.д.
Было бы удобно иметь функцию быстрого поиска библиотечных методов по части имени. Еще можно проиндексировать описание в документирующем комментарии, иногда само название метода может быть не совсем очевидным.
Пример подсказки:
![library method context help](https://private-user-images.githubusercontent.com/28653631/260253809-f4b625f9-2e9d-4568-a458-625f60c9150c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgyNTMzMzEsIm5iZiI6MTcxODI1MzAzMSwicGF0aCI6Ii8yODY1MzYzMS8yNjAyNTM4MDktZjRiNjI1ZjktMmU5ZC00NTY4LWE0NTgtNjI1ZjYwYzkxNTBjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjEzVDA0MzAzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY1MmYyZjc0NmZkYTg0Y2NhYTVhOWVlZTRlMTA3MTU3NjUyNjEyOWM3ZDNlY2I0OWFkNzU2NDdiYWU0ZDIyYWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HtbXAsDj5B-Q01oLmqkBUxYYzSj7pKsR2GHZKZla9ZM)
Можно прикрутить дополнительной страницей к контекстной подсказке по Ctrl+Пробел, или сделать срабатывание по отдельному хоткею.
Для начала можно просто проиндексировать все экспортные методы в областях ПрограммныйИнтерфейс
общих модулей, это уже сильно поможет. Далее можно реализовать настройки исключения некоторых модулей из индекса для увеличения релевантности поиска. Например можно исключить модули специфичных подсистем вроде ВедомостьНаВыплатуЗарплатыКлиентСервер
, модули с суффиксом Служебный
. Это можно реализовать отбором по подсистемам, по маске имени или даже просто сделать выбор конкретных модулей в явном виде галками.