GithubHelp home page GithubHelp logo

1c-syntax / bsl-language-server Goto Github PK

View Code? Open in Web Editor NEW
297.0 22.0 106.0 220 MB

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

Home Page: https://1c-syntax.github.io/bsl-language-server

License: Other

Java 82.95% 1C Enterprise 17.04% Shell 0.01%
hacktoberfest 1c-enterprise

bsl-language-server's Introduction

BSL Language Server

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

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

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

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

Исходники документации - GitHub


Language Server Protocol implementation for 1C (BSL) - 1C:Enterprise 8 and OneScript languages.

Project site - https://1c-syntax.github.io/bsl-language-server/en

Project site (develop) - https://1c-syntax.github.io/bsl-language-server/dev/en

Documentation sources - GitHub

bsl-language-server's People

Contributors

akabrr avatar alkoleft avatar artbear avatar asosnoviy avatar astrizhachuk avatar daabramov avatar dependabot[bot] avatar eightm avatar evgsychev avatar evilbeaver avatar gitlocalize-app[bot] avatar huxuxuya avatar kuzyara avatar lchagelishvili avatar minimajack avatar mironovdmitry avatar mt-gitlocalize avatar nivanchenko avatar nixel2007 avatar otymko avatar ovcharenko-di avatar qtlex avatar salexdv avatar sfaqer avatar stepa86 avatar theshadowco avatar transifex-integration[bot] avatar yansergey avatar zeegin avatar zeratulayuris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bsl-language-server's Issues

(8.3.10+) Использование устаревшего метода клиентского приложения

Диагностика: Использован устаревший метод "%1" (актуальное - "%2").

Устаревший метод Актуальный метод
УстановитьКраткийЗаголовокПриложения КлиентскоеПриложение.УстановитьКраткийЗаголовок
ПолучитьКраткийЗаголовокПриложения КлиентскоеПриложение.ПолучитьКраткийЗаголовок
УстановитьЗаголовокКлиентскогоПриложения КлиентскоеПриложение.УстановитьЗаголовок
ПолучитьЗаголовокКлиентскогоПриложения КлиентскоеПриложение.ПолучитьЗаголовок
ТекущийВариантОсновногоШрифтаКлиентскогоПриложения КлиентскоеПриложение.ТекущийВариантОсновногоШрифта
ТекущийВариантИнтерфейсаКлиентскогоПриложения КлиентскоеПриложение.ТекущийВариантИнтерфейса

Настройки диагностик

Какие диагностики применять/исключать при анализе.

  • Конкретный список
  • По важности
  • По области действия

Индивидуальные настройки, у каждой диагностики свои параметры

  • Максимальная длинна строки
  • Разрешить однотипные присваивания в одной строке
  • и т.д.

Неиспользуемый экспортный метод

Метод экспортный, но не вызывается из другим модулей. Лишнее слово "Экспорт".

Дополнительная сложность с обработчиками оповещений.

Поддержка толстого клиента, управляемое приложение, клиент-сервер

Поддержка стандарта Поддержка толстого клиента, управляемое приложение, клиент-сервер

В модулях объектов, наборов записей и т.п.

  1. в модулях [из списка по стандарту] есть области препроцессора
  2. область #Иначе для коревой области препроцессора существует (нужно убедиться что проверка не дает фолс позитив на #Иначе в не корневой области)
  3. в области #Иначе должен быть райз и только он, ничего больше ничего меньше

Ошибка

#Если Сервер Тогда
// ЧтоТо
#Иначе
ВызватьИсключение "Текст";
#КонецЕсли

Правильный модуль

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// ЧтоТо
#Иначе
ВызватьИсключение "Текст";
#КонецЕсли

Ошибка

Процедура МояПроцедура()
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// ЧтоТо
#Иначе
ВызватьИсключение "Текст";
#КонецЕсли
КонецПроцедуры

Ошибка

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// ЧтоТо
#Иначе
#КонецЕсли

Ошибка

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// ЧтоТо
#КонецЕсли

Модуль сеанса и все модули менеджеров заключены в конструкцию

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
// ЧтоТо
#КонецЕсли

Приведение к числу в попытке

Например, неправильно:

Попытка
 КоличествоДнейРазрешения = Число(Значение);
Исключение
 КоличествоДнейРазрешения = 0; // значение по умолчанию
КонецПопытки;

Правильно:

ОписаниеТипа = Новый ОписаниеТипов("Число");
КоличествоДнейРазрешения = ОписаниеТипа.ПривестиЗначение(Значение);

LineLength на методах

Должно ли срабатывать на методах?

Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)

Имхо да, но даже на SSL зашкаливает количество срабатываний.

может под настройку?

(8.3.6+) Найти -> СтрНайти

8.3.6+
Диагностика: Использование устаревшего метода глобального контекста

Использован устаревший глобальный метод "Найти" (актуальный - "СтрНайти").

Неиспользуемый параметр

С ошибкой:

Функция СложитьДваЧисла(Знач ПервоеЧисло, Знач ВтороеЧисло, Знач ЛишнийПараметр)

    Возврат ПервоеЧисло+ВтороеЧисло;

КонецФункции

С ошибкой 2

Функция СложитьДваЧисла(Знач ПервоеЧисло, Знач ВтороеЧисло, Знач ЛишнийПараметр = Неопределено)

Возврат ПервоеЧисло+ВтороеЧисло;

КонецФункции

Без ошибки

Функция СложитьДваЧисла(Знач ПервоеЧисло, Знач ВтороеЧисло)

Возврат ПервоеЧисло+ВтороеЧисло;

КонецФункции

(8.3.12+) ОбластьПостроенияДиаграммы. Использование устаревшего свойства объекта

Совместимость 8.3.12+
Диагностика: Использование устаревшего свойства объекта ОбластьПостроенияДиаграммы: "%1" (актуальное - "%2").

Устаревший метод Актуальный метод
ОтображатьШкалу ОтображатьШкалы
ЛинииШкалы ЛинииШкал
ЦветШкалы ЦветШкал
ОтображатьПодписиШкалыСерии ШкалаСерий.ПоложениеПодписейШкалы = ПоложениеПодписейШкалыДиаграммы.Снаружи
ОтображатьПодписиШкалыТочек ШкалаТочек.ПоложениеПодписейШкалы = ПоложениеПодписейШкалыДиаграммы.Снаружи
ОтображатьПодписиШкалыЗначений ШкалаТочек.ПоложениеПодписейШкалы = ПоложениеПодписейШкалыДиаграммы.Снаружи
ОтображатьЛинииЗначенийШкалы ШкалаЗначений.ОтображениеЛинийСетки = ОтображениеЛинийСеткиДиаграммы.Отображать
ФорматШкалыЗначений ШкалаЗначений.ФорматПодписей
ОриентацияМеток ОриентацияПодписейДиаграммы.Горизонтально

Использование объектов не доступных в Linux-клиенте

Ругаться на: Новый COMОбъект
Диагностика: Проверить, что задействованы аналоги COM объектов при работе в Linux-клиенте.

Ругаться на: Новый Почта
Диагностика: Проверить, что пользователю доступны аналоги объекта Почта при работе в Linux-клиенте.

(8.3.10+) ВариантОткрытияОкна. Использование устаревшего системного перечисления

8.3.10+
Диагностика: Использование устаревшего системного перечисления ВариантОткрытияОкна
Системное перечисление ВариантОткрытияОкна более не доступно.
Требуется переработать код с отказом от использования перечисления.

ЭтаФорма -> ЭтотОбъект

Диагностика: Использовано устаревшее имя свойства "ЭтаФорма" (актуальное - "ЭтотОбъект").
8.3.3+

(8.3.12+) ОриентацияМетокДиаграммы. Использование устаревшего системного перечисления

Совместимость 8.3.12+
Диагностика: Использование устаревшего системного перечисления
Системное перечисление ОриентацияМетокДиаграммы более не доступно.
Актуальный вариант ОриентацияПодписейДиаграммы.

Проверка на модальность

Диагностика: Использование модальных окон

Модальный метод Немодальный аналог
Вопрос ПоказатьВопрос
Предупреждение ПоказатьПредупреждение
ОткрытьЗначение ПоказатьЗначение
ВвестиДату ПоказатьВводДаты
ВвестиЗначение ПоказатьВводЗначения
ВвестиСтроку ПоказатьВводСтроки
ВвестиЧисло ПоказатьВводЧисла
УстановитьВнешнююКомпоненту НачатьУстановкуВнешнейКомпоненты
УстановитьРасширениеРаботыСФайлами НачатьУстановкуРасширенияРаботыСФайлами
УстановитьРасширениеРаботыСКриптографией НачатьУстановкуРасширенияРаботыСКриптографией
ПоместитьФайл НачатьПомещениеФайла
ОткрытьФормуМодально ОткрытьФорму
СписокЗначений.ОтметитьЭлементы СписокЗначений.ПоказатьОтметкуЭлементов
СписокЗначений.ВыбратьЭлемент СписокЗначений.ПоказатьВыборЭлемента
УправляемаяФорма.ВыбратьИзМеню УправляемаяФорма.ПоказатьВыборИзМеню
УправляемаяФорма.ВыбратьИзСписка УправляемаяФорма.ПоказатьВыборИзСписка
УправляемаяФорма.ОткрытьМодально УправляемаяФорма.Открыть
ДиалогРасписанияРегламентногоЗадания.ОткрытьМодально ДиалогРасписанияРегламентногоЗадания.Показать
КонструкторФорматнойСтроки.ОткрытьМодально КонструкторФорматнойСтроки.Показать
ДиалогРедактированияСтандартногоПериода.Редактировать ДиалогРедактированияСтандартногоПериода.Показать
ДиалогВыбораШрифта.Выбрать ДиалогВыбораШрифта.Показать
ДиалогВыбораЦвета.Выбрать ДиалогВыбораЦвета.Показать
ОбработкаРасшифровкиКомпоновкиДанных.ВыбратьДействие ОбработкаРасшифровкиКомпоновкиДанных.ПоказатьВыборДействия

(8.3.12+) Диаграмма. Использование устаревшего свойства объекта

Совместимость 8.3.12+
Диагностика: Использование устаревшего свойства объекта Диаграмма: "%1" (актуальное - "%2").

Устаревший метод Актуальный метод
ПалитраЦветов ОписаниеПалитрыЦветов.ПалитраЦветов
ЦветНачалаГрадиентнойПалитры ОписаниеПалитрыЦветов.ЦветНачалаГрадиентнойПалитры
ЦветКонцаГрадиентнойПалитры ОписаниеПалитрыЦветов.ЦветКонцаГрадиентнойПалитры
МаксимальноеКоличествоЦветовГрадиентнойПалитры ОписаниеПалитрыЦветов.МаксимальноеКоличествоЦветовГрадиентнойПалитры
ПолучитьПалитру ОписаниеПалитрыЦветов.ПолучитьПалитру
УстановитьПалитру ОписаниеПалитрыЦветов.УстановитьПалитру
ОтображатьЛегенду Задайте отображаемую область с помощью одного из свойств ОбластьЛегендыДиаграммы, ОбластьЛегендыДиаграммыГанта или ОбластьЛегендыСводнойДиаграммы
ОтображатьЗаголовок Задайте отображаемую область с помощью одного из свойств ОбластьЗаголовкаДиаграммы, ОбластьЗаголовкаДиаграммыГанта или ОбластьЗаголовкаСводнойДиаграммы

Fp LineLength на Нстр()

ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедуре ЗаполнитьРеквизитСпособОтображенияПодсказки не удалось обработать некоторые вопросы шаблона анкеты (пропущены): %1'"),
ПроблемныхОбъектов);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.