如何在 Visual Studio 中自动缩进 #pragma 指令

use*_*097 3 c++ visual-studio visual-studio-2013

有谁知道如何确保#pragmaVisual Studio 2013(C++ 项目)中的指令正确缩进?

我对 Visual Studio 总是消除我对这些指令所做的缩进感到恼火。这使得折叠我的源代码的各个部分变得困难。下面的例子是没有缩进的例子。如果缩进的话,会更容易阅读。

void func()
{
#pragma region section 1
#pragma endregion
}
Run Code Online (Sandbox Code Playgroud)

Vis*_*orZ 6

我不同意#pragma不应缩进任何表达式来表明它们是无范围的。因为在这个特殊问题中#pragma region MyName什么都没有,这将改变代码路径或其任何含义。区域编译指示只是 IDE 的元信息。我很想说,微软错误地使用了#pragma关键字来启用区域可以折叠的 IDE 功能。

在我的日常代码库中,预处理器指令很少,但region指令却很多。因此,我不会冒险通过缩进编译指示来误解文本。如果您想缩进#pragma表达式,可以在以下位置启用它:

Tools > Options > Text Editor > C/C++ > Formatting > Indentation > Position of preprocessor directives > Leave indented

至少自安装了Productivity Power Tools的 Visual Studio 2017 以来,此功能有效。