Visual studio 2015 缩进不';与VS 2015中的现有代码(C#)不匹配 我在C++和C语言中都有代码。在C#中,由于所有内容都在一个类中,并且(至少通常)在一个名称空间中,所以我不缩进这些内容,而是在第1行中启动函数、声明等。在VS2010中,IDE将在其认为合适的情况下缩进类声明中的第一行。我会把它移回去,接下来的一切都会符合我的偏好

Visual studio 2015 缩进不';与VS 2015中的现有代码(C#)不匹配 我在C++和C语言中都有代码。在C#中,由于所有内容都在一个类中,并且(至少通常)在一个名称空间中,所以我不缩进这些内容,而是在第1行中启动函数、声明等。在VS2010中,IDE将在其认为合适的情况下缩进类声明中的第一行。我会把它移回去,接下来的一切都会符合我的偏好,visual-studio-2015,Visual Studio 2015,在VS 2015中,每一行都缩进,就像包含函数按照默认值缩进一样,不管实际缩进如何。例如,如果我有以下行: x = 1; z = 3; 并在中间添加一行,它将自动格式为: x = 1; y = 2; z = 3; (如果我通过删除并替换结束“}”来格式化整个函数,则函数的其余部分将右移,以便所有内容都与添加的行匹配。) 我有一种下沉的感觉,这是一个无法改变的“特征” 从Tools | Options对话框更改 Text Editor | C# | Tabs | Indent

在VS 2015中,每一行都缩进,就像包含函数按照默认值缩进一样,不管实际缩进如何。例如,如果我有以下行:

x = 1;
z = 3;

并在中间添加一行,它将自动格式为:

x = 1;
         y = 2;
z = 3;
(如果我通过删除并替换结束“}”来格式化整个函数,则函数的其余部分将右移,以便所有内容都与添加的行匹配。)


我有一种下沉的感觉,这是一个无法改变的“特征”

Tools | Options
对话框更改

Text Editor | C# | Tabs | Indenting
从“智能”到“块”的选项

当您键入
“;”时,还需要告诉VS不要使用代码行/代码块
'}'
字符。禁用:

Text Editor | C# |Formatting | General | Automatically format statement on ;
Text Editor | C# |Formatting | General | Automatically format statement on }
您可能还想使用中的选项

Text Editor | C# | Formatting | Indentation

谢谢我试过“Smart”和“Block”,它们的效果似乎都一样(就像“None”一样)。我必须关闭所有格式设置才能停止效果。我明白了-我错过了您也需要关闭
文本编辑器| C#|格式化|常规|自动打开语句格式
自动格式化}
上的语句。这就是你关闭所有格式的意思吗?这似乎是您想要的行为-我不确定如何让VS单独使用代码,并让它在“;”时格式化行或块或“}”已键入。这两个愿望是不一致的。我不想让VS离开代码。例如,当我在块的中间插入语句时,我确实希望VS格式化该语句(当我输入‘;’)时,但我希望在格式化之后添加的语句与块中的其他语句具有相同的缩进(如在VS 2010中发生的)。但似乎我唯一的选择是关闭格式设置或获取不正确的格式设置。这是有道理的。我希望其他人能帮忙;当你不得不与你的代码编辑器抗争时,这是令人恼火的。我在[]上发现了关于这个问题的讨论。有迹象表明,至少可能会有部分修复,但显然还没有。