DotNet Formatを使用してプログラムでコードをフォーマットする
[[academy-video-youtube({"vid": "lGvP9SZ98vM", "start_time": "0", "title": "Format Code Programmatically with .NET Format", "creator": "Gerald Versluis", "length": "9m 34s"})]]
この記事では、.NET フォーマットツールを使用して、C# .NET コードをプログラム的にフォーマットするプロセスをステップバイステップで進んでいきます。 このガイドは、Gerald Versluis の ".NET Format を使用して C# .NET コードを自動フォーマット" に関するビデオチュートリアルに基づいています。彼がツールを効果的に使用し、コードが一貫したフォーマット標準に従うようにデモを行っています。 ジェラルドがビデオで行ったことのタイムスタンプと詳細な説明を提供し、あなたがフォローしてこれらのテクニックをあなたのプロジェクトに適用できるようにします。
.NET Format の紹介
Gerald は (0:36) で .NET format を、.editorconfig ファイルで定義された規則に基づいて C# コードをフォーマットするためのツールとして紹介します。このファイルは、プロジェクト全体で一貫したコーディングスタイルを強制するために重要です。 また、すべてのコードが同じ書式ガイドラインに準拠していることを保証します:
- インデントのスタイル:タブとスペースのどちらを使うか。
- スペーシング・ルール:演算子や中括弧などの周りのスペースの量。
- コード構造:1行構成と複数行構成がどのようにフォーマットされているか。
これらの規則を適用することで、.NET format は一様なコードベースの維持に役立ち、読みやすく管理しやすくなります。
.editorconfigファイルを理解する
.editorconfigファイルは、(0:48)でジェラルドによって説明されるように、様々なコーディングスタイルのプリファレンスを指定します。 このファイルは柔軟性が高く、次のような幅広い書式ルールを定義できます:
- インデント設定:インデントにタブとスペースのどちらを使用するか、また、何個のスペースを使用するかを決定します。
- スペーシング・ガイドライン:演算子、中括弧、キーワードなどのコード要素の間隔を制御します。
- その他のフォーマットルール:コードの一貫性を確保するための追加のスタイルルールを定義します。
.editorconfigファイルは、異なるエディタやIDE間でコードフォーマットを設定するための中心的なポイントとして機能します。
.NET Format ツールの概要
Gerald は .NET format が .NET ランタイム用のグローバルツールであると (1:13) で説明しています。 グローバルツールであるため、一度インストールすれば、システム上のさまざまな.NETプロジェクトで使用できます。 これにより、プロジェクトごとにインストールや設定を分けることなく、一貫したコードフォーマットを実現できます。
GitHub で .NET format リポジトリにアクセスできます (1:26)。 このリポジトリは、ソースコード、ドキュメント、ツールに関する追加情報を提供し、ユーザーがその機能を理解し、最新バージョンに更新されるのを助けます。
.NET Format の基本使用法
(2:09) で Gerald は .NET format の基本コマンドをデモンストレーションしています:
dotnet format <options> <workspace>dotnet format <options> <workspace>ワークスペースとは何ですか?
.NET format のコンテキストでは、"ワークスペース" という用語は、フォーマットされるコードの範囲を指します。 これには以下が含まれます:
- ソリューションファイル:複数のプロジェクトを包含する.slnファイル。
- プロジェクトファイル:特定のコードファイルを含む個々の.csprojファイル。
- フォルダ:.csや潜在的に.vbファイルを含む複数のコードファイルを含むディレクトリ。
さまざまなタイプのワークスペースを柔軟に指定できるため、プロジェクトのさまざまなレベルでフォーマットを適用できます。
機能とオプション
Gerald は .NET format のいくつかの主要な機能とオプションを (2:27) で強調しています:
- 自動修正: このツールは、.editorconfigファイルで定義されたルールに基づいて、フォーマットの問題を自動的に修正することができます。これは、手動で操作することなく、プロジェクト全体で一貫したコードスタイルを維持するのに便利です。
- チェックのみ: 変更を加えずに書式の問題を確認したい場合は、このツールを使って問題のチェックのみを行うことができます。 この機能は、継続的インテグレーション(CI)パイプラインで特に役立ちます。
高度なオプションとカスタマイズ
ジェラルドは、高度なオプションとカスタマイズについて説明します。 と言及しています:
- 重大度レベル:修正すべき問題の重大度レベルを指定できます。 これは、特定のタイプの書式問題をターゲットにするのに役立ちます。
- ファイルの包含/除外: どのファイルを包含するか、またはフォーマットから除外するかを制御できます。 これは、コードベースの特定の部分に焦点を当てるために便利です。
- 終了コードでチェックのみ:チェックオプションを使用することで、修正を適用することなく、フォーマットに問題があるかどうかを確認できます。 終了コードは、問題が見つかったかどうかを示します。
- JSONレポート:JSON形式で詳細なレポートを生成し、コードのフォーマット状況についての洞察を提供します。
- 明瞭度: 生成される出力量を制御するために明瞭度レベルを設定します。
- ツールバージョン: プロジェクトとの互換性を確認し、新機能で最新の状態を保つために .NET format のバージョンを確認します。
.NET Format ツールのインストール
Gerald は、C# コードをプログラム的にフォーマットするために不可欠な .NET format ツールのインストールプロセスを説明しています。 彼は、次のコマンドでグローバル・ツールとして設定する方法を示している:
dotnet tool install -g dotnet-formatdotnet tool install -g dotnet-formatこのコマンドにより、.NET format がグローバルに利用可能になり、任意のコマンドプロンプトまたはターミナルから簡単にアクセスできるようになります。 ジェラルドは、.NET Coreランタイムの必要性を強調しており、最近.NETを使用している場合はインストールする必要があります。

