【YAMLフォーマッター】yamlfmt使ってみる

2023.08.25
2024.03.24
開発環境
yamlfmt

はじめに

YAML のフォーマッターである yamlfmt について紹介していきます。

yamlfmt とは

yamlfmtとは、YAML のフォーマッターのコマンドラインツール/ライブラリとなっています。

yamlfmtを使って、新しい YAML のフォーマッターを作成したりも可能です。

GitHub - google/yamlfmt: An extensible command line tool or library to format yaml files.

GitHub - google/yamlfmt: An extensible command line tool or library to format yaml files.

An extensible command line tool or library to format yaml files. - google/yamlfmt

リポジトリは Google のものですが、まだ公式にサポートされているわけではなさそうです。(2023/08 現在)

インストール

下記コマンドでインストールできます。

1go install github.com/google/yamlfmt/cmd/yamlfmt@latest

基本的な使い方

下記のようにファイルを指定して、実行することができます。

1yamlfmt [file path]

下記で、カレントディレクトリから再起的にyamlymlのファイルをフォーマットできます。

1yamlfmt .

設定

設定ファイルは、下記の優先順位で適用されます。

  1. --confオプションで指定したファイル
  2. カレントディレクトリの.yamlfmtファイル
  3. $HOME/.config/yamlfmtなどの config ディレクトリ内の.yamlfmtファイル
yamlfmt/docs/config-file.md at main · google/yamlfmt

yamlfmt/docs/config-file.md at main · google/yamlfmt

An extensible command line tool or library to format yaml files. - google/yamlfmt

設定ファイルは下記のようになります。

1formatter:
2  indentless_arrays: true

indentless_arraysは、Kubernetes のマニフェストなどでみられる配列のインデントの有無を選択できます。

VSCode の拡張

VSCode でyamlfmtが使える拡張については、下記の issue で言及されていますが、有志の方が作ったyamlfmtの拡張があるみたいです。

VS Code extension · Issue #129 · google/yamlfmt

VS Code extension · Issue #129 · google/yamlfmt

Hi, I created a VS Code extension wrapping yamlfmt: https://marketplace.visualstudio.com/items?itemName=bluebrown.yamlfmt. Maybe you could mention it in your README. If you have ideas for adjusting...

yamlfmt - Visual Studio Marketplace

yamlfmt - Visual Studio Marketplace

Extension for Visual Studio Code - Format yaml files with https://github.com/google/yamlfmt

ちなみに、下記の Kubernetes の YAML フォーマッターはyamlfmtを使っているそうです。

Kubernetes YAML Formatter - Visual Studio Marketplace

Kubernetes YAML Formatter - Visual Studio Marketplace

Extension for Visual Studio Code - A better YAML formatter for DevOps like Kubernetes, Ansible, CI/CD, etc.

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee