Visual Studio能否自动缩进/格式化预处理指令?

16

可能是重复问题:
如何强制缩进C#条件指令?


假设我想在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
    }

有什么方法可以让它自动缩进,以便看起来像第一个例子吗?


“简单地输入它”是什么意思?你开启了某种自动格式化模式吗? - Greg Hewgill
@GregHewgill 我的意思是只打字并自己添加新行,但不按Tab键手动缩进。 - David S.
2
Visual Studio工具 | 选项 => 文本编辑器 => C# => 格式设置有大量选项,但似乎预处理器定义始终靠左(除了#region)。 - iCollect.it Ltd
2个回答

1

很遗憾,没有办法让预处理器命令跟随代码缩进。但我真希望能这样做。:(

看起来原因是以前的编译器会因为出现在命令之前的空格而出错,参见: 缩进#define


-2

前往编辑菜单 => 格式化文档 或按下快捷键 Ctrl+K,Ctrl+D(简写为 Ctrl+K+D)。 这个快捷键可以用于 .html、.aspx、.cs 等文件...


2
你尝试过使用预处理指令吗? - Brian Rasmussen
3
自动格式化功能不适用于预处理器命令,它只适用于其他所有内容。 - Nyaarium
2
除了在 VS 2017 中某些令人讨厌的原因下,它确实可以在 #region 上工作。 - rory.ap

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接