Releases: 1c-syntax/bsl-language-server
Releases · 1c-syntax/bsl-language-server
v0.8.0
- Добавлена команда
--version
, выводящая версию продукта - В конфигурацию добавлено свойство
traceLog
- путь к файлу для логирования всех входящих и исходящих запросов между BSL Language Server и Language Client из используемой IDE - Добавлен обработчик
textDocument/documentSymbol
- запрос "символов" документа. Выводятся процедуры, функции и переменные, объявленные черезПерем
(в т.ч. внутри процедур и функций) - В провайдер сворачивания областей добавлен поиск последовательных инструкций
#Использовать
(для OneScript) - Добавлены новые диагностики:
- Управляющие конструкции не должны быть вложены слишком глубоко
- Ошибка разбора исходного кода
- Приведение к числу в попытке
- Бесполезный перебор коллекции
- Добавлен обработчик
textDocument/codeAction
- действия в открытом документе. В качестве начальных действий представлены "быстрые исправления" (quick fixes) для диагностик:CanonicalSpellingKeywords
EmptyStatement
SemicolonPresence
- Исправлены падения провайдера сворачивания областей при редактировании файла
- Исправлен выброс ошибок при редактировании файлов в диагностиках
EmptyCodeBlock
,FunctionShouldHaveReturn
,SemicolonPresence
- Если диагностика
OneStatementPerLine
срабатывает несколько раз на одной строчке, то информация о соседних срабатываниях добавляется в "связанные места" (related locations) вместо отдельных замечаний - Убран вывод в stdout ошибок разбора парсера
- Исправлены
NullPointerException
при запуске анализатора как библиотеки в других продуктах - При закрытии документа (
textDocument/didClose
) на клиент отправляется пустой список диагностик - Обновлены зависимости
v0.7.0
- Добавлен обработчик
textDocument/foldingRange
- расчет сворачиваемых областей. Доступно сворачивание многострочных комментариев, инструкций препроцессору#Если ... #КонецЕсли
,#Область ... #КонецОбласти
, процедур и функций, блочных конструкцийЕсли
/Пока
и т.п. - Исправлена ошибка дублирования комментария в начале файла при выполнении форматирования документа
v0.6.1
v0.6.0
- Добавлен подсчет метрик:
- количество процедур
- количество функций
- количество выражений
- количество строк
- количество строк кода
- Изменен формат репортера json - в вывод добавлена информация о метриках
- Добавлен сборщик информации о методах
- Добавлены новые диагностики:
- Ограничение на использование устаревшего метода "Сообщить"
- Ограничение на использование конструкторов с параметрами при объявлении структуры
- Ограничение на количество значений свойств, передваваемых в конструктор структуры
- Использование НайтиПоНаименованию и НайтиПоКоду
- Использование служебных тегов
- Добавлено разграничение диагностик по области применения -
all
,bsl
,os
- Обновлены ссылки на стандарты ИТС в описании диагностик
v0.5.0
- Добавлена возможность конфигурации запускаемых диагностик с помощью конфигурационного файла. Для передачи используется ключ запуска
--configuration
. Подробнее см. документацию. - Удален ключ запуска
--diagnosticLanguage
. Вместо него для указания языка диагностик используется конфигурационный файл - Добавлены возможности конфигурирования диагностик:
- LineLength
- MethodSize
- NumberOfOptionalParams
- NumberOfParams
- Добавлены диагностики:
- IfElseDuplicatedCodeBlock - Повторяющиеся блоки кода в синтаксической конструкции Если...Тогда...ИначеЕсли...
- ProcedureReturnsValue - Процедура не может возвращать значение
- Добавлен внешний API для получения метаданных диагностик
- Добавлен перевод сайта и описаний диагностик на английский язык
- Обновлена версия BSL Parser
v0.4.0
- Добавлена возможность указания каталога, куда сохраняются файлы репортеров в режиме
analyze
. Параметр--outputDir ./out
- Добавлены диагностики:
- Каноническое написание ключевых слов
- Повторяющиеся условия в синтаксической конструкции Если...Тогда...ИначеЕсли...
- Ограничение на количество не обязательных параметров метода
- Ограничение на количество параметров метода
- Порядок параметров метода
- Присвоение переменной самой себе
- Работа с параметром «Отказ»
- Использование буквы "ё" в текстах модулей
- Добавлена возможность форматирования документа и выбранного диапазона
- Добавлен вывод результатов анализа в формате
Generic Issue
- Обновлена зависимость от BSL Parser
v0.3.0
- Добавлен репортер в формат JUnit.xml
- Добавлены диагостики:
- Пустой оператор
- Использование синтаксической конструкции Если...Тогда...ИначеЕсли...
- Вложенный тернарный оператор
- Использование буквы "ё" в текстах модулей
- Исправлена проблема парсинга одиночного CR (символ "возврат каретки")
- Отключены пока нереализованные возможности (completion и hover)
- Диагностика на пустой блок кода больше не срабатывает на процедурах
- Диагностика на длину строки больше не срабатывает в многострочных строках
- Уточнено позиционирование диагностики на наличие точки с запятой
- Диагностика на количество операторов в одной строке больше не срабатывает на пустой оператор
- Обновлена зависимость от BSL Parser
v0.2.1
v0.2.0
- Добавлены новые диагностики:
- Ограничение на размер метода
- Выражение должно заканчиваться “;”
- Неизвестный символ препроцессора
- Пустой блок кода
- Одно выражение в одной строке
- Добавлен прогресс-бар в режиме анализа файлов
- При обработке запроса exit происходит остановка language-server, как того требует LSP
- Обновление LSP4J до 0.6.0
- Исправление проблем асинхронной работы анализатора при большом количестве анализируемых файлов
- Исправлено позиционирование диагностик, позиционирующихся на несколько токенов
- Смена идентификатора пакета
- Глубокий рефакторинг, тесты и покрытие
- Расширено README, добавлена инструкция по написанию диагностик, запущен сайт https://1c-syntax.github.io/bsl-language-server/