Need help with bsl-language-server?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

1c-syntax
152 Stars 62 Forks Other 3.9K Commits 286 Opened issues

Description

Реализация Language Server Protocol для языка 1C (BSL)

Services available

!
?

Need anything else?

Contributors list

BSL Language Server

Actions Status Download JitPack GitHub Releases GitHub All Releases Quality Gate Maintainability Coverage Benchmark telegram

Реализация протокола language server protocol для языка 1C (BSL) - языка 1С:Предприятие 8 и OneScript.

Сайт проекта - https://1c-syntax.github.io/bsl-language-server

Замеры производительности - SSL 3.1

English version

Возможности

  • Форматирование файла
  • Форматирование выбранного диапазона
  • Определение символов текущего файла (области, процедуры, функции, переменные, объявленные через
    Перем
    )
  • Определение сворачиваемых областей -
    #Область
    ,
    #Если
    , процедуры и функции, блоки кода
  • Показ когнитивной сложности метода
  • Диагностики
  • "Быстрые исправления" (quick fixes) для ряда диагностик
  • Запуск движка диагностик из командной строки
  • Запуск форматирования файлов в каталоге из командной строки

Запуск из командной строки

Запуск jar-файлов осуществляется через

java -jar path/to/file.jar
.
java -jar bsl-language-server.jar --help

BSL language server Usage: bsl-language-server [-h] [-c=] [COMMAND [ARGS]] -c, --configuration= Path to language server configuration file -h, --help Show this help message and exit Commands: analyze, -a, --analyze Run analysis and get diagnostic info format, -f, --format Format files in source directory version, -v, --version Print version lsp, --lsp LSP server mode (default)

При запуске BSL Language Server в обычном режиме будет запущен сам Language Server, взаимодействующий по протоколу LSP. Для взаимодействия используются stdin и stdout.

По умолчанию тексты диагностик выдаются на русском языке. Для переключения языка сообщений от движка диагностик необходимо настроить параметр

diagnosticLanguage
в конфигурационном файле или вызвав событие
workspace/didChangeConfiguration
:

Запуск в режиме анализатора

Для запуска в режиме анализа используется параметр

--analyze
(сокращенно
-a
).
Usage: bsl-language-server analyze [-hq] [-c=] [-o=] [-s=]
                                   [-r=]...
Run analysis and get diagnostic info
  -c, --configuration=
                           Path to language server configuration file
  -h, --help               Show this help message and exit
  -o, --outputDir=   Output report directory
  -q, --silent             Silent mode
  -r, --reporter=    Reporter key (console, junit, json, tslint, generic)
  -s, --srcDir=      Source directory
  -w, --workspaceDir= 
                           Workspace directory

Для указания каталога расположения анализируемых исходников используется параметр

--srcDir
(сокращенно
-s
), за которым следует путь (относительный или абсолютный) к каталогу исходников. Для формирования отчета об анализе требуется указать один или "репортеров". Для указания репортера используется параметр
--reporter
(сокращенно
-r
), за которым следует ключ репортера. Допустимо указывать несколько репортеров. Список репортетов см. в разделе Репортеры.

Пример строки запуска анализа:

java -jar bsl-language-server.jar --analyze --srcDir ./src/cf --reporter json

При анализе больших исходников рекомендуется дополнительно указывать параметр -Xmx, отвечающий за предел оперативной памяти для java процесса. Размер выделяемой памяти зависит от размера анализируемой кодовой базы.

java -Xmx4g -jar bsl-language-server.jar ...остальные параметры

Запуск в режиме форматтера

Для запуска в режиме форматтера используется параметр

--format
(сокращенно
-f
).
Usage: bsl-language-server format [-hq] [-s=]
Format files in source directory
  -h, --help            Show this help message and exit
  -q, --silent          Silent mode
  -s, --src=      Source directory or file

Для указания каталога расположения форматируемых исходников (или файла) используется параметр

--src
(сокращенно
-s
), за которым следует путь (относительный или абсолютный) к каталогу исходников (или файлу).

Пример строки запуска форматирования:

java -jar bsl-language-server.jar --format --src ./src/cf

Благодарности

Огромное спасибо всем контрибьюторам проекта, всем участвовавшим в обсуждениях, помогавшим с тестированием.

Вы потрясающие!

Спасибо компаниям, поддерживающим проекты с открытым исходным кодом, а особенно тем, кто поддержали нас:


YourKit

Создатель инновационных и интеллектуальных инструментов для профилирования приложений

Java
и
.NET
YourKit, LLC любезно предоставил нам лицензии на продукт
YourKit Java Profiler
.

С помощью

YourKit Java Profiler
мы мониторим и улучшаем производительность проекта.

JetBrains

Создатель профессиональных инструментов разработки программного обеспечения, инновационных и мощных, JetBrains поддержал наш проект, предоставив лицензии на свои продукты, в том числе на

IntelliJ IDEA Ultimate
.

IntelliJ IDEA Ultimate
один из лучших инструментов в своем классе.

ToDo

После реализации построения контекста:

  • Автодополнение методов текущего модуля
  • Автодополнение контекстных методов (конфигурация 1С и OneScript)
  • Сигнатура функций
  • Подробная всплывающая подсказка по методам
  • Переход к определению
  • Поиск мест использования
  • Предпросмотр определения процедуры
  • Поиск определения по символу

Дополнительно:

  • Автодополнение методов глобального контекста

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.