代码之家  ›  专栏  ›  技术社区  ›  MartyIX

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

  •  12
  • MartyIX  · 技术社区  · 15 年前

    是否有一个选项可以禁用编辑后未无索引的#if、#endif和其他指令->高级->在VisualStudio中格式化文档?

    非常感谢。

    3 回复  |  直到 15 年前
        1
  •  7
  •   David    10 年前

    看看 StyleCop .

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

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

        2
  •  3
  •   Paolo Tedesco    15 年前

    恐怕Visual Studio中没有直接设置。不管怎样,如果你找到了,请告诉我:)
    或者,您可以尝试使用外部工具格式化代码(例如。 AStyle )。您可以在VS中创建一个宏,该宏关闭当前文件,在该文件上运行外部工具并重新打开该文件(可能会将光标重新定位到上一个位置),以便能够从Visual Studio格式化代码。

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

        3
  •  2
  •   Craig    8 年前

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

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

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

    if (Helper.IsDebugBuild)
    {
        ...
    }