Resharper плавное форматирование кода интерфейса (выравнивание по точке)

Я прочитал много ответов об опциях форматирования для свободного выделения. ( Resharper форматирования кода в одну строку и ReSharper беглый отступ и http://youtrack.jetbrains.com/issue/RSRP-88220), как это:

mockCrypto.Expect(c => c.Hash("authenticationHashSalt", "ignoring arguments"))
   .IgnoreArguments()
   .Return("hashed");

Но я не нашел информации о форматировании кода следующим образом:

kernel.Bind<ICameraController>()
      .To<NikonCameraController>()
      .NamedLikeFactoryMethod((ICameraFactory f) => f.GetNikonCamera());

mock.Setup(framework => framework.DownloadExists("2.0.0.0"))
    .Returns(true)
    .AtMostOnce(); // (it's from moq QuickStart)

Но стиль очень распространен, и я часто вижу его в документации для фреймворков. Как настроить автоформатирование Resharper для использования этого стиля?

1 ответ

Решение

К сожалению, в настоящее время Resharper, похоже, не в состоянии сделать это, и эта проблема уже давно отмечена.

В качестве потенциально приемлемого компромисса, чтобы минимизировать трудность Resharper при отмене форматирования существующих быстрых вызовов, вы можете выбрать "Сохранить существующие разрывы строк" ​​в параметрах Resharper в "Стиль форматирования" -> "Разрывы строк и перенос" -> "Сохранить". Существующее форматирование ".

Я использую следующие настройки в R# в Параметры -> Редактирование кода -> C# -> Стиль форматирования:

Разрывы строк и перенос -> Раздел " Расположение выражений доступа к членам " -> Оборачивать связанные вызовы методов == Всегда отбрасывать

Вкладки, отступы, выравнивание -> Align Multiple Формирует раздел -> метод прикован звонки проверяется

Результат:

На основе https://blog.jetbrains.com/dotnet/2012/11/12/code-formatting-improvements-in-resharper-71/. Путь для вызовов связанных методов был некоторой версией между 7.1 и R# 2018

Другие вопросы по тегам