Skip to content

Быстрый поиск библиотечных методов #49

@adminimusRU

Description

@adminimusRU

Практически любая конфигурация, хоть типовая, хоть самописная, имеет в составе библиотеки, начиная от БСП и заканчивая специфическими отраслевыми. В больших конфигурациях уровня ERP может быть встроено сразу несколько библиотек (БСП, БЭД, Бухгалтерский учет, Зарплата и кадры и т.д.).

Многие библиотеки содержат в себе модули и методы общего назначения для работы с массивами, строками, объектами метаданных и прочими универсальными сущностями. Также большие конфигурации могут иметь собственные модули общего назначения, например ОбщегоНазначенияУТ. Кроме того, модули разделяюся по контексту выполнения.

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

Было бы удобно иметь функцию быстрого поиска библиотечных методов по части имени. Еще можно проиндексировать описание в документирующем комментарии, иногда само название метода может быть не совсем очевидным.

Пример подсказки:

library method context help

Можно прикрутить дополнительной страницей к контекстной подсказке по Ctrl+Пробел, или сделать срабатывание по отдельному хоткею.

Для начала можно просто проиндексировать все экспортные методы в областях ПрограммныйИнтерфейс общих модулей, это уже сильно поможет. Далее можно реализовать настройки исключения некоторых модулей из индекса для увеличения релевантности поиска. Например можно исключить модули специфичных подсистем вроде ВедомостьНаВыплатуЗарплатыКлиентСервер, модули с суффиксом Служебный. Это можно реализовать отбором по подсистемам, по маске имени или даже просто сделать выбор конкретных модулей в явном виде галками.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions