Visual C ++不断破坏我的代码格式对齐

时间:2014-03-16 20:17:03

标签: visual-studio visual-c++ visual-studio-2013 code-formatting autoformatting

我正在开发一个在源代码中使用水平对齐的开源项目。代码是用C ++编写的,我使用的是Visual Studio 2013.Visual Studio尝试在间距方面很聪明,但最终会破坏我的手动对齐。

典型的代码如下所示:

bool  →   →   → GetFieldWithType  →   → ( int idx, cc8* name, int type );
bool  →   →   → GetFieldWithType  →   → ( int idx, int key, int type );
static cc8*   → GetLuaTypeName    →   → ( int type );
void* →   →   → GetPtrUserData    →   → ( int idx );

现在,如果我像这样添加另一行,只要我输入左括号(在两个选项卡之后),Visual Studio就会删除我刚刚输入的两个选项卡并用一个空格替换它们。我试着耐心点击Ctrl + Z来撤消自动格式化。但是一旦我输入分号,它就会再次杀死标签。

我在工具>中找到了一个选项选项>文本编辑器> C / C ++>格式化>间距>函数括号的间距,用于切换是否在参数列表的左括号之前插入空格。如果我取消激活此选项,VS仍然坚持在左括号之前删除选项卡,它只是不添加空格。 如何摆脱这种行为?

要明确:我很自然地使用VS 插入空格(根据我配置的内容)。我不想完全停用自动格式化。我只是不希望它删除我手动输入的间距。

1 个答案:

答案 0 :(得分:4)

转到Tools > Options > Text Editor > C/C++

Tabs下,您可以更改"插入空格"到"保持标签"。如果你根本不想要压缩你的缩进,你也可以在这里关闭缩进。

Formatting > Spacing下,您可以取消选中(几乎)所有"删除空间..."选项。

希望有所帮助!