Skip to content

pmswga/plui

Repository files navigation

Plui - Расширение VS Code для языка LUI

Version VS Code License

Plui - это расширение для Visual Studio Code, которое предоставляет полную поддержку языка LUI (Language of User Interface) и инструменты для разработки пользовательских интерфейсов.

🚀 Возможности

✨ Поддержка языка LUI

  • Подсветка синтаксиса для файлов .lui
  • Автодополнение и IntelliSense
  • Сниппеты для быстрого создания компонентов
  • Конфигурация языка с поддержкой комментариев и скобок

🛠️ Инструменты разработки

  • LUI Translator - компиляция и трансляция LUI файлов
  • Python Interpreter - выполнение Python скриптов
  • Интеграция с VS Code Tasks для автоматизации

⌨️ Горячие клавиши

  • Shift + S - Выбор LUI транслятора
  • Shift + T - Трансляция LUI файла
  • Shift + R - Запуск Python скрипта

📦 Установка

Из VS Code Marketplace

  1. Откройте VS Code
  2. Нажмите Ctrl+Shift+X (или Cmd+Shift+X на macOS)
  3. Найдите "plui" в поиске
  4. Нажмите "Install"

Из исходного кода

git clone https://github.com/pmswga/plui.git
cd plui
npm install
npm run compile

🎯 Использование

Первоначальная настройка

  1. Выбор LUI транслятора:

    • Нажмите Shift + S или выполните команду Plui: Select Lui translator
    • Выберите исполняемый файл транслятора LUI
  2. Выбор Python интерпретатора:

    • Выполните команду Plui: Select Python interpreter
    • Выберите исполняемый файл Python

Работа с LUI файлами

  1. Создание нового файла:

    • Создайте файл с расширением .lui
    • VS Code автоматически определит язык и включит подсветку синтаксиса
  2. Использование сниппетов:

    • Введите Window и нажмите Tab для создания окна
    • Доступны сниппеты для всех основных компонентов
  3. Трансляция файла:

    • Откройте LUI файл
    • Нажмите Shift + T для трансляции

Компоненты LUI

Основные компоненты

  • Window - главное окно приложения
  • Widget - виджет
  • Dialog - диалоговое окно

UI компоненты

  • Label - текстовые метки
  • Entry - поля ввода
  • Button - кнопки
  • List - списки

Свойства

  • x, y - координаты
  • width, height - размеры
  • name - имя компонента
  • position - позиция
  • title - заголовок
  • caption - подпись
  • data - данные

События

  • onclick - обработчик клика

📁 Структура проекта

plui/
├── src/                    # Исходный код расширения
│   ├── extension.ts       # Основной файл расширения
│   └── test/             # Тесты
├── syntaxes/              # Определения синтаксиса
│   └── lui.tmLanguage.json
├── snippets/              # Сниппеты для компонентов
│   ├── components.json    # Основные компоненты
│   ├── directives.json    # Директивы
│   ├── input_components.json  # Компоненты ввода
│   └── output_components.json # Компоненты вывода
├── language-configuration.json # Конфигурация языка
└── package.json           # Конфигурация расширения

⚙️ Конфигурация

Настройки расширения

В settings.json VS Code можно настроить:

{
    "plui.luiTranslator": "path/to/lui/translator.exe",
    "plui.pythonInterpreter": "path/to/python.exe"
}

Команды

  • plui.selectLuiTranslator - Выбор LUI транслятора
  • plui.translateLuiFile - Трансляция LUI файла
  • plui.selectPythonInterpreter - Выбор Python интерпретатора
  • plui.runPythonScript - Запуск Python скрипта

🔧 Разработка

Требования

  • Node.js 14.x или выше
  • TypeScript 4.5.4
  • VS Code 1.65.0 или выше

Установка зависимостей

npm install

Компиляция

npm run compile

Режим разработки

npm run watch

Тестирование

npm test

Линтинг

npm run lint

📝 Примеры

Простое окно

Window {
    name: mainWindow
    title: "Мое приложение"
    x: 100
    y: 100
    width: 800
    height: 600
}

Окно с компонентами

Window {
    name: formWindow
    title: "Форма ввода"
    
    Label {
        name: nameLabel
        caption: "Имя:"
        x: 20
        y: 20
    }
    
    Entry {
        name: nameEntry
        x: 100
        y: 20
        width: 200
    }
    
    Button {
        name: submitButton
        caption: "Отправить"
        x: 100
        y: 60
        onclick: submitForm
    }
}

🤝 Вклад в проект

Мы приветствуем вклады в развитие проекта! Если вы хотите помочь:

  1. Форкните репозиторий
  2. Создайте ветку для новой функции (git checkout -b feature/amazing-feature)
  3. Зафиксируйте изменения (git commit -m 'Add amazing feature')
  4. Отправьте в ветку (git push origin feature/amazing-feature)
  5. Создайте Pull Request

🐛 Сообщение об ошибках

Если вы нашли ошибку или у вас есть предложение по улучшению:

  1. Проверьте существующие issues
  2. Создайте новый issue с подробным описанием проблемы

📄 Лицензия

Этот проект распространяется под лицензией MIT. См. файл LICENSE для получения дополнительной информации.

👥 Команда

🔗 Полезные ссылки


Plui - делаем разработку UI проще и эффективнее! 🎨✨

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors