Есть ли способ отключить форматирование кода ReSharper Web Form/MVC (.aspx) при завершении Brace ( })?

Есть ли способ отключить форматирование кода ReSharper Web Form/MVC (.aspx) на Brace (}) Завершение?

Это действительно расстраивает и большую часть времени не то, что я хочу. Например, если у меня есть:

<% if (CurrentUser.IsRole(Helper.UserRole.Agent)) { %>
   <%= Html.LinkTo("sign out", SessionRoutes.Logout, null, new { @class = "sign" }) %>
<% } else { %>
   ...
<% } %>

как только я наберу последний <% } это форматирует как это:

<% if (CurrentUser.IsRole(Helper.UserRole.Agent))
  { %>
 <%= Html.LinkTo("sign out", SessionRoutes.Logout, null, new { @class = "sign" })%>
  <% }
  else
  {%>

  <%
  }%>

Я просмотрел параметры ReSharper, но не могу найти подходящих настроек. Это сводит меня с ума! Чтобы обойти это, я должен либо вставить скобку, иногда достаточно повезло, что Ctrl+Z работает, или наберите <{ затем вставьте % затем пробел:S

Я уверен, что любой, кто работал с ReSharper и веб-формами в последнее время, поймет, о чем я говорю.

Спасибо

3 ответа

Решение

Во-первых, вы должны изменить параметры макета фигурных скобок, чтобы они соответствовали вашему стилю. Перейти к ReSharper | Параметры> Языки> C# > Стиль форматирования> Макет фигурных скобок> Макет фигурных скобок и измените параметр "Другое" на "В конце строки (стиль K&R)".

Далее, обратите внимание, что действительно есть ошибка, которая иногда заставляет ReSharper вставлять разрывы строк после <% или до%>. Эта ошибка исправлена ​​во внутренних сборках и должна появиться в следующем EAP (позднее 2011-июнь-7), а также в будущих бета-версиях 6.0.

Если вы хотите, вы можете полностью отключить автоформатирование в настройках ReSharper (но это затронет не только ASP.NET, но и обычные файлы C#). Перейти к ReSharper | Функции> Редактировать и отключить Автоформат на точку с запятой и Автоформат на закрывающей скобке.

Надеюсь это поможет:)

Вы уверены, что это Resharper, который делает форматирование? Visual Studio также имеет опцию "Автоматически форматировать завершенный блок на}".

Инструменты | Параметры> Текстовый редактор> C# > Форматирование

Похоже, это известная проблема, отраженная в этих двух отчетах об ошибках: http://youtrack.jetbrains.net/issue/RSRP-193396 и http://youtrack.jetbrains.net/issue/RSRP-178877 Пожалуйста, проголосуйте за них. Я не могу гарантировать график исправлений прямо сейчас, но я надеюсь, что мы сможем исправить это раньше, чем позже.

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