メインコンテンツにスキップ

dart format

dart format コマンドを使用して、Dartフォーマットガイドラインに従うようにコードを更新します。このフォーマットは、IDEやDart対応エディターを使用した場合と同じ結果になります。

フォーマットするファイルを指定する

#

1つ以上のDartファイルを再フォーマットするには、目的のファイルまたはディレクトリへのパスのリストを指定します。

パスを1つ指定する

#

1つのファイルまたはディレクトリへのパスを指定します。ディレクトリパスを渡すと、dart formatはサブディレクトリにも再帰的に処理します。

例: 現在のディレクトリ内またはその下のすべてのDartファイルをフォーマットする

dart format .

複数のパスを指定する

#

複数のファイルまたはディレクトリを指定するには、スペース区切りのリストを使用します。

例: lib ディレクトリ下のすべてのDartファイルと、bin ディレクトリ下の1つのDartファイルをフォーマットする

dart format lib bin/updater.dart

Dartファイルを上書きしない

#

デフォルトでは、dart format はDartファイルを上書きします。

  • ファイルを上書きしない場合は、--output または -o フラグを追加します。
  • フォーマットされたファイルのコンテンツを取得するには、-o show または -o json を追加します。
  • 変更されるファイルのみを確認するには、-o none を追加します。
dart format -o show bin/my_app.dart

変更があった場合に通知する

#

フォーマットの変更が発生した場合に dart format が終了コードを返すようにするには、--set-exit-if-changed フラグを追加します。

  • 変更が発生した場合、dart format コマンドは終了コード 1 を返します。
  • 変更が発生しなかった場合、dart format コマンドは終了コード 0 を返します。

終了コードを継続的インテグレーション(CI)システムで使用すると、終了コードに応じて別の操作をトリガーできます。

dart format -o none --set-exit-if-changed bin/my_app.dart

どのような変更か?

#

dart format は以下のフォーマット変更を行います

  • 空白を削除します。
  • すべての行を80文字以下に折り返します。
  • 複数行にまたがる引数またはパラメーターリストに末尾カンマを追加し、そうでないものから削除します。
  • コメントをコンマの前または後に移動する場合があります。

Dartコードの作成とスタイリングに関するベストプラクティスについては、Dartスタイルガイドをご覧ください。

フォーマッターのページ幅を設定する

#

dart format を実行すると、フォーマッターはデフォルトで80文字以下の行長になります。プロジェクトの行長を設定したい場合は、analysis_options.yaml ファイルのトップレベルに formatter セクションを追加できます。以下はその例です。

analysis_options.yaml
yaml
formatter:
  page_width: 123

通常、分析オプションファイルはルートに配置されるため、設定された行長はパッケージ内のすべてに適用されます。

分析オプションファイルをオーバーライドして、個々のファイルの行長を設定することもできます。これは、ファイルの一番上にあるマーカーコメントで、他のコードよりも前に行います。

dart
// dart format width=123

詳細はこちら

#

追加のコマンドラインオプションについては、dart help コマンドを使用するか、dart_style package のドキュメントを参照してください。

dart help format

フォーマットの決定に関する背景情報については、フォーマッターFAQをご覧ください。