Как остановить 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()
});
Ответы
Ответ 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"
.