Инструменты · Код
code_read
Читает модуль BSL по адресу. Сначала — компактное дерево областей и методов без текста, затем нужный метод или диапазон строк. Модули типовых конфигураций бывают по сотне тысяч строк: полный текст стоит десятки тысяч токенов, дерево — сотни. Работает без ключа.
Когда использовать
- Найти метод или область в большом модуле —
outlineсfilterпо имени. - Прочитать метод целиком с директивой компиляции и комментарием над ним —
method. - Прочитать кусок модуля по номерам строк из поиска или отладчика —
linesсrange. - Понять, в какую область встанет новый метод, — дерево показывает существующие области.
Соседние инструменты домена «Код»
Операции
| operation | Что делает | Нужно передать |
|---|---|---|
outlineпо умолчанию | Дерево областей и методов без текста. Узел области — Имя (N) · от-до, где N — число методов внутри; метода — П|Ф Имя [Э] · от-до (процедура или функция, экспорт). detail: full добавляет сигнатуры, Асинх, директивы и #Если. | project, module_fqn; по желанию detail, filter, in_area |
method | Текст метода вместе с директивой &На… и комментарием над ним. | project, module_fqn, name; по желанию lines, area |
lines | Строки модуля по диапазону; без range — весь модуль. | project, module_fqn; по желанию range |
Параметры
| Параметр и тип | Обязательный | Описание | По умолчанию |
|---|---|---|---|
projectстрока | да | Идентификатор проекта рабочей области EDT — имя из ответа project_read (например, УТ2020). Для расширения — проект расширения. | — |
module_fqnстрока | да | Адрес модуля: CommonModule.X, Catalog.X.ObjectModule, Catalog.X.ManagerModule, InformationRegister.X.RecordSetModule, <Тип>.X.Form.Y (модуль формы). Русские префиксы и суффиксы тоже принимаются. | — |
operationстрока | нет | Операция инструмента — значения и их смысл в таблице «Операции».значения: outline · method · lines | outline |
detailстрока | нет | Для outline: default — буква вида метода, имя, признак экспорта и строки; full — плюс сигнатура с параметрами, Асинх, директивы и платформы из #Если.значения: default · full | default |
filterстрока | нет | Регулярное выражение без учёта регистра. Для outline — по именам методов и областей: дерево сохраняет пути до совпавших узлов. Для method и lines — по строкам текста. | — |
in_areaстрока | нет | Для outline: показать только поддерево названной области #Область. | — |
nameстрока | для method | Для method: имя процедуры или функции. | — |
linesстрока | нет | Для method: диапазон строк внутри найденного фрагмента, X-Y с единицы от первой строки фрагмента (директива или комментарий). | — |
areaстрока | нет | Для method: имя вложенной области #Область внутри метода. | — |
rangeстрока | нет | Для lines: диапазон строк модуля X-Y с единицы включительно. Без него — весь модуль. | — |
limitцелое | нет | Окно чтения: сколько строк готового ответа вернуть. По умолчанию 200, максимум 1000. | 200 |
offsetцелое | нет | Окно чтения: номер строки ответа, с которой начать (0 — первая страница). Значение для следующей страницы подсказывает строка *lines: …* в конце ответа. | 0 |
Таблица собрана из схемы инструмента, которую получает агент при подключении.
Адреса
Адрес модуля задаётся параметром module_fqn.
| Адрес | Что адресует |
|---|---|
CommonModule.ОбщегоНазначения | общий модуль |
Catalog.Контрагенты.ObjectModule | модуль объекта; по-русски Справочник.Контрагенты.МодульОбъекта |
Catalog.Контрагенты.ManagerModule | модуль менеджера |
InformationRegister.КурсыВалют.RecordSetModule | модуль набора записей регистра |
Catalog.Контрагенты.Form.ФормаЭлемента | модуль формы |
CommonForm.<Форма> | модуль общей формы |
CommonCommand.<Команда> | модуль общей команды |
Пример вызова и ответа
Бесплатный инструмент: работает без ключа. В заголовке ответа — адрес модуля, в дайджесте > Σ — путь к файлу, число строк, методов и областей.
{
"project": "УТ2020",
"module_fqn": "CommonModule.ОбщегоНазначения",
"operation": "outline",
"filter": "ЗначениеРеквизит"
}Пример ответа в подготовке Устройство ответа — на странице Формат ответов.
Отказы и ошибки
failed · файла модуля нет
У объекта нет модуля этого вида. Ответ подсказывает, как его создать, и перечисляет модули, которые есть.
### 🔴 outline — `Справочник.Контрагенты.МодульОбъекта`
- **status:** 🔴 failed
- **message:** BSL file does not exist: src/Catalogs/Контрагенты/ObjectModule.bsl
- **fix_hint:** code_action init_module — создать отсутствующий модуль
#### Did you mean
- Справочник.Контрагенты.МодульМенеджера
- Справочник.Контрагенты.Форма.ФормаЭлемента
#### Context
- expected file: src/Catalogs/Контрагенты/ObjectModule.bslfailed · метод или область не найдены
Имени нет в модуле — ответ перечисляет ближайшие методы или области в секции Did you mean.
failed · Unknown operation
Неизвестное значение operation. В ответе — fix_hint: supported: … со списком допустимых операций и секция Did you mean. Допустимо: outline, method, lines.
Ограничения
- Справка по платформе и описания методов проекта — в
platform_docs. - Длинный ответ режется окном:
limit,offset— Окно чтения.