如何在Visual Studio 2017中禁用类型后 * 的自动空格?

14

当我想要输入像这样的东西时

Type* name;

在打出这行代码时(一旦我输入了分号),VS2017会自动添加空格。

Type * name;

我第一次去掉空格后,IDE 有一段时间没有再尝试这样做。当我输入一个指向类型的指针变量时,该行为由某种原因重新开始,但是立即键入另一行就不会重复自动添加空格...

经过更多测试,自动添加空格似乎只会在类中发生,如果访问限定符后的第一行代码匹配 Type* name;,它就成为了受害者。

class Foo {
private:
    Type* name; //Becomes Type * name; after typing the ';'
public:
    Type2* name2; //Here as well
};

我不喜欢这个。我该如何结束这个亵渎行为?


这是代码格式化选项之一。 - Justin
更不用说这是危险的了!int* i, j 实际上是一个指针和一个整数,而 int *i, *j 则是两个指针。 - PeterT
3个回答

6

请进入工具->选项,然后找到文本编辑器-C/C++->格式化->间距选项,并查看相关选项。不过我认为该特定项目无法进行配置。


2
作为最后的手段,有一个选项“在我键入分号时自动格式化语句”,可以关闭。 - Bo Persson
它是可配置的...至少我得到的答案有效。 - rebusB

5

关于 Visual Studio 2019:
工具 > 选项 > 文本编辑器 > C/C++ > 格式设置 > 空格

在这里更改"指针/引用对齐"的设置
选择您喜欢的选项。

enter image description here


0
工具>选项...>文本编辑器>C++>格式化>间距>运算符间距>二元运算符中,将打勾的单选按钮从在二元运算符前后插入空格更改为不更改二元运算符周围的空格

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