这让我陷入了困境。我是一名长期 VB.NET
表单开发人员,对 ASP.NET
非常陌生,对 MVC
完全陌生。我正在创建使用 VB.NET Razor
语法的 vbhtml
页面,并且我似乎一直在与试图我的代码缩进不正确。采取以下基于新 Razor
View 的模板页面的示例:
@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
会发布如此糟糕的东西,所以看起来更有可能是我没有正确使用它。
最佳答案
我在另一个问题上找到了一个(时尚的)解决方案(在发布这个问题之前我确实进行了努力搜索,但找不到任何东西):Why doesn't Visual Studio code formatting work properly for Razor markup?
本质上,解决方案似乎是确保您的代码使用空格而不是制表符作为空白。虽然由于空白增加而增加了页面的整体大小,但它确实减轻了问题(虽然没有完全消除它)。在链接的线程中,似乎与 Microsoft 有联系的人承认这确实是与 HTML 和 VB.NET 重叠格式化程序相关的错误,他们希望在新版本中对其进行改进。我已将每个缩进减少到 2 个空格,以减少带宽影响。
感谢贡献者。
关于asp.net-mvc - 如何使代码缩进在 vbhtml razor 文件中正确运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8269660/