有没有办法在Brace(})完成时禁用ReSharper Web Form / MVC(.aspx)代码格式?

时间:2011-05-27 05:19:32

标签: .net resharper intellisense code-formatting resharper-5.1

有没有办法在Brace(})完成时禁用ReSharper Web Form / MVC(.aspx)代码格式?

真的很令人沮丧,大部分时间都不是我想要的。例如,如果我有:

<% 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 个答案:

答案 0 :(得分:3)

首先,您应该更改大括号布局的选项以匹配您的样式。去ReSharper |选项&gt;语言&gt; C#&gt;格式化样式&gt;大括号布局&gt;大括号布局并将选项“其他”改为“在行尾(K&amp; R风格)”。

接下来,请注意确实存在一个错误,有时会导致ReSharper在&lt;%或之前的%&gt;之后插入换行符。这个错误在内部版本中得到修复,应该在下一个EAP(2011-jun-7之后)以及将来的6.0 beta / release中。

如果您希望在ReSharper选项中完全禁用自动格式(但这不仅会影响ASP.NET,还会影响常规C#文件)。去ReSharper |选项&gt;编辑并关闭分号上的自动格式化和右括号上的自动格式化。

希望这会有所帮助:)

答案 1 :(得分:1)

你确定 Resharper 正在进行格式化吗? Visual Studio本身也有一个“自动格式化已完成的块}”选项。

工具|选项&gt;文本编辑器&gt; C#&gt;格式化

答案 2 :(得分:1)

这样的感觉是这两个错误报告中反映的已知问题:http://youtrack.jetbrains.net/issue/RSRP-193396http://youtrack.jetbrains.net/issue/RSRP-178877 请投票给他们。现在无法保证任何修复计划,但我希望我们能够尽快修复。