【YAMLフォーマッター】yamlfmt使ってみる
はじめに
YAML のフォーマッターである yamlfmt について紹介していきます。
yamlfmt とは
yamlfmt
とは、YAML のフォーマッターのコマンドラインツール/ライブラリとなっています。
yamlfmt
を使って、新しい YAML のフォーマッターを作成したりも可能です。
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]
下記で、カレントディレクトリから再起的にyaml
とyml
のファイルをフォーマットできます。
1yamlfmt .
設定
設定ファイルは、下記の優先順位で適用されます。
--conf
オプションで指定したファイル- カレントディレクトリの
.yamlfmt
ファイル $HOME/.config/yamlfmt
などの config ディレクトリ内の.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
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
Extension for Visual Studio Code - Format yaml files with https://github.com/google/yamlfmt
ちなみに、下記の Kubernetes の YAML フォーマッターはyamlfmt
を使っているそうです。
Better YAML Formatter - Visual Studio Marketplace
Extension for Visual Studio Code - A better YAML formatter
参考
- google/yamlfmt: An extensible command line tool or library to format yaml files.
- yamlfmt/docs at main · google/yamlfmt
- VS Code extension · Issue #129 · google/yamlfmt
- yamlfmt - Visual Studio Marketplace