Для 1С-разработчика в VS Code или Cursor: какие настройки Error Lens и GitLens есть в манифестах, как включить показ ошибок BSL LS при вводе и что входит в итоговый settings.json.
- Три расширения делят задачи: BSL Language Server находит проблемы, Error Lens рисует их у строки, GitLens показывает автора и давность.
- По умолчанию computeTrigger равен onSave, поэтому ошибки появляются после сохранения; значение onType в .bsl-language-server.json покажет их при вводе.
- Часть популярных имён не существует: вместо errorLens.fontStyle действует fontStyleItalic, вместо gutterIcons - gutterIconsEnabled.
- Итоговый settings.json из восьми ключей кладите в .vscode проекта; ключи сверены с GitLens 19.2.0 и Error Lens 3.29.0.
- Построчная история GitLens работает для текстовых исходников в git; для .cf и .epf вы получите только историю файла.
Имена настроек нужно брать из манифестов расширений: ключ, выдуманный по аналогии, редактор не читает.
Для кого: программисты 1С, которые работают с исходниками конфигурации в VS Code или Cursor и хранят их в git.
Три расширения делят между собой три задачи. BSL Language Server находит проблемы в коде. Error Lens выводит эти проблемы текстом справа от строки. GitLens показывает, кто и когда написал строку. Настройки в инструкциях по этой связке часто выдуманы по аналогии: некоторые имена, которые легко угадать, в манифестах расширений отсутствуют. Ниже собраны настройки, найденные в манифестах.
🧭 Что за что отвечает
BSL Language Server - анализатор кода на BSL. В VS Code его подключает расширение 1c-syntax.language-1c-bsl (по манифесту репозитория 1c-syntax/vsc-language-1c-bsl, версия 2.1.1). Сервер выдаёт диагностики: ошибки, предупреждения, замечания по стилю.
Error Lens (usernamehw.errorlens, версия 3.29.0 в репозитории) сам ничего не анализирует. Он берёт диагностики, которые уже видны редактору (те же, что в панели «Проблемы»), и рисует их в тексте. Для файлов .bsl диагностики приходят от языкового сервера, поэтому без него Error Lens покажет только то, что найдёт другой установленный анализатор.
GitLens (eamodio.gitlens, версия 19.2.0 в репозитории) показывает историю git внутри редактора. Синтаксиса BSL он не знает и знать не должен: git blame работает с любым текстовым файлом.
Версии выше взяты из package.json в основной ветке репозиториев на 30.09.2026. Версия в Marketplace может отличаться, минимальная версия VS Code указана в манифестах: ^1.101.0 у GitLens и ^1.107.0 у Error Lens.
🩺 BSL Language Server: когда появляются диагностики
Настройки языкового сервера лежат в файле .bsl-language-server.json в корне рабочей области. Расширение читает его по умолчанию: настройка language-1c-bsl.languageServerConfiguration содержит путь .bsl-language-server.json относительно каталога проекта.
Структура файла по документации BSL LS (значение computeTrigger изменено на onType):
Ключ computeTrigger определяет, когда сервер пересчитывает диагностики: onType (по мере ввода), onSave (при сохранении, значение по умолчанию) и never. Это главный практический вывод: с настройками по умолчанию Error Lens ничего не покажет, пока вы не сохраните файл. Хотите видеть ошибки при вводе, ставьте onType.
Параметры диагностики задаются объектом ("LineLength": {"maxLineLength": 140}), а отключается диагностика значением false ("MethodSize": false). Ключи диагностик из документации: LineLength, UnusedLocalVariable, EmptyCodeBlock, CommentedCode, UsingHardcodePath, CreateQueryInCycle, IdenticalExpressions, FunctionShouldHaveReturn, UnreachableCode, UsingHardcodeSecretInformation, ExecuteExternalCode. Полный список в документации BSL LS.
Если сервер завис, перезапуск делает команда расширения language-1c-bsl.languageServer.restart с заголовком «Restart the BSL Language Server» в палитре команд (Ctrl+Shift+P).
🔴 Error Lens: настройки, которые есть в манифесте
Ниже настройки, найденные в package.json Error Lens 3.29.0. Значения по умолчанию указаны из манифеста.
| Настройка | Что делает | По умолчанию |
|---|---|---|
errorLens.enabledDiagnosticLevels |
Какие уровни диагностик подсвечивать | ["error", "warning", "info"] |
errorLens.followCursor |
Какие проблемы показывать: allLines, allLinesExceptActive, activeLine, closestProblem |
allLines |
errorLens.messageBackgroundMode |
Фон сообщения: line, message, none |
line |
errorLens.fontStyleItalic |
Курсив в тексте сообщения | false |
errorLens.gutterIconsEnabled |
Значки на полях | false |
errorLens.onSave |
Обновлять только при сохранении | false |
errorLens.excludeBySource |
Исключить проблемы по источнику или паре источник(код) |
[] |
Названия, которые часто встречаются в инструкциях, но отсутствуют в манифесте 3.29.0: errorLens.fontStyle, errorLens.messageBackground, errorLens.gutterIcons. Вместо них действуют fontStyleItalic, messageBackgroundMode и gutterIconsEnabled. Расширение такие ключи не читает, поэтому подобная настройка ни на что не влияет.
Цвета сообщений задаются цветами темы, отдельных настроек с цветом у Error Lens нет. В манифесте объявлены errorLens.errorBackground, errorLens.errorForeground, errorLens.warningBackground, errorLens.warningForeground, errorLens.infoBackground и другие; переопределяются они через workbench.colorCustomizations:
Если один и тот же анализатор шумит замечаниями, их отсекает errorLens.excludeBySource. Чтобы узнать, какой источник и код у конкретной проблемы, наведите курсор на строку с диагностикой или откройте панель «Проблемы»: источник и код указаны там. Значения источника для BSL LS мы не проверяли.
👤 GitLens: настройки, которые есть в манифесте
Из манифеста GitLens 19.2.0:
| Настройка | Что делает | По умолчанию |
|---|---|---|
gitlens.currentLine.enabled |
Подпись автора и даты справа от текущей строки | true |
gitlens.hovers.currentLine.over |
Когда показывать подсказку: annotation (при наведении на подпись) или line (при наведении на строку) |
annotation |
gitlens.heatmap.ageThreshold |
Возраст последнего изменения в днях, после которого тепловая карта файла считается «холодной» | 90 |
gitlens.heatmap.fadeLines |
Приглушать старые строки | true |
gitlens.codeLens.enabled |
Строки CodeLens над блоками с автором и числом изменений | true |
Команды, которые есть в манифесте и вызываются из палитры команд (категория GitLens): Toggle File Blame (gitlens.toggleFileBlame), Toggle Line Blame (gitlens.toggleLineBlame), Toggle File Heatmap (gitlens.toggleFileHeatmap), Show File History View (gitlens.showFileHistoryView). Файловая аннотация blame и тепловая карта переключаются этими командами. Подпись текущей строки включена по умолчанию (gitlens.currentLine.enabled равна true).
Расширение бесплатное для перечисленных задач: по справке GitKraken текущая строка, аннотации blame и тепловой карты, подсказки, история файла и строки входят в бесплатный план. Граф коммитов на приватных репозиториях и Launchpad требуют платной подписки.
Версии взяты из package.json основных веток репозиториев на 30.09.2026; версия в Marketplace может отличаться. Это сверка манифестов, замеров в редакторе нет.
📚 Источники и чем эта статья отличается
Близкие темы на Infostart уже разбирали:
- «Как проверять код на языке 1С с помощью BSL Language Server»: зачем проверять код анализатором и как его запустить.
- «Современный инструментарий 1Сника»: обзор стека разработчика 1С: от EDT и Git до автотестов.
Здесь речь только о связке трёх расширений VS Code. Имена настроек сверены с манифестами GitLens 19.2.0 и Error Lens 3.29.0, разобрано, когда BSL Language Server выдаёт диагностики.
📦 Файл к статье
К публикации приложен архив 06.1-companion.zip, он в блоке «Файлы» вверху страницы:
.vscode/settings.json- итоговые настройки из статьи: Error Lens показывает только ошибки и предупреждения BSL Language Server, GitLens - автора строки при наведении, порог «холодной» строки 180 дней, CodeLens выключен. Скопируйте папку.vscodeв корень проекта или перенесите ключи в свой файл.proverka/manifest_dump.py- скрипт, которым имена настроек сверялись с манифестами расширений (package.json).proverka/manifest-*.txt- выгрузка настроек из манифестов GitLens 19.2.0, Error Lens 3.29.0 и расширения BSL 2.1.1 на 30.09.2026.README.md: что внутри, как пользоваться и что проверено.
📄 Итоговый settings.json
Все ключи ниже проверены по манифестам. Файл кладётся в .vscode/settings.json проекта:
Здесь оставлены только ошибки и предупреждения, чтобы в тексте было меньше шума, фон нарисован только под текстом сообщения, подсказка GitLens открывается при наведении на строку, порог «холодной» строки поднят до 180 дней, а CodeLens отключён, чтобы не сдвигать код вниз.
💡 Где связка полезна в проекте 1С
Разбор чужого модуля. Включите Toggle File Blame и посмотрите, какие блоки правили недавно и кто. Тепловая карта (Toggle File Heatmap) показывает давность изменений цветом.
Ревью. После сохранения файла Error Lens выведет замечания BSL LS прямо у изменённых строк, а подпись GitLens покажет, кто их автор и в каком коммите они появились.
Граница применимости: история строк есть только у текстовых файлов в git. Если вы храните конфигурацию как .cf или обработки как .epf (двоичные файлы), GitLens покажет историю файла, но не строк. Для построчной истории исходники нужно выгружать в XML или формат EDT.
🚧 Что не проверено
- Работа расширений в самом VS Code и Cursor: редактор не запускался, всё сверено с манифестами и документацией.
- Ключ источника у диагностик BSL LS для
errorLens.excludeBySource. - Языковой сервер BSL не запускался, список диагностик и параметры
.bsl-language-server.jsonданы по документации. - Cursor как форк VS Code: минимальная версия VS Code у расширений (
^1.101.0,^1.107.0) может не совпасть с версией ядра в вашей сборке Cursor.
🏁 Итог
Связка из трёх расширений работает, если помнить три вещи: Error Lens показывает только то, что нашёл анализатор, BSL LS по умолчанию считает диагностики при сохранении, а имена настроек нужно брать из манифестов. Расскажите в комментариях, какие диагностики BSL LS вы отключаете первыми.
Вступайте в нашу телеграмм-группу Инфостарт