Странный код переформатирования в Resharper - PullRequest
1 голос
/ 15 сентября 2010

Я использую функцию ReSharper 5 «Reformat Code», используя настройки по умолчанию, и она преобразует это:

        _deviceInstanceView.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate()
        {
                  _deviceInstanceView._DeviceInstanceContainer.UpdateLayout();
        });

В это:

         _deviceInstanceView.Dispatcher.Invoke(DispatcherPriority.Normal,
                                              (ThreadStart)
                                              delegate() { _deviceInstanceView._DeviceInstanceContainer.UpdateLayout(); });

Есть ли способ отключить этоформатирование

Ответы [ 2 ]

2 голосов
/ 15 сентября 2010

ReSharper> Параметры> Языки> C #> Стиль форматирования> Макет фигурных скобок> Объявление анонимного метода> На следующей строке (стиль BSD)

Что касается перемещения второго параметра на следующую строку, это может быть потому, что у вас есть «Обтекание формальных параметров» установлено на «Обрезать всегда» или «Обрезать, если долго», но, скорее всего, из-за «Обтекания длинных строк».

Оба они находятся в ReSharper> Параметры> Языки> C #> Разрывы строк и перенос> Обтекание строк

0 голосов
/ 15 сентября 2010

Поиграйте с опциями в разделе Языки / C # / Стиль форматирования / Разрывы строк и переносы.Вы можете сказать ему не пытаться переупаковывать строки вообще или изменять условия, при которых он будет переноситься, и куда он ставит разрывы.

Это чисто личное предпочтение, но я бы сказал этопредпочесть обертывание до или после точек (на ваш выбор) и после запятых, а также поставить фигурные скобки своей собственной линией.Вы бы получили что-то вроде:

_deviceInstanceView.Dispatcher
   .Invoke(DispatcherPriority.Normal, (ThreadStart)delegate()
         {
            _deviceInstanceView._DeviceInstanceContainer
               .UpdateLayout();
         }
   );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...