# Инструкция по установке и использованию расширения QuestLang ## Способы установки ### 1. Установка из исходного кода (для разработки) 1. Убедитесь, что у вас установлен VS Code и Node.js 2. Установите глобально инструмент для работы с расширениями VS Code: ```bash npm install -g @vscode/vsce ``` 3. Перейдите в директорию расширения: ```bash cd /Users/robonen/Projects/questlang/vscode-extension ``` 4. Упакуйте расширение в файл .vsix: ```bash vsce package ``` 5. Установите расширение в VS Code: ```bash code --install-extension questlang-syntax-1.0.0.vsix ``` ### 2. Установка для разработки (без упаковки) 1. Откройте папку расширения в VS Code: ```bash code /Users/robonen/Projects/questlang/vscode-extension ``` 2. Нажмите F5 для запуска Extension Development Host 3. В новом окне VS Code откройте любой файл с расширением .ql ## Тестирование подсветки синтаксиса 1. Создайте файл с расширением `.ql` 2. Скопируйте содержимое из `example.ql` или используйте пример из README 3. Проверьте, что синтаксис подсвечивается правильно: - Ключевые слова должны быть выделены цветом - Строки в кавычках должны быть одного цвета - Комментарии должны быть серыми/зелеными - Имена узлов (перед двоеточием) должны выделяться ## Элементы подсветки - **Ключевые слова структуры**: `квест`, `граф`, `узлы`, `начало`, `конец` - **Ключевые слова свойств**: `тип`, `описание`, `переходы`, `варианты`, `название` - **Типы узлов**: `начальный`, `действие`, `концовка` - **Строки**: текст в двойных кавычках - **Числа**: целые и десятичные числа - **Комментарии**: строки, начинающиеся с `//` - **Имена узлов**: идентификаторы перед двоеточием - **Имя квеста**: название после ключевого слова `квест` ## Функции редактора - Автоматическое закрытие скобок: `{}`, `[]`, `()` - Автоматическое закрытие кавычек: `""` - Автоматические отступы в блоках - Сворачивание блоков кода - Поддержка комментариев (Ctrl+/) ## Настройка цветовой схемы Вы можете настроить цвета подсветки в своей теме VS Code, используя следующие селекторы: ```json { "editor.tokenColorCustomizations": { "textMateRules": [ { "scope": "keyword.control.quest.questlang", "settings": { "foreground": "#569cd6", "fontStyle": "bold" } }, { "scope": "entity.name.type.quest.questlang", "settings": { "foreground": "#4ec9b0" } }, { "scope": "entity.name.function.node.questlang", "settings": { "foreground": "#dcdcaa" } } ] } } ``` ## Устранение неполадок ### Расширение не активируется - Проверьте, что файл имеет расширение `.ql` - Перезапустите VS Code - Проверьте, что расширение установлено в списке Extensions ### Подсветка работает неправильно - Убедитесь, что синтаксис файла корректный - Попробуйте команду "Reload Window" в VS Code - Проверьте консоль разработчика (Help > Toggle Developer Tools) ### Автодополнение не работает Данная версия расширения предоставляет только подсветку синтаксиса. Автодополнение можно добавить в будущих версиях, создав Language Server Protocol (LSP) сервер.