ReSharper格式化:禁用多行语句的扩展缩进

时间:2017-06-26 13:59:19

标签: c# resharper

我不确定我的标题是否完全准确,但是,我想在ReSharper格式化中禁用该功能,在格式化时它会缩进深度(?)。下图描述了行为(红色=格式之前,绿色=格式之后)

ReSharper formatting

正如您所看到的那样,第一行之后的所有语句的缩进都缩进了很多。

var shouldSendMails = requester.Email != model.Email
    || requester.PhoneNumber != model.PhoneNumber
    || requester.Address != model.Address
    || requester.PostalCode != model.PostalCode
    || requester.City != model.City
    || requester.MedicalInformation != model.MedicalHistory;

变成

var shouldSendMails = requester.Email != model.Email
                    || requester.PhoneNumber != model.PhoneNumber
                    || requester.Address != model.Address
                    || requester.PostalCode != model.PostalCode
                    || requester.City != model.City
                    || requester.MedicalInformation != model.MedicalHistory;

我想禁用此行为。所以我想要的是当我格式化代码时,它会对代码进行格式化,但在将新的代码行放在那里之前没有4个额外的选项卡。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

在发布问题后不久,我发现了这个功能。

它被命名为"对齐多线建构"可以在这里找到:

ReSharper - >选项 - > C# - >格式化样式 - >其他 - >对齐多行结构。

对我来说,选项" Expression"已选中/已启用。禁用此选项可以解决我的问题。

禁用之前" Expression"选项:

destination = source1
                  ? source2
                  : source3;

禁用"表达"选项:

destination = source1
    ? source2
    : source3;

答案 1 :(得分:0)

这也可以修复LINQ扩展方法中的缩进。

由于我经常使用EF,所以非常烦人...

var invoice = this.context.Invoices
                  .Include(i => i.InvoiceLines)
                  .Where(i => ........................................)

禁用后变成这样:

var invoice = this.context.Invoices
    .Include(i => i.InvoiceLines)
    .Where(i => ........................................)

enter image description here