Возможности BSL Language Server¶
Каталог возможностей языкового сервера для 1С:Предприятие (BSL) и OneScript в редакторе с поддержкой LSP (примеры сняты в VS Code / code-server). Каждая возможность — в отдельном файле.
Возможности¶
- Автодополнение кода — Контекстные подсказки по мере ввода: глобальные функции, методы и свойства объектов (с выводом типа), типы после оператора
Новый, ключевые слова и локальные переменные. - Переход к определению — Переход к объявлению процедуры, функции, переменной или метода из места использования. Работает внутри модуля и между модулями конфигурации.
- Переход к реализациям — Для классов OneScript, использующих библиотеку наследования
extends: переход от метода интерфейса (&Интерфейс) ко всем одноимённым методам реализующих его классов (&Реализует). - Поиск использований — Поиск всех мест использования символа по проекту.
- Всплывающая документация — При наведении на символ показывает сигнатуру, тип и описание из комментариев.
- Подсказка по параметрам — При вводе вызова метода показывает список параметров и подсвечивает текущий.
- Диагностики — Подсветка ошибок, потенциальных проблем и нарушений стандартов прямо в коде и в панели Проблемы.
- Быстрые исправления — Предлагает автоматические исправления диагностик и рефакторинги по сочетанию клавиш у проблемного места.
- Форматирование — Форматирование всего документа, выделенного фрагмента и по мере набора (отступы, регистр ключевых слов).
- Переименование — Безопасное переименование символа со всеми его использованиями.
- Связанное редактирование — Редактирование объявления локального символа (переменной, параметра) одновременно изменяет все его вхождения в модуле — без вызова переименования.
- Структура документа — Дерево процедур, функций и областей модуля — в панели Структура и в быстром переходе.
- Поиск символов по проекту — Быстрый переход к любому методу или объекту во всём проекте по имени.
- Подсветка вхождений — Подсветка всех вхождений символа под курсором, а также парных ключевых слов конструкции (Если…КонецЕсли и т.п.).
- Иерархия вызовов — Кто вызывает метод и кого вызывает он — в виде разворачиваемого дерева.
- Иерархия типов — Для классов OneScript, использующих библиотеку наследования
extends: дерево супертипов и подтипов по аннотациям&Расширяети&Реализует. - Сворачивание кода — Сворачивание процедур, функций, областей и блоков для удобной навигации.
- Умное выделение — Пошаговое расширение и сужение выделения по синтаксическим границам.
- Семантическая подсветка — Точная подсветка на основе разбора кода: переменные, параметры, методы, аннотации, а также язык запросов (SDBL) внутри строк.
- Подсказки-вставки — Встроенные в код подсказки — например, имена параметров в вызовах.
- Код-линзы — Информационные строки над процедурами: когнитивная и цикломатическая сложность, запуск тестов и покрытие.
- Цвета: превью и палитра — Превью цвета для
Новый Цвет(...)иWebЦвета.*. Клик по образцу открывает палитру — выбор цвета обновляет код. Для веб-цветов доступна конвертация в RGB-представление (Новый Цвет) и обратно. - Гиперссылки в коде — Кликабельные ссылки прямо в тексте модуля: ссылки
См./Seeв документирующих комментариях ведут к упомянутому методу или объекту; URL в комментариях открываются в браузере; а опционально (по умолчанию выключено,documentLink.showDiagnosticDescription) сам диагностируемый фрагмент становится ссылкой на документацию диагностики.