为什么 Resharper 在方法打开大括号后断线以及如何防止它?

Why is Resharper breaking line after method opening brace and how to prevent it?

我一直在使用 Resharper 2016 和 Visual Studio 2015,我的代码格式如下:

list.Add(new SomeClass
{
    Value = 1,
    Name = "some name"
});

生活很美好...

但是在更新到 Visual Studio 2017 和 Resharper 2018 之后,突然按下 ctrl + E + C 并执行内置 R# 选项 "Reformat code",我得到了这个:

list.Add(
    new SomeClass
    {
        Value = 1,
        Name = "some name"
    });

这很糟糕,因为我通常只希望在 { 之后缩进。 唯一的例外是像 1-liner if 这样的单行语句,我有时会跳过大括号但仍然有缩进。

我尝试将所有可能的 R# 选项切换为 "simple wrap",但没有帮助。我尝试设置不同的值,这对我来说很有意义,但仍然没有成功。

仅在切换后 "revert to old formatting engine" 它有所帮助,但它也破坏了其他东西,所以这对我来说不是一个可行的解决方案。

如果您 select 编码并使用 Alt+Enter "Format selection -> Configure" 调用,您将看到影响此 selection 格式的设置列表。 如果仍有问题,您可以在菜单 "ReSharper->Manage Options" 中重置设置 p.s。尝试取消选中 "Line breacks and wrapping -> Arrangement of initializers -> prefer wrap after ( in invocation"