为什么Resharper在方法打开支架后会断线以及如何防止它?

Lec*_*ski 5 c# resharper

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

list.Add(new SomeClass
{
    Value = 1,
    Name = "some name"
});
Run Code Online (Sandbox Code Playgroud)

生活很美好......

但是在更新到Visual Studio 2017和Resharper 2018后,突然在点击ctrl + E + C并执行内置R#选项"重新格式化代码"后,我得到了这个:

list.Add(
    new SomeClass
    {
        Value = 1,
        Name = "some name"
    });
Run Code Online (Sandbox Code Playgroud)

哪个很糟糕,因为我通常只想在缩进之后{.唯一的例外是单行语句,如1-liner,如果我有时跳过大括号但仍有缩进.

我试图将所有可能的R#选项切换为"简单换行",但它没有帮助.我试图设定不同的价值观,这对我来说很有意义,但仍然没有成功.

只有在切换"恢复到旧的格式化引擎"之后它才有所帮助,但它也会破坏其他东西,所以这对我来说不是一个可行的解决方案.

小智 4

如果您选择代码并使用 Alt+Enter 调用“格式选择 -> 配置”,您将看到影响此选择的格式的设置列表。如果仍然有问题,您可以在菜单“ReSharper->管理选项”中重置设置,并尝试取消选中“换行符和换行 -> 初始值设定项排列 -> 在调用后更喜欢换行”