Перейти к содержанию

Возможности BSL Language Server

Каталог возможностей языкового сервера для 1С:Предприятие (BSL) и OneScript в редакторе с поддержкой LSP (примеры сняты в VS Code / code-server). Каждая возможность — в отдельном файле.

Возможности

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