Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Code Pattern BuilderNew to Visual Studio Code? Get it now.
Code Pattern Builder

Code Pattern Builder

Sevchik

|
1 install
| (0) | Free
Устал писать одни и те же паттерны руками? Севчик всё решил за тебя
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Code Pattern Builder by Sevchik

Расширение для Visual Studio Code, которое заменяет короткие команды готовыми конструкциями языка C++.

Plugin demo

Проект написан на TypeScript. Пользователь вводит команду в отдельной строке C++-файла, а затем нажимает Enter или Tab. Расширение прoверяет строку и, если команда известна, заменяет ее сгенерированным кодом.

Как начать использовать

Нужно просто скачать раширение.

Поддерживаемые команды

@m — функция main

Ввод:

@m

Результат:

int main(int argc, char** argv) {

    return 0;
}

@a имя_массива — цикл по элементам

Ввод:

@a numbers

Результат:

for (auto i : numbers) {

}

@f начало граница направление — обычный цикл for

Ввод:

@f 0 10 +

Результат:

for (int i = 0; i < 10; ++i) {

}

Знак + означает движение вперед. Он создает условие < и шаг ++i. Знак - означает движение назад. Он создает условие > и шаг --i.

Пример:

@f 10 0 -

Результат:

for (int i = 10; i > 0; --i) {
    
}

@c — вывод в консоль

Ввод:

@c

Результат:

std::cout <<  << std::endl;

После раскрытия команды курсор можно поставить между операторами << и ввести значение для вывода.

Как работает расширение

Основная логика находится в src/extension.ts:

  1. parsePattern() получает текст строки и разбирает его на части.
  2. Функция проверяет имя команды и количество параметров.
  3. Если команда правильная, возвращается объект PatternRequest.
  4. buildPattern() получает этот объект и создает строку с C++-кодом.
  5. expandPatternOrType() заменяет текущую строку готовым кодом.
  6. Если команда неизвестна, нажатие Enter или Tab передается обратно VS Code, поэтому обычное поведение клавиш не ломается.
  7. activate() регистрирует команды расширения при запуске.

Отступ первой строки сохраняется и добавляется к каждой строке результата. Поэтому паттерн можно написать внутри блока C++ с уже существующим отступом.

Описание файлов проекта

src/extension.ts

Главный файл расширения. Здесь находится весь рабочий код:

  • тип PatternType перечисляет поддерживаемые виды конструкций;
  • интерфейс PatternRequest хранит вид команды и ее параметры;
  • parsePattern() разбирает введенную команду;
  • buildPattern() создает C++-шаблон;
  • expandPatternOrType() заменяет строку или возвращает стандартное действие клавиши;
  • activate() подключает команды к VS Code;
  • deactivate() оставлен пустым, потому что при выключении расширению нечего дополнительно освобождать.

В этом файле оставлены подробные комментарии, чтобы было проще объяснить логику на защите.

package.json

Главный файл описания расширения. Это не исходный код, а настройки проекта:

  • name, displayName, description, version — информация о расширении;
  • main — путь к скомпилированному файлу, который запускает VS Code;
  • contributes.commands — команды, которые видны VS Code;
  • contributes.keybindings — привязка обработки к клавишам Enter и Tab;
  • scripts — короткие команды npm для компиляции и проверки;
  • devDependencies — инструменты, нужные только для разработки.

Это стандартный обязательный файл для расширения VS Code.

package-lock.json

Автоматически созданный npm-файл. Он фиксирует точные версии всех зависимостей и их внутренних зависимостей. Вручную его редактировать не нужно.

Это шаблонный служебный файл, но его рекомендуется хранить в Git, чтобы у преподавателя установились те же версии пакетов.

tsconfig.json

Настройки компилятора TypeScript:

  • исходники берутся из папки src;
  • результат записывается в папку out;
  • используется современный JavaScript;
  • включен строгий режим проверки типов;
  • создаются карты исходного кода для удобной отладки.

Это стандартный конфигурационный файл TypeScript.

.vscode/launch.json

Настройка запуска проекта через F5. Она открывает отдельное окно Extension Development Host, в котором загружается текущее расширение.

Файл создан по стандартному шаблону VS Code и немного настроен под этот проект.

.vscode/tasks.json

Описывает задачу сборки для VS Code. Перед запуском расширения выполняется команда npm run watch, которая следит за изменениями TypeScript и собирает новый JavaScript.

Это стандартный конфигурационный файл VS Code.

.gitignore

Список файлов, которые не нужно отправлять на GitHub:

  • node_modules/ — установленные зависимости;
  • out/ — автоматически скомпилированные файлы;
  • .vscode-test/, coverage/ — результаты тестирования;
  • *.vsix — собранные пакеты расширения;
  • логи npm и системные файлы.

Эти файлы можно получить заново командами npm, поэтому хранить их в репозитории не требуется.

Ограничения

  • Команда должна находиться на отдельной текущей строке.
  • Расширение работает в C++-файлах благодаря условию editorLangId == cpp.
  • При неизвестной команде обычное поведение Enter и Tab сохраняется.
  • Расширение заменяет всю строку, но сохраняет ее начальный отступ.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft