9

C# に次のコードがあるとします。

void Func () {
    int i=3;

    #if DEBUG
    ...
    #endif

    for (int j=0;j<i;j++) {
        ...
    }
}

を使用すると、次Edit->Advanced->Format documentのように再フォーマットされます (現在のコードのフォーマット設定を使用):

void Func ()
{
    int i = 3;

#if DEBUG
    ...
#endif

    for ( int j = 0; j < i; j++ )
    {
        ...
    }
}

行が左端に移動するの#ifを防ぐ方法はありますか? #endifこれらの設定が見つかりませんでしたが、これがどのように機能するかを制御するレジストリ設定があることを願っています.

どんなアドバイスでも大歓迎です - 私のコードには数百のそのようなブロックがあり、VSによって壊れ続けているので、この振る舞いは私を夢中にさせます.

4

1 に答える 1

2

私が使用してきたスタイルの 1 つは、このように # タグにスペースを追加することです

void Func ()
{
    int i = 3;

#   if DEBUG
    ...
#   endif

    for ( int j = 0; j < i; j++ )
    {
        ...
    }
}

.. if ブロックはコードと正しく並んでいるように見え、コードを再フォーマットしてもプリプロセッサタグは移動しません。

于 2012-07-13T17:01:14.470 に答える