Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>1С:Предприятие 7.7 (77MCP)New to Visual Studio Code? Get it now.
1С:Предприятие 7.7 (77MCP)

1С:Предприятие 7.7 (77MCP)

quickes

|
1 install
| (0) | Free
Структура конфигурации 1С 7.7, модули, процедуры, формы и внешние обработки через сервер 77MCP-go
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

77vscode — 1С:Предприятие 7.7 в VS Code

Расширение показывает конфигурацию 1С 7.7 (1Cv7.MD) и внешние обработки (*.ert). Данные берутся с сервера 77MCP-go (соседний каталог ../77MCP-go) через его REST API /api/v1, описание API — в 77MCP-go/internal/infra/httpserver/api_v1.md. Само расширение файлы 1С не читает.

Возможности

  • Панель «1С 7.7» на боковой панели слева:

    • Конфигурация — глобальный модуль и объекты по видам (справочники, документы, журналы, перечисления, отчёты, обработки, регистры и т.д.). Под объектом его модули (форма элемента, формы списка и группы, модуль проведения, формы журнала), под модулем его процедуры, ниже реквизиты, табличные части, измерения и ресурсы. Фильтр по имени или синониму, поиск объекта.
    • Внешние обработки — файлы .ert, сгруппированные по каталогам. Обработки из --edit-path помечены ✎.
    • Классы 1С++ — классы из Defcls.prm (сервер запущен с --basepath), сгруппированные по каталогам модулей. Под классом его базовые классы (клик открывает модуль базового) и процедуры модуля. Модули классов только для чтения; класс без найденного модуля помечен предупреждением с причиной.
    • Результаты поиска — поиск подстроки во всех модулях.
  • Модули открываются обычными вкладками через виртуальную ФС v77:. Модули конфигурации и обработки вне --edit-path доступны только для чтения. Модули обработок в --edit-path сохраняются на сервер (Ctrl+S).

  • Защита от потери правок. Если модуль изменили где-то ещё, например в Конфигураторе, VS Code покажет свой диалог конфликта («Сравнить» / «Перезаписать»). Сервер дополнительно проверяет версию модуля и не даст перезаписать чужую правку.

  • Язык 1С 7.7:

    • подсветка синтаксиса и сворачивание процедур;
    • структура модуля: Outline, хлебные крошки, Ctrl+Shift+O;
    • Ctrl+T — поиск процедуры по всем модулям конфигурации и обработок;
    • F12 — переход к процедуре: сначала в текущем модуле, потом в глобальном, потом к экспортным процедурам других модулей. На Справочник.Имя, Документ.Имя и подобных — переход к свойствам объекта;
    • Ctrl+Alt+P — «Найти процедуру».
  • Макеты (печатные формы) объектов конфигурации и обработок показаны в дереве под модулем или обработкой. Открываются только для просмотра: ячейки по ширинам и высотам, объединения, именованные секции слева, выражения синим курсивом, шаблоны зелёным. Если у модуля несколько макетов, между ними переключаются в панели инструментов. Картинки и линии в макете не показываются. Около 4% макетов сервер не разбирает, вместо них показывается ошибка.

  • Подсказки к функциям и параметрам. Подсказка параметров появляется на ( и , (или по Ctrl+Shift+Space) и подсвечивает текущий параметр. Подсказка при наведении показывает сигнатуру, описание, параметры и откуда они взяты. Где искать:

    • Имя(…) — текущий модуль (с несохранёнными правками), затем глобальный модуль, затем системные функции из справки .als;
    • Объект.Метод(…), если в модуле есть Объект = СоздатьОбъект("Класс"): методы класса 1С++ и его базовых классов из Defcls.prm, а для системных объектов (ТаблицаЗначений и т.п.) — методы этого объекта из .als;
    • прочие Объект.Метод(…) — справка .als, методы классов 1С++ и экспортные процедуры модулей.

    Описание процедуры берётся из блока комментариев // над заголовком, а если его нет — из комментариев в начале тела. Строки вида Имя - описание (и <Имя>: …, Имя (Тип) — …) становятся описаниями параметров. F12 на Объект.Метод открывает модуль класса. Классы 1С++ видны, если сервер запущен с --basepath; справка .als — если с --als-path.

  • MCP для чата VS Code. Активный сервер автоматически предлагается чату как MCP-сервер (<url>/sse), отдельная запись в mcp.json не нужна. Отключается настройкой v77.registerMcpServer. Нужен VS Code 1.101 или новее.

  • Свойства объекта открываются Markdown-страницей: модули, реквизиты с типами, формы, свойства.

  • Форма открывается кнопкой у модуля формы в дереве, у обработки или в заголовке редактора модуля. Элементы рисуются по своим координатам, слои можно скрывать, есть масштаб и панель свойств. Таблица формы списка показывается с колонками. Двойной клик по элементу или кнопка «Перейти к обработчику» открывает процедуру из его формулы, например Печать().

  • Правка формы обработки из --edit-path. Элементы можно перетаскивать мышью, менять размер за угол, двигать стрелками (с Shift — по 5), удалять клавишей Delete, добавлять из списка «Добавить элемент», а заголовок, координаты, реквизит, формулу и подсказки менять в панели свойств. Каждая правка сразу пишется на сервер с проверкой версии. Если форму изменили где-то ещё, правка отклоняется и форма перечитывается.

Настройка

  1. Запустите сервер, например так: 77mcp-server --basepath <каталог ИБ> --edit-path <каталог для правки .ert> --api-token <токен>. Без --api-token расширение работает только на чтение.
  2. В настройках задайте v77.servers — список {name, url}, например {"name": "local", "url": "http://localhost:8099"}, и выберите активный профиль в v77.activeServer. То же можно сделать командами «1С 7.7: Выбрать сервер» и «1С 7.7: Добавить сервер», или кликом по строке состояния.
  3. Токен задаётся командой «1С 7.7: Задать токен». Он хранится в защищённом хранилище VS Code (SecretStorage), а не в settings.json.

Прочие настройки: v77.requestTimeout — таймаут запроса в мс, v77.codeSearchLimit — максимум совпадений при поиске.

Разработка

npm install
npm run build          # dist/extension.js
npm run typecheck
npm test               # vitest: пути, разбор модулей, клиент API, страница объекта
npm run package        # .vsix

Отладка — F5 («Запустить расширение»).

Интеграционный тест запускает изолированный VS Code без экрана (через xvfb-run) против живого сервера:

77mcp-server --basepath ../work --edit-path /tmp/edit --api-token t --port 18099   # в /tmp/edit лежит Проба.ert
V77_TEST_URL=http://localhost:18099 V77_TEST_TOKEN=t V77_TEST_ERT=Проба \
  VSCODE_BIN=/usr/share/code/code npm run test:integration

VSCODE_BIN нужен, если code — обёртка-скрипт, которая отцепляется от процесса. С V77_TEST_SHOTS=<каталог> тест сохраняет скриншоты открытых форм; для этого нужен ImageMagick import. Под xvfb раннер убирает WAYLAND_DISPLAY, иначе окно открылось бы на вашем рабочем столе.

Разбор процедур в src/bsl.ts (Outline по несохранённому тексту) повторяет 77MCP-go/internal/parser/bsl. Меняя один, меняйте и другой. Сейчас на рабочей базе (2076 модулей) они дают одинаковый результат.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft