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

我一直在使用的一种风格是像这样在 # 标签中添加空间

void Func ()
{
    int i = 3;

#   if DEBUG
    ...
#   endif

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

..if 块看起来与代码正确对齐,并且重新格式化代码不会移动预处理器标签。

于 2012-07-13T17:01:14.470 回答