【发布时间】:2011-11-25 13:12:08
【问题描述】:
这让我在拐弯处。我是VB.NET 表单开发人员,对ASP.NET 很陌生,对MVC 完全陌生。我正在创建使用VB.NET Razor 语法的vbhtml 页面,而且我似乎一直在与试图错误缩进我的代码的UI 作斗争。以下面的示例为例,基于新的Razor 视图的模板页面:
@Code
Layout = Nothing
End Code
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div>
@If True Then
@<ul>
@For x = 1 To 2
Next
</ul>
End If '<-- Randomly indented too far
</div>
</body>
</html>
在上面的例子中,只要我在Next 之后点击返回,End If 下面的两行会随机从它应该在的位置向前跳两个制表符。在其他示例中,我遇到了一个圆圈,将一条线推到正确的位置会使另一条线偏离位置,反之亦然。
在这一点上我很生气,我很乐意完全禁用自动缩进并自己管理它,但我什至不知道如何做到这一点!根据另一个线程的建议,我禁用了 HTML 页面的缩进,但所有停止的只是缩进 HTML 标记 - 代码块仍然到处滑动。
我认为扩展程序可能会导致问题,但我将它们全部禁用并重新启动,问题仍然存在。我在做一些根本错误的事情吗?我很难相信Microsoft 会发布如此糟糕的东西,所以我似乎更有可能只是没有正确使用它。
【问题讨论】:
-
我认为您可以使用“格式化整个文档”选项,它是 Visual Studio 中“HTML 源代码编辑”工具的一部分。或者,您可以定期使用命令 (Ctrl+E, D) 来格式化文档。
-
@Pramodtech:在我的环境中,Ctrl+E,D 调出“添加现有文件”对话框,但我尝试了 Ctrl+K,D,这似乎可以格式化整个文档。麻烦的是,它使文档变得比以前更糟。似乎 MS 在 vbhtml 的自动缩进中存在一个严重的错误,考虑到 VS 的普遍程度,我觉得这真的很令人惊讶。
-
@wwarby 不只是 VB,它也会影响 C#,这使得它还没有得到解决更加令人困惑。
-
这里有一个 Microsoft Connect 中的错误报告:connect.microsoft.com/VisualStudio/feedback/details/621084
标签: asp.net-mvc vb.net asp.net-mvc-3 razor indentation