feat: add QuestLang VS Code extension with syntax highlighting and installation instructions

This commit is contained in:
2025-09-01 03:10:30 +07:00
parent 96d6131c2c
commit 65018dfcc6
8 changed files with 510 additions and 88 deletions

108
vscode-extension/INSTALL.md Normal file
View File

@@ -0,0 +1,108 @@
# Инструкция по установке и использованию расширения 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) сервер.