我经常发现自己在我想像其余代码一样缩进预处理器指令的情况下(例如,#if
像 一样缩进if
)。这似乎是合法的,这是常识,有时它是一件好事,但视觉并不容易。
有没有办法防止 Visual C++ 2010 编辑器在我每次无辜按下时将代码粘贴到左侧#
?并且不使用自动缩进(CTRL + K,CTRL + F)破坏预处理器指令的缩进?或者更好的是,像处理其他一切一样处理预处理器指令?
我经常发现自己在我想像其余代码一样缩进预处理器指令的情况下(例如,#if
像 一样缩进if
)。这似乎是合法的,这是常识,有时它是一件好事,但视觉并不容易。
有没有办法防止 Visual C++ 2010 编辑器在我每次无辜按下时将代码粘贴到左侧#
?并且不使用自动缩进(CTRL + K,CTRL + F)破坏预处理器指令的缩进?或者更好的是,像处理其他一切一样处理预处理器指令?
我的方法是保留#
第一列并缩进后面的单词,如下所示:
#ifdef FIRST
# include "first.h"
#else
# include "second.h"
#endif
在某些时候,visualstudio(在 vs2015 中检查)获得了选项 > 文本编辑器 > c/c++ > 格式 > 缩进 > 预处理器指令的位置。选择“保留缩进”。该示例看起来与您想要的不完全一样,但它确实有效,请尝试一下。
在 Visual Studio 2010 选项中(工具->选项)
转到文本编辑器 -> C/C++ -> 选项卡
在缩进下选择块而不是智能。
这将防止 # 键强制您进入行首,但是如果您使用 Ctrl+K Ctrl+F 它仍然会应用智能格式并删除标签。
编辑:这也将禁用其他地方的自动缩进/取消缩进。谨防。
解决方法:当您第一次键入#
并且 Visual Studio 删除您的缩进时,按ctrl+z撤消自动格式化。