【问题标题】:Can visual studio automatically indent / format preprocessing directives? [duplicate]Visual Studio 可以自动缩进/格式化预处理指令吗? [复制]
【发布时间】:2023-03-09 05:54:01
【问题描述】:

可能重复:
How to force indentation of C# conditional directives?

假设我想在 Visual Studio 中输入:

    class Program
    {
        private const Byte NUM_THREADS =
        #if DEBUG
            1;
        #else
            8;
        #endif
    }

如果我只是简单地输入它(即不手动修复任何缩进),Visual Studio 会像这样格式化它:

    class Program
    {
        private const Byte NUM_THREADS =
#if DEBUG
 1;
#else
        8;
#endif
    }

我能做些什么让它自动缩进,让它看起来像第一个例子吗?

【问题讨论】:

  • “只需输入”是什么意思?您是否打开了某种自动格式化模式?
  • @GregHewgill 我的意思是自己输入并只添加新行,而不是按 Tab 来添加任何手动缩进。
  • Visual Studio 工具 | Option => Text Editor => C# => Formatting 有很多选项,但看起来预处理器定义总是挂在左边(#region 除外)。

标签: c# visual-studio visual-studio-2010 c-preprocessor


【解决方案1】:

不幸的是,没有办法让预处理器命令跟随代码缩进。但愿它做到了。 :(

根据:Indenting #defines

,看起来原因是以前的编译器对出现在命令之前的空格感到厌烦

【讨论】:

    【解决方案2】:

    转到 Edit menu => Format Document 或按快捷键Ctrl+K,Ctrl+ D(简称Ctrl+K+D) 这个快捷方式可以使用.html、.aspx。 .cs 等...

    【讨论】:

    • 你用预处理器指令试过了吗?
    • 自动格式化对预处理器命令起作用。它适用于其他一切。
    • 除了它确实出于某些烦人的原因在#region上工作,至少在VS 2017中。
    猜你喜欢
    • 1970-01-01
    • 2022-08-10
    • 2014-08-20
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多