Подтвердить что ты не робот

Как остановить Resharper от разрыва строки после ключевого слова return для длинных строк?

При автоматическом форматировании с помощью 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>();

UPDATE:

Вот "прерывать всегда":

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

Вот "chop if long":

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

Ответ 1

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

Существует множество настроек для переноса строк. По умолчанию для Wrap long lines обычно 120 символов. Это может привести к срабатыванию вашего разрыва, так как вы настроены на 80 или у Resharper 8.0 может быть более новая опция для возврата. Путь выше для 7.0, но я считаю, что это то же самое или, по крайней мере, похожее на 8.0.

Приятно, что они показывают вам примеры изменений, которые вы делаете, поэтому вам не нужно их сразу проверять.

Ответ 2

Нет специальной опции, чтобы включить "wrapping after return" OFF.

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".