設定
Oxfmt は即座に動作しますが、ほとんどのチームではローカル実行、エディタ、CI の間でフォーマットを一貫させるために設定ファイルをコミットします。
このページではプロジェクトの設定に焦点を当てます:フォーマットオプション、無視パターン、および実験的機能です。
設定ファイルの作成
現在のディレクトリにスタートアップ設定を生成するには:
oxfmt --initOxfmt は、現在のディレクトリから始めてツリーを上方向に探索し、.oxfmtrc.json または .oxfmtrc.jsonc を自動的に検索します。明示的に設定ファイルを指定することもできます:
oxfmt -c path/to/yourconfig.json最小限の設定ファイルは以下の通りです:
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"printWidth": 80
}設定ファイルの形式
設定ファイルは JSON オブジェクトです。最も一般的なトップレベルのフィールドは次のとおりです:
printWidth: 行幅の制限(デフォルト:100)tabWidth: インデントレベルごとのスペース数(デフォルト:2)useTabs: 空白の代わりにタブを使用(デフォルト:false)semi: 半角セミコロンを追加(デフォルト:true)singleQuote: 単一引用符を使用(デフォルト:false)trailingComma: 複数行構造における末尾のカンマ(デフォルト:"all")ignorePatterns: フォーマット対象外にするグロブパターンsortImports: インポートの並べ替えを設定(デフォルトで無効)sortTailwindcss: Tailwind CSS クラスの並べ替えを設定(デフォルトで無効)sortPackageJson: package.json の並べ替えを設定(デフォルトで有効)
すべてのフィールドの一覧については、設定ファイルリファレンス を参照してください。
JSON スキーマ
エディタでの検証および補完のために $schema フィールドを追加します:
{
"$schema": "./node_modules/oxfmt/configuration_schema.json"
}.editorconfig
Oxfmt は以下の .editorconfig プロパティを読み取ります:
end_of_line→endOfLineindent_style→useTabsindent_size→tabWidthmax_line_length→printWidthinsert_final_newline→insertFinalNewline
ルートセクションとグロブベースのオーバーライドの両方がサポートされています。
[*]
indent_size = 4
[*.{js,ts}]
indent_size = 2Oxfmt は現在のディレクトリから最も近い .editorconfig ファイルのみを使用します:
root = trueは無視されます- 嵌合された
.editorconfigファイルはマージされません
オーバーライド
overrides フィールドを使用して、特定のファイルに対して異なるフォーマットオプションを適用します:
{
"printWidth": 100,
"overrides": [
{
"files": ["*.test.js", "*.spec.ts"],
"options": {
"printWidth": 120
}
},
{
"files": ["*.md", "*.html"],
"excludeFiles": ["*.min.js"],
"options": {
"tabWidth": 4
}
}
]
}各オーバーライドエントリには以下の項目があります:
files(必須):ファイルを一致させるためのグロブパターンexcludeFiles(オプション):このオーバーライドから除外するグロブパターンoptions:適用するフォーマットオプション
グロブパターンは、Oxfmt 設定ファイルが含まれるディレクトリを基準にして解決されます。
優先度
オプションは順番に適用されます(優先度は低→高):
- デフォルト値
.oxfmtrc.json(c)のルートオプション.oxfmtrc.json(c)のoverridesオプション.editorconfigがサポートするオプションに未設定のフィールドについてフォールバック
Oxfmt 専用のオプション
insertFinalNewline
フォーマット済みのファイルに最終的な改行を追加するかどうかを制御します。デフォルトは true です。
これは、一部の環境(例:Salesforce)が末尾の改行を削除するため、よく要望される Prettier 機能です。
printWidth
Oxfmt はデフォルトで printWidth: 100(Prettier は 80)を使用します。理由は以下の通りです:
- タイプ注釈により TypeScript コードが長くなる
- インポートステートメントには多くのスペシファイアが含まれることが多い
- 現代の画面は広い
- 行の折り返しが少ないと、より少ない LLM トークン数になる
Prettier のデフォルトと一致させるには:
{
"printWidth": 80
}次のステップ
- ファイルの無視: ファイルやパターンの無視、
.gitignoreおよび.prettierignore作業フロー。 - インライン無視コメント: 特定のコードに対する一時的な抑制。
- 設定ファイルリファレンス: 完全なスキーマおよびフィールドのドキュメント。
- CLI リファレンス: フラグの完全なリスト。
