Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>MCDIS Config TemplatesNew to Visual Studio Code? Get it now.
MCDIS Config Templates

MCDIS Config Templates

custom

|
1 install
| (0) | Free
Поддержка для файлов контрактов, манифестов и infra конфигураций
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MCDIS Config Templates Extension

Расширение для VS Code, обеспечивающее поддержку файлов конфигураций MCDIS: контракты, манифесты и infra.

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

✨ Подсветка синтаксиса

  • Кастомная подсветка ключевых полей для каждого типа файла
  • Выделение типов контрактов, операций, протоколов
  • Подсветка переменных шаблонизации ({{VariableName}})

📝 Автодополнение (IntelliSense)

  • Автодополнение типов контрактов (rest, oauth2, rabbitmq, kafka, grpc)
  • Автодополнение HTTP методов (GET, POST, PUT, DELETE, PATCH)
  • Автодополнение протоколов (https, amqp, grpc и др.)
  • Автодополнение типов данных для манифестов
  • Автодополнение типов протоколов для infra

🔍 Валидация структуры

  • JSON Schema валидация для всех типов файлов
  • Проверка обязательных полей
  • Валидация форматов данных (даты, порты, типы)

💡 Подсказки при наведении (Hover)

  • Описания типов контрактов
  • Описания операций и протоколов
  • Описания настроек манифеста
  • Описания типов протоколов infra

📋 Сниппеты

  • Готовые шаблоны для быстрого создания структур
  • Сниппеты для контрактов (REST, OAuth2, RabbitMQ)
  • Сниппеты для манифестов (настройки, хосты, БД)
  • Сниппеты для infra (ресурсы, связи между сервисами)

📦 Поддерживаемые файлы

Контракты

  • Расширения: .contracts.yaml, .contracts.yml
  • Структура: system, contracts, schemas

Манифесты

  • Расширения: .manifest.yaml, .manifest.yml
  • Структура: Settings (массив настроек)

Infra

  • Расширения: .infra.yaml, .infra.yml
  • Структура: infrastructure, relations

🛠 Установка

Установка из VS Code Marketplace

  1. Откройте VS Code
  2. Нажмите Ctrl+Shift+X (или Cmd+Shift+X на Mac) для открытия панели расширений
  3. Найдите "MCDIS Config Templates"
  4. Нажмите Install

Установка из Nexus Repository

Если расширение опубликовано в Nexus:

  1. Через скрипт (Linux/Mac):
export NEXUS_URL="https://nexus.example.com"
export REPO_NAME="vscode-extensions"
export EXTENSION_NAME="mcdis-config-templates"
export VERSION="0.1.0"
./install-from-nexus.sh
  1. Вручную:
    • Получите URL к VSIX файлу из Nexus
    • В VS Code: Ctrl+Shift+P → Extensions: Install from VSIX...
    • Введите URL или скачайте файл локально

Локальная установка (для разработки)

  1. Клонируйте репозиторий или скопируйте папку vscode-extension

  2. Установите зависимости:

cd vscode-extension
npm install
  1. Скомпилируйте расширение:
npm run compile
  1. Откройте VS Code в папке расширения и нажмите F5 для запуска в режиме разработки

Установка из папки

  1. Скомпилируйте расширение:
cd vscode-extension
npm install
npm run compile
  1. В VS Code:
    • Нажмите Ctrl+Shift+P (или Cmd+Shift+P на Mac)
    • Выберите Extensions: Install from VSIX...
    • Или используйте команду: code --install-extension vscode-extension

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

Сниппеты

Начните вводить префикс сниппета и нажмите Tab:

Контракты:

  • contract-system - Заголовок системы контрактов
  • contract-rest - REST API контракт
  • contract-oauth2 - OAuth2 контракт
  • contract-rabbitmq - RabbitMQ контракт
  • schema - Схема данных

Манифесты:

  • manifest-header - Заголовок манифеста
  • setting - Запись настройки
  • setting-host - Настройка хоста
  • setting-db - Настройки базы данных

Infra:

  • infra-header - Заголовок инфраструктуры
  • infra-resource - Инфраструктурный ресурс
  • relation - Связь между сервисами
  • relation-http - HTTP/HTTPS связь
  • relation-db - Связь с базой данных
  • relation-mq - Связь с очередью сообщений

Автодополнение

Автодополнение работает автоматически при вводе : после ключевых полей:

  • type: - предложит типы контрактов или протоколов
  • operation: - предложит HTTP методы
  • protocol: - предложит протоколы
  • DataType: - предложит типы данных

Валидация

Валидация происходит автоматически при сохранении файла. Ошибки отображаются в панели "Problems" (Ctrl+Shift+M).

Подсказки

Наведите курсор на любое ключевое слово (тип контракта, операцию, протокол) для получения описания.

📝 Примеры

Контракт (contracts.yaml)

system:
  number: "MCDIS-CONTROL-001"
  name: "mcdis-control-center"
  date: "2025-08-28"
  description: "Система управления пользователями"

contracts:
  - type: "rest"
    name: "users-api"
    description: "API для управления пользователями"
    base_url: "https://{{MainHost}}/api/v1"
    operations:
      - operation: "GET"
        protocol: "https"
        resource: "/users"
        description: "Получить список пользователей"
        auth: true
        input: null
        output: "UserList"

Манифест (manifest.yaml)

Settings:
  - DataKey: MainHost
    DataValue: ""
    Description: "Основной хост приложения"
    Example: "https://control-stage.imbalanced.tech"
    DataType: string

Infra (infra.yaml)

infrastructure:
  - name: mcdis-control-center-frontend-hub
    description: "Основной веб-интерфейс"

relations:
  - from: frontend
    to: backend-service
    type: HTTPS
    port: 443
    description: "API запросы"

🔧 Разработка

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

vscode-extension/
├── src/
│   └── extension.ts          # Основной код расширения
├── syntaxes/                  # Грамматики для подсветки
│   ├── contracts.tmLanguage.json
│   ├── manifest.tmLanguage.json
│   └── infra.tmLanguage.json
├── schemas/                   # JSON схемы для валидации
│   ├── contracts-schema.json
│   ├── manifest-schema.json
│   └── infra-schema.json
├── snippets/                  # Сниппеты
│   ├── contracts.json
│   ├── manifest.json
│   └── infra.json
├── package.json
├── tsconfig.json
└── README.md

Команды

  • npm run compile - Компиляция TypeScript
  • npm run watch - Компиляция в режиме наблюдения
  • npm run vscode:prepublish - Подготовка к публикации

Отладка

  1. Откройте папку vscode-extension в VS Code
  2. Нажмите F5 для запуска нового окна VS Code с расширением
  3. В новом окне откройте файл с расширением .contracts.yaml, .manifest.yaml или .infra.yaml

📄 Лицензия

MIT

🤝 Вклад

Приветствуются pull requests и issues!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft