C# 大括号自动格式化空白问题

C# 大括号自动格式化空白问题,c#,visual-studio-2019,C#,Visual Studio 2019,我注意到VisualStudio和花括号的自动格式化有一个奇怪的行为 如果我输入像这样的东西 if(x == 10) 然后打开一个新的花括号,它将如下所示:if(x==10){} 光标将位于两个大括号之间。我可以按enter键,它会自动将代码转换为 if(x == 0) { // .. } 所以这也很好。我的问题是if和()之间缺少空格。它缺少空格,应该是这样的 if (x == 0) 奇怪的是,在删除最后一个大括号并再次添加它之后,会添加空格,但一开始不会这样。 我是不是错过了一

我注意到VisualStudio和花括号的自动格式化有一个奇怪的行为

如果我输入像这样的东西

if(x == 10)
然后打开一个新的花括号,它将如下所示:
if(x==10){}
光标将位于两个大括号之间。我可以按enter键,它会自动将代码转换为

if(x == 0) {
    // ..
}
所以这也很好。我的问题是
if
)之间缺少空格。它缺少空格,应该是这样的

if (x == 0)
奇怪的是,在删除最后一个大括号并再次添加它之后,会添加空格,但一开始不会这样。 我是不是错过了一个场景


编辑:我注意到,如果调用函数,例如

if(x.Equals(..)){ }
结果将是int

if (x.Equals(..)) {

}
这是正确的


不过,运算符似乎不起作用。

我正在使用Visual Studio 2017。在“工具>选项>文本编辑器>C#>代码样式>格式”下面,有一个名为“在控制流语句中的关键字后插入空格”的选项

如果复选框为

…未经检查

 for(int i; i < x; i++)
for(int i;i
…检查

for (int i; i < x; i++)
for(int i;i
我注意到VS2019 autoformat似乎有很多这样的小怪癖。你尝试过重置设置吗?
工具-->选项-->导入和导出设置-->重置设置
我已经选中了该选项。奇怪的是,如果我在if语句中放入函数调用,就不会发生这种情况。请按Ctrl+K+D一次,然后告诉我们如果手动触发,则自动格式化工作。如果手动触发,则自动格式化工作。无论是通过Ctrl+K+D还是删除并再次添加最后一个大括号。在工具>选项>文本编辑器>C#>代码样式>格式化>常规下,您可以选择何时执行自动格式化。对于我来说,所有复选框都已选中。我不知道有哪些选项可供选择n VS2019,但也许有办法解决你的问题。否则,我恐怕再也帮不上忙了。