インストールが成功したことを確認するために、(4:00)でジェラルドが実行する:
dotnet format /?dotnet format /?このコマンドは、利用可能なオプションとコマンドのリストを表示し、.NET format が正しくインストールされ、使用準備が整っていることを示します。

(4:11)で、Geraldは、-dry-runのようないくつかのオプションが非推奨であることを指摘し、コードの書式設定のために更新されたプラクティスを使うことを助言する。
コード書式修正の適用
書式の問題の確認
Xamarin Community Toolkitのコードベースを実例として、Geraldはまず、変更を加えずに書式の問題をチェックします。 彼は実行します:
dotnet format . -f --checkdotnet format . -f --checkフォーマットが必要なファイルを特定する。 (5:26) で Gerald は --folder を使用してディレクトリを指定したり、.NET format sln を使用してソリューションファイルを指定する方法を説明しています。 このコマンドは、フォーマットに問題があるファイルを一覧表示します。
エラーレベルチェック
実行される各プロセスには、ステータスを示す終了コードがあります。 ジェラルドはエラー・レベルをチェックするために次のコマンドを実行した:
echo %errorlevel%echo %errorlevel%Geraldは、終了コードが2の場合、対処が必要なフォーマットエラーがあることを示しています。

修正の適用と検証
Geraldは次に、-checkフラグを付けずにコマンドを再実行することで、フォーマットの修正を適用する方法を示します:
dotnet format . -fdotnet format . -fこれは、.editorconfigファイルで定義されたルールに基づいて、コードファイルを自動的にフォーマットします。Geraldは、前述と同じコマンドを使用して終了コードを再度チェックし、それが0であることを確認します。
(8:00)では、GitHub Desktop のようなグラフィカルなツールを使って、更新されたファイルを確認しています。 このツールは、空白の修正、using文の整理、その他の書式の調整などの改善を示しています。

ワークフローにフォーマットを統合する
Gerald は .NET format ツールをビルド CI パイプラインに組み込むことを推奨しています。このプラクティスは、コードフォーマットが一貫して適用されることを保証し、高品質なコード標準を維持するのに役立ちます。 フォーマットプロセスを自動化することで、手作業によるフォーマット作業を回避し、すべてのコードが定義されたスタイルルールに準拠していることを確認できます。
結論
Gerald の詳細なウォークスルーに従うことで、.NET format を開発プロセスに簡単に統合し、C# .NET コードのフォーマットを自動化できます。 一人で作業している場合でも、チームの一員として作業している場合でも、このツールを使用することで、コードがクリーンで一貫性があり、読みやすくなります。 Gerald のビデオもチェックして、.NET format ツールに関する実践的なデモとさらなる洞察を得てください。 また、YouTubeチャンネルでC#コードに関するより多くの洞察をご覧ください。


