22

我经常发现自己在我想像其余代码一样缩进预处理器指令的情况下(例如,#if像 一样缩进if)。这似乎是合法的,这是常识,有时它是一件好事,但视觉并不容易。

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

4

4 回答 4

14

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

#ifdef FIRST
#  include "first.h"
#else
#  include "second.h"
#endif
于 2012-09-04T16:29:52.667 回答
13

在某些时候,visualstudio(在 vs2015 中检查)获得了选项 > 文本编辑器 > c/c++ > 格式 > 缩进 > 预处理器指令的位置。选择“保留缩进”。该示例看起来与您想要的不完全一样,但它确实有效,请尝试一下。

于 2016-05-03T16:43:43.017 回答
10

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

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

在缩进下选择块而不是智能。

这将防止 # 键强制您进入行首,但是如果您使用 Ctrl+K Ctrl+F 它仍然会应用智能格式并删除标签。

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

于 2012-09-12T09:45:19.197 回答
3

解决方法:当您第一次键入#并且 Visual Studio 删除您的缩进时,按ctrl+z撤消自动格式化。

于 2015-11-28T18:30:59.163 回答