5

我正在开发一个在源代码中使用水平对齐的开源项目。代码是用 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自动插入空格(根据我的配置)我很好。我不想完全停用自动格式化。我只是不希望它删除我刚刚手动输入的间距。

4

1 回答 1

4

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

Tabs您可以将“插入空格”更改为“保留标签”。如果您根本不希望 VS 破坏您的缩进,您也可以在此处关闭缩进。

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

希望有帮助!

于 2014-03-17T10:40:27.840 回答