BSL Analyzer - VSCode Extension
🚀 Современное VSCode расширение для анализа BSL (1C:Enterprise) кода с поддержкой унифицированной системы типов
🌟 Ключевые возможности
📊 Unified BSL Index Integration
- Поиск типов: Мгновенный поиск любого BSL типа (платформенного или конфигурационного)
- Исследование методов: Полное отображение методов и свойств типов
- Проверка совместимости: Валидация совместимости типов для присваивания
- Инкрементальные обновления: Быстрое обновление индекса при изменениях
🔍 Language Server Protocol (LSP)
- Диагностика в реальном времени: Анализ кода по мере набора
- Автодополнение: Контекстные подсказки на основе типов
- Метрики качества кода: Визуализация сложности и технического долга
- Рефакторинг: Безопасные преобразования кода
🎯 Расширенные команды
BSL Index
BSL Index: Search BSL Type
- Поиск типа по имени
BSL Index: Search Method in Type
- Поиск метода в конкретном типе
BSL Index: Build Unified BSL Index
- Построение индекса из конфигурации
BSL Index: Show Index Statistics
- Статистика индекса
BSL Index: Incremental Index Update
- Инкрементальное обновление
BSL Index: Explore Type Methods & Properties
- Детальное исследование типа
BSL Verification
BSL Verification: Validate Method Call
- Проверка вызова метода
BSL Verification: Check Type Compatibility
- Проверка совместимости типов
BSL Analyzer
BSL Analyzer: Analyze Current File
- Анализ текущего файла
BSL Analyzer: Analyze Workspace
- Анализ всего рабочего пространства
BSL Analyzer: Generate Reports
- Генерация отчетов
BSL Analyzer: Show Code Quality Metrics
- Метрики качества кода
⚙️ Настройка
Обязательные настройки
Путь к бинарным файлам BSL Analyzer:
"bslAnalyzer.indexServerPath": "C:\\path\\to\\bsl-analyzer\\target\\debug"
Путь к конфигурации 1С:
"bslAnalyzer.configurationPath": "C:\\path\\to\\your\\1c\\configuration"
Версия платформы 1С:
"bslAnalyzer.platformVersion": "8.3.25"
Дополнительные настройки
{
"bslAnalyzer.autoIndexBuild": true,
"bslAnalyzer.enableRealTimeAnalysis": true,
"bslAnalyzer.enableMetrics": true,
"bslAnalyzer.maxFileSize": 1048576,
"bslAnalyzer.serverMode": "stdio",
"bslAnalyzer.trace.server": "off"
}
🚀 Быстрый старт
1. Установка
- Откройте VSCode
- Перейдите в Extensions (Ctrl+Shift+X)
- Установите "BSL Analyzer"
- Перезапустите VSCode
2. Настройка проекта
- Откройте настройки (Ctrl+,)
- Найдите "BSL Analyzer"
- Укажите пути к бинарным файлам и конфигурации
- Сохраните настройки
3. Построение индекса
- Откройте Command Palette (Ctrl+Shift+P)
- Выполните "BSL Index: Build Unified BSL Index"
- Дождитесь завершения индексации (обычно < 1 секунды)
4. Начало работы
- Откройте любой .bsl файл
- Используйте Ctrl+Shift+P для доступа к командам BSL
- Контекстное меню в редакторе для быстрых действий
📖 Примеры использования
Поиск типа
Ctrl+Shift+P → "BSL Index: Search BSL Type"
Введите: "Массив" или "Справочники.Номенклатура"
Проверка совместимости типов
Ctrl+Shift+P → "BSL Verification: Check Type Compatibility"
From: "Справочники.Номенклатура"
To: "СправочникСсылка"
→ ✅ СОВМЕСТИМЫ
Валидация вызова метода
- Выделите вызов метода в коде:
МойОбъект.МойМетод(Параметр1, Параметр2)
- Правый клик → "Validate Method Call"
- Получите детальный анализ совместимости
🎯 Архитектура
UnifiedBslIndex System
- 24,055+ платформенных типов с автоматическим кешированием
- Конфигурационные типы из XML метаданных
- O(1) поиск благодаря HashMap индексации
- Версионное кеширование в ~/.bsl_analyzer/
- Первая индексация: ~795ms
- Загрузка из кеша: ~588ms (25% быстрее)
- Инкрементальные обновления: отслеживание изменений файлов
- Граф наследования: кеширование связей между типами
🔧 Системные требования
- VSCode: 1.74.0+
- 1C:Enterprise: 8.3.24+
- BSL Analyzer: v1.2.0+
- ОС: Windows 10/11, Linux, macOS
🐛 Диагностика проблем
LSP сервер не запускается
- Проверьте путь в
bslAnalyzer.serverPath
- Убедитесь что lsp_server.exe существует
- Проверьте права доступа к файлу
Индекс не строится
- Проверьте путь к конфигурации в
bslAnalyzer.configurationPath
- Убедитесь что у вас есть права на чтение конфигурации
- Проверьте логи в Output → BSL Analyzer
Команды не работают
- Убедитесь что
bslAnalyzer.indexServerPath
указывает на директорию с исполняемыми файлами
- Проверьте наличие файлов: query_type.exe, build_unified_index.exe, check_type_compatibility.exe
- Перезапустите VSCode
📝 Логи и отладка
Откройте View → Output → BSL Analyzer для просмотра логов:
Executing: C:\path\build_unified_index.exe --config "C:\config" --platform-version "8.3.25"
Command completed with code: 0
Output: Index built successfully: 24,055 platform types + 150 config types
🤝 Поддержка
📄 Лицензия
MIT License - см. LICENSE файл.
🚀 BSL Analyzer v1.2.0 - Unified BSL Type System для современной разработки на 1C:Enterprise