.NET TIPS

ソース・コードのインデントを手軽に整えるには?

デジタルアドバンテージ
2004/08/06

 ソース・コードのインデント・サイズ(=ソース・コード左端の余白となるスペース数)やタブ・サイズ(=タブ文字のスペース数)は、プロジェクト内で標準化されていることが多い。これは、プロジェクト全体でインデントを同じサイズに統一することで、そのプロジェクトで作成されるすべてのソース・ファイルを同じコード・フォーマットで読めるようにするためだ。このようにすることで、ソース・コードの可読性が高まり、作業効率もよくなると考えられる。

 Visual Studio .NET(以降、VS.NET)では、ソース・コードのインデント・サイズやタブ・サイズは、次の画面のようにIDEの[オプション]ダイアログ・ボックス(以降、[オプション]ダイアログ)で設定できる。

[オプション]ダイアログでのインデント・サイズの指定
インデント・サイズやタブ・サイズは、[オプション]ダイアログで設定できる。[オプション]ダイアログを表示するには、IDEのメニュー・バーから[ツール]−[オプション]を選択すればよい。
  C#の場合、[テキスト エディタ]−[C#]−[タブ]を選択する。Visual Basic .NETの場合は、[テキスト エディタ]−[Basic]−[タブ]を選択する。
  [Enter]キーを押して新しい行に移動したときに、自動的にインデントを行うかどうかを設定する。3項目のそれぞれの意味は、[なし]=「自動インデントをしない」、[ブロック]=「前と行と同じスペース数のインデントを行う」、[スマート]=「言語仕様のスコープなどにそって適切なインデントを行う」となっている。
  タブ・サイズ。[TAB]キーで入力できるタブ文字のスペース数を指定する。
  インデント・サイズ。ソース・コードが見やすいように、ソース・コードの左側に空ける余白(=インデント)のサイズを指定する。
  インデントが行われる際、もしくは[TAB]キーが入力された際、インデントをすべてスペースにするか([空白の挿入]の場合)、(可能な限り)タブ文字にするか([タブの保持]の場合)を指定する。

 なお、[TAB]キーの1入力がソース・コードの1インデントに対応するように、インデント・サイズとタブ・サイズを同じ値にすることをお勧めする(コードの見やすさの観点から、お勧めのインデント・サイズ/タブ・サイズは「4」あるいは「2」である)。

ソース・コードのインデントを揃えるには?

 しかし、インデント・サイズやタブ・サイズが違う環境で作成されたファイルを、VS.NETのプロジェクトにインポートして編集すると、インデントがずれる場合がある。例えば、「TIPS:時間がかかる処理の進行状況をダイアログで表示するには?」で提供されている「WaitDlg.cs(C#版)」はスペース「2」個でインデントが行われているが、今使用しているVS.NETのテキスト・エディタの環境はインデント・サイズが「4」のため、次の画面のように、改行した場所のインデントがずれてしまう。

インデントがずれてしまっているソース・コード
インデント・サイズやタブ・サイズが違う環境で作成されたファイルを、VS.NETのプロジェクトにインポートして編集すると、インデントがずれる場合がある。
  インデント・サイズやタブ・サイズが違う環境で作成されたファイル(この例では「waitdlg.cs」)をインポートしている。
  改行を行うと、ほかの行とインデントがずれてしまう。

 このような「インデントのずれ」に対処するには、ソース・コード全体のインデントを修正する必要がある。といっても、すべての行で[TAB]キーを押してインデントを調整する必要はない。この場合、VS.NETのテキスト・エディタの機能である「貼り付けられたソース・コードの自動フォーマット」機能を使えばよい。

 具体的には、ファイル全体のソース・コードを選択し([Ctrl]+[A]キー)、切り取って([Ctrl]+[X]キー)、そして貼り付けを行えば([Ctrl]+[V]キー)、ソース・コード全体が自動フォーマットされる。

 これにより、先ほどのソース・コードは、次の画面のように適切なインデントに調整される。

自動フォーマット機能により適切にインデントされたソース・コード
ファイル全体のソース・コードを選択し([Ctrl]+[A]キー)、切り取って([Ctrl]+[X]キー)、そして貼り付けを行えば([Ctrl]+[V]キー)、VS.NETのテキスト・エディタの「貼り付けられたソース・コードの自動フォーマット」機能により、ソース・コード全体が自動フォーマットされる。
  適切にインデントされ、ほかの行とインデントが揃っている。

 ただし、この「貼り付けられたソース・コードの自動フォーマット」機能を利用するには、次の画面に示すように[オプション]ダイアログで、C#の場合は[完成したコンストラクタと貼り付けられたソースを自動フォーマットする]を、Visual Basic .NET(以降、VB.NET)の場合は[コードの再フォーマット]を、それぞれ必ず有効にしておかなければならない(デフォルトで有効になっている)。

[オプション]ダイアログでの自動フォーマット機能の有効化
「貼り付けられたソース・コードの自動フォーマット」機能を利用するには、C#の場合は[完成したコンストラクタと貼り付けられたソースを自動フォーマットする]を、VB.NETの場合は[コードの再フォーマット]を、必ず有効にしておかなければならない。
  C#の場合は、[テキスト エディタ]−[C#]−[書式設定]を選択する。VB.NETの場合は、[テキスト エディタ]−[Basic]−[VB 固有]を選択する。
  C#の場合、[完成したコンストラクタと貼り付けられたソースを自動フォーマットする]チェック・ボックスにチェックを入れる(デフォルトでチェックが入っている)。VB.NETの場合は、[コードの再フォーマット]チェック・ボックスにチェックを入れる(デフォルトでチェックが入っている)。

 なお、VB.NETの場合には、メニュー・バーの[編集]−[詳細]−[ドキュメントのフォーマット]を選択しても、同様にソース・コードを自動フォーマットすることができる。End of Article

カテゴリ:Visual Studio .NET 処理対象:IDE
関連TIPS:時間がかかる処理の進行状況をダイアログで表示するには?
 
この記事と関連性の高い別の.NET TIPS
ソース・コードを一瞬で整形するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間