.NET TIPS

Visual StudioでC#の始め中カッコ({)が改行されないようにするには?

デジタルアドバンテージ 一色 政彦
2007/03/08

 C#言語では、名前空間やクラス、メソッドなどのコードの中身(=実体)を「{」(以降、始め中カッコ)で書き始める。その始め中カッコは、Visual Studio(IDE)のデフォルトのコーディング・ルールでは、次のコード例のように改行される。

namespace ConsoleApplication1
{                                    // ←改行された中カッコ
  class Class1
  {                                  // ←改行された中カッコ
    static void Main()
    {                                // ←改行された中カッコ
    }
  }
}
改行された始め中カッコ

 しかし開発チームによっては(特にC++開発の経験が長い場合など)、このように改行させたくないことがあるだろう。例えば、「(次のコード例のように)始め中カッコを改行させない」というコーディング・ルールをチームや会社で取り決めているケースなどだ。

namespace ConsoleApplication1 {   // ←改行されていない中カッコ
  class Class1 {                  // ←改行されていない中カッコ
    static void Main() {          // ←改行されていない中カッコ
    }
  }
}
改行されていない始め中カッコ

 そのような場合は、Visual Studioで書式のオプション設定を行えば、改行のデフォルト動作を変更できる。

Visual Studioの書式設定(始め中カッコ)

 この改行設定は、Visual Studio .NET 2002や2003では、次の画面の手順で行える。

Visual Studio .NET 2002/2003における始め中カッコの設定(画面は2002)
メニュー・バーから[ツール]−[オプション]を選択して[オプション]ダイアログを開く。
  [テキスト エディタ]−[C#]−[書式設定]を選択する。
  [始め中かっこをコンストラクタと同じ行に残す]にチェックを入れる。
  [OK]ボタンをクリックして、設定を保存する。

 Visual Studio 2005の場合の手順もこれとほぼ同じなのだが、さらに細かいオプション設定が可能になっている。

Visual Studio 2005における始め中カッコの設定
メニュー・バーから[ツール]−[オプション]を選択して[オプション]ダイアログを開く。
  [テキスト エディタ]−[C#]−[書式設定]−[改行]を選択する。
  [中かっこの改行オプション]の配下にある各チェックボックスのチェックを外す。
 ・[新しい行に型の始めかっこを配置する]……クラスや構造体などの型や名前空間における始め中カッコ
 ・[新しい行にメソッドの始めかっこを配置する]……メソッド
 ・[新しい行に匿名メソッドの始めかっこを配置する]……匿名メソッド
 ・[新しい行にコントロール ブロックの始めかっこを配置する]……if文やfor文など
  コードに対して設定がどのような効果を生むのかをプレビューできる。
  [OK]ボタンをクリックして、設定を保存する。

 このように特にVisual Studio 2005では、例えば「クラスや名前空間は始め中カッコを改行したいが、メソッドでは改行したくない」など、現場のより細かなニーズに応えられるようになっている。End of Article

カテゴリ:Visual Studio .NET 処理対象:IDE
カテゴリ:Visual Studio 2005 処理対象:IDE

この記事と関連性の高い別の.NET TIPS
複数の行を含む文字列から1行ずつ読み出すには?
文字列のリソースに改行コードを埋め込むには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH