Перейти к содержанию
100% локально

Генератор devcontainer.json

Создавайте devcontainer.json для VS Code Dev Containers с опциональным Dockerfile.

Выходные данные

Генератор devcontainer.json

Выберите язык программирования — инструмент создаст готовый devcontainer.json для VS Code Dev Containers и GitHub Codespaces. Поддерживаются Node.js, Python, Go, PHP, Java и базовый Ubuntu. Укажите версию, и генератор подставит правильный образ Microsoft devcontainers с логичными стандартными значениями для пользователя контейнера и портов.

Все параметры соответствуют полям реального devcontainer.json. Добавьте функции Git, Docker-in-Docker или Node.js — они создадут запись в объекте "features" с корректной ссылкой ghcr.io. Задайте перенаправляемые порты, postCreateCommand и postStartCommand для автоматического выполнения при старте контейнера. Расширения VS Code и параметры настроек переходят в раздел "customizations.vscode". Опция кэширования создаст именованный том для зависимостей языка — это ускорит пересборку. Если включить "Создать Dockerfile", генератор заменит поле "image" на "build" и создаст соответствующий Dockerfile.

Недопустимые записи пропускаются, а не ломают файл. Например, неверный порт, ID расширения без точки или строка параметра без "=" просто игнорируются. Версия очищается от символов, кроме букв, цифр, точек и дефисов. Результат всегда валидный JSON с подробным итогом по файлам, функциям и символам.

Всё выполняется локально в браузере — сведения о проекте никогда не отправляются на сервер. Скопируйте результат, загрузите как .txt файл для вставки в .devcontainer/devcontainer.json (и Dockerfile если нужен), или отправьте другому инструменту.

FAQ

Где сохранить этот файл?
Сохраните как .devcontainer/devcontainer.json. Если вы создали Dockerfile, сохраните его как .devcontainer/Dockerfile в той же папке.
Что такое "features" в devcontainer.json?
Функции (features) — это небольшие переиспользуемые блоки настройки (установка Git, включение Docker-in-Docker, добавление среды выполнения языка), которые добавляются к базовому образу без необходимости писать Dockerfile.
Что произойдёт, если оставить поле версии пустым?
Генератор использует текущий тег образа по умолчанию для этого языка, поэтому файл всегда остаётся корректным без необходимости искать тег вручную.
Почему мой ID расширения или порт исчезли из результата?
Записи, которые не соответствуют ожидаемому формату (ID расширения без формата publisher.name или порт вне диапазона 1–65535) пропускаются, чтобы созданный файл всегда оставался валидным.
Загружается ли моя конфигурация проекта куда-нибудь?
Нет. Devcontainer.json (и Dockerfile) создаются полностью в вашем браузере на основе выбранных опций — ничего не отправляется на сервер.