有没有办法在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和网络表单合作的人都会知道我在说什么。
由于
答案 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-193396和http://youtrack.jetbrains.net/issue/RSRP-178877 请投票给他们。现在无法保证任何修复计划,但我希望我们能够尽快修复。