{"id":23760856,"url":"https://github.com/otymko/phoenixbsl","last_synced_at":"2025-04-12T14:56:21.308Z","repository":{"id":46857813,"uuid":"211693939","full_name":"otymko/phoenixbsl","owner":"otymko","description":"Упрощаем работу с конфигуратором 1С ","archived":false,"fork":false,"pushed_at":"2024-10-23T02:12:20.000Z","size":2128,"stargazers_count":267,"open_issues_count":56,"forks_count":39,"subscribers_count":23,"default_branch":"develop","last_synced_at":"2025-04-03T14:11:15.758Z","etag":null,"topics":["hacktoberfest","hacktoberfest2020"],"latest_commit_sha":null,"homepage":"https://otymko.github.io/phoenixbsl","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/otymko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing/index.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-29T16:43:24.000Z","updated_at":"2025-04-02T08:00:28.000Z","dependencies_parsed_at":"2025-02-12T09:06:37.369Z","dependency_job_id":"0c2e3459-ec02-4d90-8f23-bd3315811d3c","html_url":"https://github.com/otymko/phoenixbsl","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otymko%2Fphoenixbsl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otymko%2Fphoenixbsl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otymko%2Fphoenixbsl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otymko%2Fphoenixbsl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/otymko","download_url":"https://codeload.github.com/otymko/phoenixbsl/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586244,"owners_count":21128996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","hacktoberfest2020"],"created_at":"2024-12-31T20:38:01.437Z","updated_at":"2025-04-12T14:56:21.289Z","avatar_url":"https://github.com/otymko.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Actions Status](https://github.com/otymko/phoenixbsl/workflows/Java%20CI/badge.svg)](https://github.com/otymko/phoenixbsl/actions)\t\n[![Download](https://img.shields.io/github/release/otymko/phoenixbsl.svg?label=download\u0026style=flat)](https://github.com/otymko/phoenixbsl/releases/latest)\t\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=phoenixbsl\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=phoenixbsl)\n# Phoenix BSL для 1С\n\n## Описание\n\nПроект позволяет анализировать и форматировать код 1С в конфигураторе. Инструмент основан на проекте [BSL LS](https://github.com/1c-syntax/bsl-language-server).\n\n\u003cimg src=\"docs/assets/images/preview.png\" alt=\"Превью PhoenixBSL\" style=\"zoom:80%;\" /\u003e\n\n## Установка\n\nУстановить приложение можно двумя способами:\n* Через msi из релизов или сборок GitHub Action\n* Запустить отдельно jar файл (нужно подготовить каталоги, почти во всех случаях это нужно для тестирования данного проекта).\n\n### Установка msi\n\n1. Качаем из релизов файл msi.\n2. Устанавливаем на компьютере.\n3. Первый раз запускаем под администратором (иначе не работает обработка нажатий кнопок, пока проблема решается).\n\n### Запуск через jar\n\n1. На компьютере должна быть установлена Java не ниже 11 версии. Если нет - устанавливаем.\n2. Создаем новый каталог, из релизов копируем файл jar.\n3. В каталог создаем каталог app, извлекаем в него архив bsl-language-server_win.zip из релизов проекта [BSL LS](https://github.com/1c-syntax/bsl-language-server/releases/latest).\n4. Запускаем jar файл из консоли:\n```cmd\njava -jar phoenix-{version}.jar \n```\nгде {version} - версия приложения.\n\nНапример:\n```cmd\njava -jar phoenix-0.3.3.jar \n```\n\n## Как пользоваться\n\nПосле запуска приложения в конфигураторе нажимаем в модуле с кодом:\n* `CTRL` + `I` - анализ кода на замечания.\n* `CTRL` + `K` - форматирование кода.\n* `CTRL` + `J` - \"исправить все в модуле\" - автоматическое исправление определенных замечаний (см. \"Быстрые исправления\").\n\nТак же стоит отметить, что анализ и форматирование работает по выделенному коду.\n\n### Настройки\nНастроки приложения размещены: Трей приложения -\u003e Настройки.\nДоступно следующее:\n* Открыть каталог с логами приложения. Логирование ведется всегда. История сохраняется за последние 7 дней.\n* `Использовать BSL LS jar` - определяет, будет ли запущен BSL LS через java. По умолчанию выключено.\n* `Путь к JAVA` - путь к Java. Если значение `java` - то берется из PATH системы. \nДля запуска приложения требуется Java не ниже версии 11. \n* `Путь к BSL LS` - путь к приложению BSL LS. Либо это путь к jar файлу (если выключена опция `Использовать BSL LS jar`), либо это \nпуть к файлу `bsl-language-server.exe`.\n* `Свои настройки BSL LS` - признак использования своих настроек для BSL LS.\n* `Путь к настройкам BSL LS` - путь к настройкам BSL LS. По умолчанию `.bsl-language-server.json`. Для работы полного пакета проверок требуется указать в конфигурационном файле путь к выгруженным метаданным.  \n* `Группировать замечания` - при включенном флаге замечания группируются по их типу.\n\n#### Поддержка SonarLint\n\nПлагины поддержки 1С в SonarQube:\n* [1C (BSL) Community Plugin](https://github.com/1c-syntax/sonar-bsl-plugin-community) (пока не поддерживается)\n* [1C (BSL) Plugin от SilverBulleters ](https://silverbulleters.org/sonarqube) с версии 1.33\n\nЕсть возможность, используя SonarLint, проанализировать код 1С с помощью плагина 1С на сервере SonarQube. Для этого нужно добавить в конфигурационный файл приложения (`%USER_NAME%\\phoenixbsl\\Configuration.json`) настройку проекта в `projects`:\n\n```json\n{\n    // ...\n    \"projects\": [\n        {\n            \"name\": \"local\",\n            \"basePath\": \"C://Users//otymko//phoenixbsl//projects//context-collector//\",\n            \"useSonarLint\": true,\n            \"projectKey\": \"my-project1\",\n            \"serverUrl\": \"http://localhost:9000\",\n            \"serverId\": \"0000001\",\n            \"token\": \"58b7eaaa76be14d94e470ab28376f30f6cc95f55\"\n        }\n    ]\n}\n```\n\nгде свойства:\n\n* `name` - имя проекта внутри приложения\n* `basePath` - путь к рабочему каталогу проекта, в дальнейшем каталог должен содержать исходники конфигурации в формате **xml**. Есть каталог не существует, то приложение его создаст.\n* `useSonarLint` - опция для включения SonarLint. Работает при правильно заполненных свойствах: `projectKey`, `serverUrl`, `token`. Свойство `serverId` пока не используется.\n* `projectKey` - ключ проекта в SonarQube\n* `serverUrl` - адрес сервера SonarQube, например: [https://open.checkbsl.org/](https://open.checkbsl.org/)\n* `serverId` - идентификатор сервера SonarQube, пока не используется.\n* `token` - токен безопасности, для подключения к SonarQube. Генерируется из профиля пользователя.\n\nПосле заполнения проекта выше, в приложении будет доступен выбор проекта (в главном окне). Для удобства замечания разделены на:\n\n* bsl-ls - замечания, полученные с помощью [BSL LS](https://github.com/1c-syntax/bsl-language-server)\n* sonarlint - замечания, полученные с помощью плагинов 1С для SonarQube\n\n\n## Быстрые исправления\n\nС помощью \"Исправить все в модуле\" можно автоматически исправить следующие замечания:\n* Каноническое написание ключевых слов `CanonicalSpellingKeywords`\n* Пробел в начале комментария `SpaceAtStartComment`\n* Выражение должно заканчиваться символом \";\" `SemicolonPresence`\n\n## Разработка\n\nРазработка ведется по git flow. В разработке используется платформа JAVA не ниже 11 версии.\n\n## Развитие\nИдеи, фидбек, баги по проекту кидаем в раздел Досад [Issues](https://github.com/otymko/phoenixbsl/issues).\n\n\n**P.S.** Зачем это, если есть Снегопат, Turboconf, SmartConfigurator и т.п.? \nОтвет -\u003e использование языка Java, открытый исходный код, прокачка в разработке на Java.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotymko%2Fphoenixbsl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotymko%2Fphoenixbsl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotymko%2Fphoenixbsl/lists"}