TOML フォーマッター&バリデーター
ガイド
TOML フォーマッター&バリデーター
TOML(Tom’s Obvious Minimal Language)は、Rustプロジェクト(Cargo.toml)、Pythonパッケージング(pyproject.toml)、およびその他多くのツールの設定フォーマットとして定着しました。人間が読めるように設計されていますが、手編集された設定ファイルは、不整合なスペース、キーの順序の乱れ、ビルド時にのみ表面化する微妙な構文エラーなど、必然的にずれが生じます。
このツールは、TOMLをクライアントサイドで解析し、仕様に対して検証し、クリーンで一貫性のあるフォーマットで再出力します。また、JSONに変換して迅速な相互運用性のチェックも行います。何もブラウザから離れることはありません。
使い方
TOMLコンテンツを入力エリアに貼り付けるか、組み込みの例(Cargo.toml、pyproject.toml)のいずれかをお試しください。インデントの好みの設定を選択し、必要に応じてアルファベット順のキーソートを切り替えると、フォーマットされた出力が即座に表示されます。JSONタブを使用して、解析された構造をJSONとして表示します。ワンクリックで結果をコピーまたはダウンロードできます。
特徴
- 構文検証 – 行番号と説明的なメッセージでエラーを検出し、ビルドが壊れる前に修正します
- Consistent Formatting – インデント、等号周りのスペース、テーブル間の空行を正規化します
- キーの並べ替え – 必要に応じて、各テーブル内のキーをアルファベット順に並べ替えて、予測可能な順序にします
- 設定可能なインデント – プロジェクトの規則に合わせるために、2スペースまたは4スペースを選択します
- TOMLからJSONへの変換 – 設定をJSONとして表示し、迅速なデバッグやAPI統合に利用します
- 組み込みの例 – サンプルのCargo.tomlまたはpyproject.toml設定をロードして、フォーマットを即座にテストします
- クライアント側処理 – 設定ファイルはブラウザ内に留まります — サーバーには何も送信されません
このツールを使用するタイミング
設定の変更をコミットする前、複数の貢献者からの設定をマージする際、またはTOMLのバージョン間を移行する際に、TOMLをフォーマッターに通してください。JSON変換は、TOMLベースの設定をJSON専用ツールやAPIに渡す必要がある場合に特に役立ちます。
よくある質問
-
TOMLとは何ですか?YAMLやJSONとどう違いますか?
TOML(Tom's Obvious Minimal Language)は、読み書きしやすいように設計された設定ファイルフォーマットです。YAMLとは異なり、TOMLは微妙なバグを引き起こす重要な空白や複雑なネストを避けます。JSONとは異なり、TOMLはコメントをサポートし、ネイティブな日付/時刻型を持ち、設定ファイルにとってはより人間にとって親しみやすいものです。TOMLは、YAMLの柔軟性の一部を予測可能性と引き換えにしています — 一般的に、TOMLで何かを表現する方法は1つだけです。
-
TOMLテーブルとは何ですか?インラインテーブルとの違いは何ですか?
TOMLテーブルは、[package]や[dependencies]のようなヘッダーの下にあるキーと値のペアのコレクションです。テーブルは、[server.database]のようなドット表記のヘッダーを使用してネストできます。インラインテーブルは、波括弧を使用したコンパクトな一行構文です:key = { name = 'value', version = '1.0' }。正規のテーブルは、多くのキーがある場合に可読性が向上しますが、インラインテーブルは小さく密接に関連した値のグループに適しています。
-
なぜRustプロジェクトはJSONやYAMLではなくCargo.tomlを使用するのですか?
RustがCargoにTOMLを選択したのは、人間が読みやすく、機械が解析しやすいというバランスが取れているからです。TOMLの明示的な型指定(文字列、整数、ブール値、日付)は、YAML('no'がブール値として解釈される可能性がある)に見られる曖昧さを軽減します。コメントのサポートは、依存関係の選択肢を文書化するために不可欠です。このフォーマットのシンプルさは、解析のエッジケースが少なく、さまざまなツールやエディターでより予測可能な動作を意味します。
-
TOMLのテーブル配列とは何ですか?
テーブル配列は、二重括弧 [[table_name]] を使用して、同じテーブルタイプの複数のインスタンスを定義します。たとえば、Cargo.tomlの[[bin]]は複数のバイナリターゲットを定義します。各[[bin]]ブロックは、配列に新しい要素を追加します。これは、JSON配列の視覚的なノイズやYAMLのダッシュベースのリストなしでオブジェクトの配列を表すTOMLの方法です。
-
Pythonパッケージングでpyproject.tomlはどのように機能しますか?
pyproject.tomlは、Pythonの標準化されたプロジェクト設定ファイル(PEP 518およびPEP 621で定義)です。これは、古いsetup.pyおよびsetup.cfgアプローチに取って代わります。[build-system]テーブルはビルド要件を指定し、[project]には名前、バージョン、依存関係などのメタデータが含まれ、[tool.*]テーブルにはpytest、black、mypyなどの特定のツールの設定が含まれます。これにより、複数の設定ファイルが1つの標準的な場所に統合されます。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
