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

|
6 installs
| (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)

  • Контракты:
    • Автодополнение ключевых полей: system, contracts, schemas
    • Автодополнение полей системы: number, name, date, description
    • Автодополнение полей контракта: type, name, description, base_url, operations и др.
    • Автодополнение типов контрактов (rest, oauth2, rabbitmq, kafka, grpc)
    • Автодополнение HTTP методов (GET, POST, PUT, DELETE, PATCH)
    • Автодополнение протоколов (https, amqp, grpc и др.)
  • Манифесты:
    • Автодополнение ключевых полей: Settings
    • Автодополнение полей настройки: DataKey, DataValue, Description, Example, DataType
    • Автодополнение типов данных (string, integer, array[string])
    • Автодополнение распространенных ключей (MainHost, PostgresqlHost и др.)
  • Infra:
    • Автодополнение ключевых полей: infrastructure, relations
    • Автодополнение полей ресурса: name, version, description
    • Автодополнение полей связи: from, to, type, port и др.
    • Автодополнение типов протоколов (HTTP, HTTPS, GRPC, TCP и др.)
    • Автодополнение стандартных портов

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

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

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

  • Контракты:
    • Описания ключевых полей структуры (system, contracts, schemas)
    • Описания полей системы и контрактов
    • Описания типов контрактов, операций и протоколов
  • Манифесты:
    • Описания ключевых полей (Settings)
    • Описания полей настройки (DataKey, DataValue, DataType и др.)
    • Описания распространенных ключей настроек
  • Infra:
    • Описания ключевых полей (infrastructure, relations)
    • Описания полей ресурсов и связей
    • Описания типов протоколов

📋 Сниппеты

  • Готовые шаблоны для быстрого создания структур
  • Сниппеты для контрактов (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="1.0.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 для запуска в режиме разработки

Установка из VSIX файла

Если у вас уже есть файл .vsix (например, mcdis-config-templates-1.0.0.vsix):

Способ 1: Через интерфейс VS Code (рекомендуется)

  1. Откройте VS Code
  2. Нажмите Ctrl+Shift+P (или Cmd+Shift+P на Mac)
  3. Введите и выберите: Extensions: Install from VSIX...
  4. Выберите файл .vsix
  5. Расширение установится автоматически

Способ 2: Через командную строку

code --install-extension mcdis-config-templates-1.0.0.vsix

Или с полным путем:

code --install-extension "C:\path\to\mcdis-config-templates-1.0.0.vsix"

Способ 3: Двойной клик В некоторых системах двойной клик по .vsix файлу автоматически установит расширение.

Создание VSIX файла

Если нужно создать .vsix файл из исходников:

  1. Установите зависимости:
cd vscode-extension
npm install
  1. Скомпилируйте расширение:
npm run compile
  1. Создайте пакет:
npm run package

Это создаст файл mcdis-config-templates-1.0.0.vsix в текущей папке.

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

Сниппеты

Начните вводить префикс сниппета и нажмите 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 - Связь с очередью сообщений

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

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

На верхнем уровне:

  • В пустой строке или после - предложит ключевые поля структуры (system, contracts, schemas для контрактов; Settings для манифестов; infrastructure, relations для infra)

Внутри структур:

  • При вводе : после ключевых полей предложит соответствующие значения:
    • type: - предложит типы контрактов или протоколов
    • operation: - предложит HTTP методы
    • protocol: - предложит протоколы
    • DataType: - предложит типы данных
    • port: - предложит стандартные порты
  • При вводе имени поля предложит доступные поля структуры (например, в system: предложит number, name, date, description)

Валидация

Валидация происходит автоматически при сохранении файла. Ошибки отображаются в панели "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 - Подготовка к публикации
  • npm run package - Создание VSIX пакета (файл .vsix)
  • npm run publish - Публикация расширения в Marketplace

Отладка

  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
© 2026 Microsoft