• Stars
    star
    233
  • Rank 172,230 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Упрощаем работу с конфигуратором 1С

Actions Status Download Quality Gate Status

Phoenix BSL для 1С

Описание

Проект позволяет анализировать и форматировать код 1С в конфигураторе. Инструмент основан на проекте BSL LS.

Превью PhoenixBSL

Установка

Установить приложение можно двумя способами:

  • Через msi из релизов или сборок GitHub Action
  • Запустить отдельно jar файл (нужно подготовить каталоги, почти во всех случаях это нужно для тестирования данного проекта).

Установка msi

  1. Качаем из релизов файл msi.
  2. Устанавливаем на компьютере.
  3. Первый раз запускаем под администратором (иначе не работает обработка нажатий кнопок, пока проблема решается).

Запуск через jar

  1. На компьютере должна быть установлена Java не ниже 11 версии. Если нет - устанавливаем.
  2. Создаем новый каталог, из релизов копируем файл jar.
  3. В каталог создаем каталог app, извлекаем в него архив bsl-language-server_win.zip из релизов проекта BSL LS.
  4. Запускаем jar файл из консоли:
java -jar phoenix-{version}.jar 

где {version} - версия приложения.

Например:

java -jar phoenix-0.3.3.jar 

Как пользоваться

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

  • CTRL + I - анализ кода на замечания.
  • CTRL + K - форматирование кода.
  • CTRL + J - "исправить все в модуле" - автоматическое исправление определенных замечаний (см. "Быстрые исправления").

Так же стоит отметить, что анализ и форматирование работает по выделенному коду.

Настройки

Настроки приложения размещены: Трей приложения -> Настройки. Доступно следующее:

  • Открыть каталог с логами приложения. Логирование ведется всегда. История сохраняется за последние 7 дней.
  • Использовать BSL LS jar - определяет, будет ли запущен BSL LS через java. По умолчанию выключено.
  • Путь к JAVA - путь к Java. Если значение java - то берется из PATH системы. Для запуска приложения требуется Java не ниже версии 11.
  • Путь к BSL LS - путь к приложению BSL LS. Либо это путь к jar файлу (если выключена опция Использовать BSL LS jar), либо это путь к файлу bsl-language-server.exe.
  • Свои настройки BSL LS - признак использования своих настроек для BSL LS.
  • Путь к настройкам BSL LS - путь к настройкам BSL LS. По умолчанию .bsl-language-server.json. Для работы полного пакета проверок требуется указать в конфигурационном файле путь к выгруженным метаданным.
  • Группировать замечания - при включенном флаге замечания группируются по их типу.

Поддержка SonarLint

Плагины поддержки 1С в SonarQube:

Есть возможность, используя SonarLint, проанализировать код 1С с помощью плагина 1С на сервере SonarQube. Для этого нужно добавить в конфигурационный файл приложения (%USER_NAME%\phoenixbsl\Configuration.json) настройку проекта в projects:

{
    // ...
    "projects": [
        {
            "name": "local",
            "basePath": "C://Users//otymko//phoenixbsl//projects//context-collector//",
            "useSonarLint": true,
            "projectKey": "my-project1",
            "serverUrl": "http://localhost:9000",
            "serverId": "0000001",
            "token": "58b7eaaa76be14d94e470ab28376f30f6cc95f55"
        }
    ]
}

где свойства:

  • name - имя проекта внутри приложения
  • basePath - путь к рабочему каталогу проекта, в дальнейшем каталог должен содержать исходники конфигурации в формате xml. Есть каталог не существует, то приложение его создаст.
  • useSonarLint - опция для включения SonarLint. Работает при правильно заполненных свойствах: projectKey, serverUrl, token. Свойство serverId пока не используется.
  • projectKey - ключ проекта в SonarQube
  • serverUrl - адрес сервера SonarQube, например: https://open.checkbsl.org/
  • serverId - идентификатор сервера SonarQube, пока не используется.
  • token - токен безопасности, для подключения к SonarQube. Генерируется из профиля пользователя.

После заполнения проекта выше, в приложении будет доступен выбор проекта (в главном окне). Для удобства замечания разделены на:

  • bsl-ls - замечания, полученные с помощью BSL LS
  • sonarlint - замечания, полученные с помощью плагинов 1С для SonarQube

Быстрые исправления

С помощью "Исправить все в модуле" можно автоматически исправить следующие замечания:

  • Каноническое написание ключевых слов CanonicalSpellingKeywords
  • Пробел в начале комментария SpaceAtStartComment
  • Выражение должно заканчиваться символом ";" SemicolonPresence

Разработка

Разработка ведется по git flow. В разработке используется платформа JAVA не ниже 11 версии.

Развитие

Идеи, фидбек, баги по проекту кидаем в раздел Досад Issues.

P.S. Зачем это, если есть Снегопат, Turboconf, SmartConfigurator и т.п.? Ответ -> использование языка Java, открытый исходный код, прокачка в разработке на Java.

More Repositories

1

bslls-connector-for-edt

Плагин поддержки BSL LS в EDT
Java
103
star
2

acc-export

Экспорт диагности 1С: АПК для SonarQube 1C (BSL) Community Plugin
1C Enterprise
93
star
3

gitrules

Библиотека разбора xml правил конвертации (правил обмена / правил регистрации) на файлы и каталоги
1C Enterprise
67
star
4

crs-api

Библиотека взаимодействия с хранилищем 1С по HTTP
1C Enterprise
36
star
5

JOneS

Engine OneScript on Java 😜
Java
29
star
6

infostart2020-nsk-example

1C Enterprise
27
star
7

bsl-context-collector

1C Enterprise
16
star
8

article-sonar-for-infostart

Batchfile
14
star
9

setup-onescript

JavaScript
14
star
10

crs-api-4j

Библиотека взаимодействия с сервером хранилища конфигураций 1С (CRS) по протоколу HTTP.
Java
10
star
11

extconvert

Конвертация epf to cf
10
star
12

OneScript.WebSite

Website for OneScript.
1C Enterprise
8
star
13

crs-manager

JavaScript
8
star
14

meetup-edt-2020

1C Enterprise
6
star
15

proxy-1c-rmq

Прокси прослойка между 1С и RMQ
JavaScript
5
star
16

x-genpass

Генератор случайных паролей из консоли
Shell
4
star
17

os-github

Библиотека интеграции с GitHub
1C Enterprise
4
star
18

is2021-template

JavaScript
3
star
19

os-amazonmws

1C Enterprise
3
star
20

os-dropbox

Библиотека взаимодействия с Dropbox
1C Enterprise
3
star
21

edt-p2-registry

2
star
22

setup-executor

TypeScript
2
star
23

os-scanner

Пример анализа кода 1С на языке OneScript
1C Enterprise
1
star
24

otymko

1
star
25

for-zeegin

1
star
26

bsl-genpas

Для экспериметов
1C Enterprise
1
star