如何在Visual Studio 2008中输入“:”时禁用自动缩进?

3
当我编写C++类的构造函数时,输入:来开始初始化列表时,如果该构造函数紧跟在namespace指令后面,Visual Studio会自动缩进该行。同样地,当我输入::(作用域解析)时,Visual Studio也会自动缩进该行,这让我感到非常烦恼,因为最初的缩进是正确的,我总是需要撤消Visual Studio的自动缩进。
例如:
这是我所键入的:
namespace XY {

MyClass::MyClass()

现在我输入 <space>:,VS 自动缩进:
namespace XY {

     MyClass::MyClass() :

这并不是我想要的,呃。

严格来说,这种行为符合MSVC“智能缩进”选项的规则。但在这种情况下,这不是我想要的。

有没有办法在这种情况下关闭智能缩进?我想这是一种相当常见的风格,即缩进命名空间块。


你知道如何禁用这个“功能”吗?使用vi! - Anthony
1
@Shynthriir:哦,你真是太石器时代了。 :) - John Dibling
1
https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3894937-option-to-stop-indenting-namespaces-in-c-code - KindDragon
2个回答

2

以下是针对VS9的操作步骤:打开 工具>选项>文本编辑器>C/C++>制表符。在缩进下面,“智能”可能会被选中。选择“无”即可。


0
这种行为的原因是前面的namespace指令:
namespace XY {

MyClass::MyClass() 

所以MSVC想缩进构造函数的定义。

我的错。


我几乎不会说这是你的错。你已经找到了原因,但主要问题仍未解决。你如何禁用缩进? - Rob Kennedy
@John Dibling:感谢您的提示,我重新陈述了我的问题。 - WolfgangP

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