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

问题描述 投票:0回答:2

我不确定我的标题是否完全准确,但是,我想在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个额外的选项卡。

任何帮助将不胜感激。

c# resharper
2个回答
2
投票

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

它被命名为“Align Multiline Constructs”,可以在这里找到:

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

对我来说,选中“表达式”选项已被选中/启用。禁用此选项可以解决我的问题。

在禁用“表达式”选项之前:

destination = source1
                  ? source2
                  : source3;

禁用“表达式”选项后:

destination = source1
    ? source2
    : source3;

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

© www.soinside.com 2019 - 2024. All rights reserved.