Visual C++ 2010中的预处理程序指令缩进

Lau*_*dou 19 c++ indentation visual-c++-2010 c-preprocessor preprocessor-directive

我经常发现自己处于需要缩进预处理程序指令的情况,例如其他代码(例如#if缩进if).它似乎是合法的,这是常识,它有时是一件好事,但Visual不会让它变得容易.

有没有办法阻止Visual C++ 2010编辑器每次我无辜地按下时将代码粘贴到左边#?并且不要使用自动缩进(CTRL + K,CTRL + F)来破坏预处理程序指令缩进?或者更好的是,像其他一样处理预处理器指令?

Nic*_*tti 13

我的方法是保留#第一列并缩进后续单词,如:

#ifdef FIRST
#  include "first.h"
#else
#  include "second.h"
#endif
Run Code Online (Sandbox Code Playgroud)

  • 除非您无法选择多行并按(Shift +)标记它们. (2认同)

The*_*eve 10

在Visual Studio 2010选项中(工具 - >选项)

转到文本编辑器 - > C/C++ - >选项卡

在缩进下选择Block而不是smart.

这将阻止#键强制您到行的开头,但是如果您使用Ctrl + K Ctrl + F,它仍将应用智能格式并删除选项卡.

编辑:这也将禁用其他地方的自动缩进/取消.谨防.


zer*_*mus 9

在某些时候,visualstudio(在vs2015中检查)获得了选项>文本编辑器> c/c ++>格式化>缩进>预处理器指令的位置.选择"保留缩进".样本看起来并不像你想要的那样,但是它可以正常运行.

  • 看起来在VS2015中添加了此设置. (2认同)