【问题标题】:How to indent #if directives in code? [duplicate]如何在代码中缩进 #if 指令? [复制]
【发布时间】:2012-10-26 18:18:26
【问题描述】:

可能重复:
How to force indentation of C# conditional directives?
Can visual studio automatically indent / format preprocessing directives?

在以下示例代码中有一个#if 指令,但请注意缺少缩进:

                else
                {
#if DEBUG
    Debug.Print(ex.Message);
#endif                    
                    return null;
                }

我知道这对于某些开发实践来说可能是这样的,但老实说,在 VS.NET 中我不在乎,并且希望它与我的代码保持一致。有没有办法让# 指令与 VS.NET 中的其余代码内联自动缩进?

谢谢!

【问题讨论】:

标签: c# visual-studio


【解决方案1】:

我不确定您是否可以在本机使用 Visual Studio 来做到这一点。您可能必须使用类似的插件 风格警察。见http://stylecop.codeplex.com/

我理解你为什么要缩进——因为条件指令目前看起来很混乱。但是,使用当前缩进的优点是它可以很容易地被正在阅读您的代码的人看到。由于条件指令可以在很大程度上改变你的代码流,它现在可能没问题。否则,你有插件选项:)

【讨论】:

    【解决方案2】:

    我试图在这里搜索一些东西:

    选项 -> 文本编辑器 -> C#

    但不幸的是,visualstudio 似乎没有内置任何东西允许您以这种方式缩进预处理器指令。然而谷歌搜索我发现this answer,它建议使用StyleCop。希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      我什么都不知道,但是 # 编译指示无论如何都不应该缩进,因为它们不受代码影响。当然可以缩进 Debug.Print。

      【讨论】:

      • 我认为缩进不会影响 C# 中的任何代码。它只是为了便于阅读。
      • 同意。我的意思是编译指示不受任何先前正常代码行的影响,因此不应像缩进一样缩进。
      猜你喜欢
      • 1970-01-01
      • 2011-03-28
      • 2011-07-04
      • 2010-10-12
      • 2012-04-06
      • 1970-01-01
      • 2022-01-28
      • 1970-01-01
      相关资源
      最近更新 更多