Ключевые особенности этого форматтера YAML
- Форматирование на основе Prettier, настроенное для конфигурационных файлов YAML 1.2
- Единообразные отступы с настраиваемым размером (1–8) и выбором пробелов или табуляции
- Настраиваемая длина строки для удобочитаемости длинных ключей и значений
- Корректно обрабатывает якоря, псевдонимы, логические значения как строки и многострочные блоки
- Работает с файлами `.yaml` и `.yml` для Kubernetes, Docker Compose, CI-пайплайнов и других
- Вставьте YAML из редактора или перетащите конфигурационные файлы в форматтер
- Одним кликом скопируйте отформатированный YAML обратно в редактор или репозиторий
- Форматирование выполняется в основном на стороне клиента в вашем браузере; безопасный серверный резерв используется только при отсутствии необходимого парсера/плагина
🔧 Как форматировать конфигурационные файлы YAML for yaml-formatter
1. Вставьте или загрузите ваш YAML
Скопируйте любой фрагмент YAML (манифест Kubernetes, `docker-compose.yml`, workflow GitHub Actions, плейбук Ansible и т.д.) и вставьте его в редактор или перетащите файл `.yaml` / `.yml`.
2. Настройте отступы и переносы
Выберите использование пробелов или табуляции, установите размер отступа (1–8 пробелов) и настройте длину строки в соответствии со стилем вашей команды. Длина строки `0` фактически отключает переносы, используя очень большое внутреннее значение `printWidth`.
3. Запустите форматтер
Нажмите кнопку **Форматировать**. Движок YAML на основе Prettier переписывает вашу конфигурацию с единообразными отступами, сохраняя якоря, псевдонимы и блоки, чтобы семантика не изменилась.
4. Скопируйте чистый YAML
Просмотрите вывод, затем скопируйте отформатированный YAML обратно в редактор, закоммитьте в Git или вставьте в ваш CI/CD или интерфейс облачного провайдера.
Технические характеристики
Движок форматирования и поддержка YAML
Этот инструмент построен на основе форматтера YAML на базе Prettier с опциями конфигурации, доступными в интерфейсе.
| Функция | Поддержка | Примечания |
|---|---|---|
| Версия YAML | ✅ YAML 1.2 (типичная) | Подходит для современного YAML в стиле конфигураций, используемого в Kubernetes, Docker, CI/CD и приложениях. |
| Якоря и псевдонимы | ✅ Сохранены | Сохраняет ссылки `&anchor` и `*alias` нетронутыми при переформатировании отступов окружающей структуры. |
| Блочные скаляры | ✅ Сохранены | Сохраняет блочные скаляры `|` и `>` с учётом внутренних отступов. |
| Логические значения и числа | ✅ Аккуратная обработка | Форматирование сохраняет значения, но может выявить различия между `yes` и "yes" или `0012` и "0012". |
| Многодокументный YAML (`---`) | ✅ Типично | Несколько документов в одном файле сохраняются в порядке и форматируются единообразно. |
Отступы, Длина строки и Стиль вывода
Форматировщик предоставляет ключевые опции, чтобы вы могли максимально точно соответствовать стилю вашего проекта.
| Настройка | Опции | Практическая рекомендация |
|---|---|---|
| Стиль отступов | Пробелы / Табуляции | Большинство руководств по стилю YAML рекомендуют пробелы; табуляции только если ваша команда явно предпочитает их. |
| Размер отступа | 1–8 пробелов | 2 пробела распространены для Kubernetes и Docker; 4 пробела для лучшей визуальной ясности. |
| Перенос / длина строки | 0–120 символов | `0` отключает перенос (использует очень большое внутреннее значение `printWidth`), 80–100 сохраняет компактность различий. |
| Расширения файлов | .yaml, .yml | Соответствует `fileExtensions` и `acceptedFileTypes` в конфигурации инструмента. |
Ограничения и Производительность
Оптимизировано для интерактивного форматирования YAML-конфигураций во вкладке браузера.
| Параметр | Ограничение / Поведение | Примечания |
|---|---|---|
| Максимальный размер ввода | ≈ 2 МБ (~2 000 000 символов) | Ограничение безопасности, применяемое внутри функции форматирования. |
| Максимальный размер загружаемого файла | ≈ 5 МБ | Ограничено настройкой `maxFileSize` в интерфейсе для удобства и надежности. |
| Таймаут форматирования | ~25 секунд | Долгие операции прерываются, чтобы предотвратить зависание браузера. |
| Основное выполнение | На стороне клиента | Запускается через `runPrettier` и плагин Prettier YAML непосредственно в вашем браузере. |
| Резервный сервер | Только при ошибках парсера/плагина | Если необходимый парсер или плагин отсутствует, можно использовать защищенную конечную точку `/api/yaml-formatter` в качестве резервного варианта. |
Альтернативы CLI для форматирования YAML
Используйте онлайн-форматтер для быстрой очистки, а для больших проектов и автоматизированных пайплайнов полагайтесь на CLI инструменты.
Linux / 🍏 macOS
Форматирование YAML файла с помощью yq (красивое отображение)
yq eval -P config.yaml > config.formatted.yamlПерезаписывает YAML с последовательными отступами и порядком ключей в зависимости от версии yq.
Нормализация YAML с помощью Prettier
prettier --parser yaml --write "**/*.{yaml,yml}"Запускает тот же класс движка (парсер YAML Prettier) во всем вашем репозитории.
Windows (PowerShell / cmd)
Форматирование YAML с использованием PowerShell + yq
yq eval -P config.yaml | Set-Content config.formatted.yamlКрасиво отображает YAML и записывает результат обратно на диск.
Обработка YAML через объекты PowerShell
Get-Content config.yaml -Raw | ConvertFrom-Yaml | ConvertTo-Yaml | Set-Content config.formatted.yamlИспользует поддержку YAML в PowerShell для нормализации структуры и отступов.
Практические случаи использования YAML
Инфраструктура и манифесты Kubernetes
- Форматируйте манифесты Kubernetes `Deployment`, `Service` и `Ingress` перед код-ревью.
- Нормализуйте файлы `values.yaml` в Helm charts для более чистых различий.
- Поддерживайте последовательные отступы в YAML для CRDs, ConfigMaps и Secrets во всех средах.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:latest
ports:
- containerPort: 80Docker Compose и локальная конфигурация разработки
- Украсьте `docker-compose.yml` перед тем, как поделиться им в документации или тикетах.
- Выравнивание отступов сервисов, сетей и томов для упрощения обслуживания.
- Подготовка чистых фрагментов YAML для постов в блогах и руководств по адаптации.
version: "3.9"
services:
web:
image: myapp:latest
ports:
- "8080:80"
environment:
- NODE_ENV=production
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: exampleCI/CD Пайплайны и Автоматизация
- Форматирование рабочих процессов GitHub Actions (`.github/workflows/*.yml`).
- Очистка GitLab CI (`.gitlab-ci.yml`) или YAML Azure Pipelines.
- Поддержание читаемости YAML для автоматизации и инфраструктуры как кода между командами.
name: CI
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: npm test❓ Frequently Asked Questions
❓Что делает этот форматтер YAML?
YAML (обычно файлы конфигурации) и перезаписывает их с единообразными отступами и переносами, используя движок YAML на основе Prettier. Семантика вашей конфигурации остается неизменной, но структура становится гораздо удобнее для чтения и проверки.🧩Какие функции YAML поддерживаются?
YAML 1.2, используемых в конфигурационных файлах: отображения, списки, якоря и псевдонимы, блочные скаляры (`|` / `>`), а также многодокументные файлы, разделенные `---`. Пользовательские теги и очень экзотические конструкции могут не полностью поддерживаться базовым парсером.📏Есть ли ограничение по размеру для входных данных YAML?
YAML лучше запускайте Prettier или yq из вашего CLI или CI-пайплайна.🔐Загружается ли мой YAML на сервер?
YAML, поэтому ваш YAML не покидает клиент при нормальной работе. В редких случаях, когда отсутствует необходимый плагин парсера, инструмент может переключиться на защищенную конечную точку `/api/yaml-formatter`. Даже в этом случае ваш YAML обрабатывается только временно и не сохраняется.⚠️Почему иногда появляются ошибки парсера?
YAML содержит ошибки (например, несогласованные отступы, отсутствие `:` или неправильно выровненные элементы списка) или использует синтаксис, который встроенный парсер не понимает. Проверьте отступы и структуру или попробуйте упростить фрагмент, затем снова запустите форматтер.📚Как это связано с моей локальной настройкой Prettier?
YAML на основе Prettier, аналогично запуску `prettier --parser yaml`. Вы можете использовать его для быстрых единичных исправлений и по-прежнему полагаться на локальный `.prettierrc` и CLI-команды для форматирования всего проекта.Pro Tips
Нормализуйте весь YAML в репозитории (Kubernetes, GitHub Actions, Docker Compose) с одинаковым стилем отступов, чтобы значительно упростить сравнение и проверку изменений.
Будьте осторожны со значениями типа `yes`, `no`, `on`, `off`, `0012` – заключайте их в кавычки, если хотите, чтобы они обрабатывались как строки, а не как логические значения или числа в восьмеричном формате.
Используйте этот онлайн-форматтер для быстрой очистки фрагментов для документации или тикетов, а для полных проектов полагайтесь на `prettier` или `yq` в pre-commit хуках.
При рефакторинге больших конфигураций сначала отформатируйте их, чтобы семантические изменения четко выделялись в Git diff, а не терялись в шуме отступов.
Additional Resources
Other Tools
- Форматер CSS
- Форматер HTML
- Форматер JavaScript
- Форматер PHP
- Выбор цвета
- Экстрактор спрайтов
- Декодер Base64
- Кодировщик Base64
- Форматер C#
- Форматер CSV
- Dockerfile Formatter
- Форматер Elm
- Форматер ENV
- Форматер Go
- Форматер GraphQL
- Форматер HCL
- Форматер INI
- Форматер JSON
- Форматер LaTeX
- Форматер Markdown
- Форматер Objective-C
- Php Formatter
- Форматер Proto
- Форматер Python
- Форматер Ruby
- Форматер Rust
- Форматер Scala
- Форматер shell-скриптов
- Форматер SQL
- Форматтер SVG
- Форматтер Swift
- Форматтер TOML
- Typescript Formatter
- Форматтер XML
- Форматтер Yarn
- Минификатор CSS
- Html Minifier
- Javascript Minifier
- Минификатор JSON
- Минификатор XML
- Просмотрщик HTTP-заголовков
- PDF в текст
- Тестер регулярных выражений
- Проверка позиций в SERP
- Поиск Whois