|
.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の場合には、メニュー・バーの[編集]−[詳細]−[ドキュメントのフォーマット]を選択しても、同様にソース・コードを自動フォーマットすることができる。
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間