阻止Visual Studio编辑器重新格式化#if ... #endif

xxb*_*bcc 8 c# visual-studio-2008 visual-studio

假设我在C#中有以下代码:

void Func () {
    int i=3;

    #if DEBUG
    ...
    #endif

    for (int j=0;j<i;j++) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用Edit->Advanced->Format document,它将重新格式化为此(使用我当前的代码格式设置):

void Func ()
{
    int i = 3;

#if DEBUG
    ...
#endif

    for ( int j = 0; j < i; j++ )
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法防止#if#endif线移动到最左边?我找不到这些设置,但我希望有一个控制如何工作的注册表设置.

任何建议都会非常感激 - 这种行为让我发疯,因为我的代码有几百个这样的块,它们一直被VS打破.

cor*_*ius 2

我一直在使用的一种风格是向 # 标签添加空格,如下所示

void Func ()
{
    int i = 3;

#   if DEBUG
    ...
#   endif

    for ( int j = 0; j < i; j++ )
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

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