如何强制缩进C#条件指令?

时间:2009-08-24 08:58:37

标签: c# visual-studio

是否有一个选项可以禁用#if,#endif和其他指令在编辑后不加入 - >>高级 - >在Visual Studio中格式化文档?

谢谢!

3 个答案:

答案 0 :(得分:7)

请看StyleCop

  

StyleCop分析C#源代码以强制执行一组样式和一致性规则。它可以从Visual Studio内部运行或集成到MSBuild项目中。 StyleCop也已集成到许多第三方开发工具中。

您甚至可以添加自定义规则:Creating Custom Rules for Microsoft Source Analyzer

希望它有所帮助。

答案 1 :(得分:2)

我担心Visual Studio中没有直接设置。无论如何,如果你找到它,请告诉我:) 您也可以尝试使用外部工具格式化代码(例如AStyle)。您可以在VS中创建一个关闭当前文件的宏,在文件上运行外部工具并重新打开它(并且可能将光标重新定位在前一个位置),这样您就可以从Visual格式化代码工作室。

我不确定这项任务是否值得付出努力,无论如何......

否则,您可以编写自己的宏来缩进当前文件中的预处理程序指令>它已经被VS格式化,甚至没有使用外部工具(在配置时可能会非常痛苦)为了获得与VS中完全相同的格式。)

答案 2 :(得分:2)

您可以将它隐藏在某个静态助手类中。

internal class Helper
{
    internal static bool IsDebugBuild
    {
        get
        {
#if DEBUG
            return true;
#endif
            return false;
        }
    }
}

然后你可以按如下方式使用它:

if (Helper.IsDebugBuild)
{
    ...
}