如何在长行返回关键字后停止Resharper的换行?

时间:2013-12-11 03:04:34

标签: c# resharper resharper-8.0

当我使用Resharper CTRL + ALT + SHIFT + F自动格式化超过最大行长度的行(在我的情况下说它是80个字符)时,我得到以下内容:

    return
        View(new ViewModel
        {
            Identifier = identifier,
            Files = service.AllFiles()
        });

但我真正想要的是不要在“return”关键字之后换行(即,一行上没有自己的return关键字),如下所示:

    return View(new ViewModel
    {
        Identifier = identifier,
        Files = service.AllFiles()
    });

有谁知道如何“配置”Resharper来实现这一目标? :)

这是另一个例子,这是我现在看到的:

    return
        repository.Session.CreateCriteria(typeof(SomeType))
                  .Add(Expression.Eq("Identifier", identifier))
                  .UniqueResult<SomeType>();

当我真的想看时:

    return repository.Session.CreateCriteria(typeof(SomeType))
                     .Add(Expression.Eq("Identifier", identifier))
                     .UniqueResult<SomeType>();

更新

这是“总是砍”:

    return View(new OrganisationFileLoadViewModel
    {
        Identifier = identifier,
        AllExistingOrganisationFiles = nmdsOrganisationFileLoadService.AllNMDSOrganisationFiles()
    });

这是“剁多久”:

    return
        View(new OrganisationFileLoadViewModel
        {
            Identifier = identifier,
            AllExistingOrganisationFiles = nmdsOrganisationFileLoadService.AllNMDSOrganisationFiles()
        });

2 个答案:

答案 0 :(得分:40)

Resharper -> Options -> (Code Editing) C# -> Formatting Style -> Line Breaks and Wrapping

线条包装有很多设置。 Wrap long lines的默认值通常为120个字符。这可能会触发您的休息,因为您设置为80或Resharper 8.0可能有更新的返回选项。上面的路径是7.0,但我认为它与8.0相同或至少相似。

很高兴他们会向您展示您所做更改的示例,因此您无需立即对其进行测试。

答案 1 :(得分:2)

没有特殊选项可以将“返回后换行”关闭。

1)我无法重现第一个代码段中显示的类似代码格式。但是,我建议您尝试将此设置更改为“简单换行”: ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap invocation arguments

2)就我而言,以下更改有助于我:ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap chained method calls | Select "Chop always"