Pro*_*ofK 70 asp.net-mvc visual-studio-2010 visual-studio razor asp.net-mvc-3
或者,我是否应该问,VS代码格式何时适用于Razor标记?格式化适用于大多数结构,但它似乎阻塞'if'块.下面的代码是由VS格式化的.修复这种情况非常容易,还有一个缩进,但我很好地接受了日常使用中的格式,并且喜欢经常使用它来代替我的大部分代码,所以我宁愿避免手动格式化.现在我只是把它作为VS格式化它.
@{
if (User.Identity.IsAuthenticated)
{
<text>Hello </text>
@Html.Display("@ViewBag.UserName") <text> - </text>
@Html.ActionLink("Sign Out", "LogOff", "Account", null, new { style = "font-weight: bold;" })
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这对于可读性很重要,例如在上面,if块的主体是缩进的,除了看起来更好.
Cha*_*rns 42
务必将编辑器设置为使用空格字符而不是制表符.当使用标签时,编辑器似乎完全失去了理智.这是一个遗憾,因为所有这些空格字符最终都在实际的HTML输出中,大大增加了数据传输的大小.我所做的是在输入时手动补充自动格式.不理想,但希望微软能够为下一个服务包找到这个.
Jos*_*uch 13
我找到了一个"解决方案",允许您继续使用制表符缩进并具有正确的格式.这更像是一种模式.关键是使用剃刀代码块而不是内联代码.
例如,替换以下内容:
<div>
<div>
@if (true)
{
<b>Hi</b>
}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
有:
<div>
<div>
@{
if (true)
{
<b>Hi</b>
}
}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
后者将正确格式化,但前者不会.
请记住,格式化并不完美,但它比以前更好.
它在所有情况下都无法正常工作,因为这是一个难以解决的问题.基本上你有3个不同的编辑器(HTML,C#和Razor)都在同一个文本缓冲区上进行交互.在某些情况下(如此),交互存在错误.但我们正在努力改进下一版Razor的编辑器.
我为此找到了另一个解决方案。只需选择文件中的所有代码,单击 Shift + Tab 删除代码之前的所有选项卡,然后复制并粘贴它。Visual Studio 自动格式化代码。处理 VS 2013 .cshtml 文件
| 归档时间: |
|
| 查看次数: |
29082 次 |
| 最近记录: |