是否有一个选项可以禁用#if,#endif和其他指令在编辑后不加入 - >>高级 - >在Visual Studio中格式化文档?
谢谢!
答案 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)
{
...
}