如何在代码中缩进#if指令?

时间:2012-10-26 18:18:27

标签: c# visual-studio

  

可能重复:
  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中的其余代码一起自动缩进?

谢谢!

3 个答案:

答案 0 :(得分:3)

我不确定您是否可以在本机上使用Visual Studio。你可能不得不使用像这样的插件 了StyleCop。见http://stylecop.codeplex.com/

我理解你为什么要完成缩进 - 因为条件指令目前看起来很混乱。但是,对于当前缩进,其优点是可以通过阅读代码的人轻松查看。由于条件指令可以在很大程度上改变代码流,因此现在可能没问题。否则,您有插件选项:)

答案 1 :(得分:2)

我什么都不知道,但#pragma不应该缩进,因为它们不受代码的影响。当然可以缩进Debug.Print。

答案 2 :(得分:2)

我试着在这里搜索一下:

  

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

但遗憾的是,似乎visualstudio没有内置任何内容,允许您以这种方式缩进预处理程序指令。然而谷歌搜索我发现this answer并建议使用StyleCop。希望这会对你有所帮助。