如何在vbhtml razor文件中使代码缩进正常运行?

时间:2011-11-25 13:12:09

标签: asp.net-mvc vb.net asp.net-mvc-3 razor indentation

这让我绕过弯道。我很长一段时间是VB.NET表单开发人员,对于ASP.NET来说是全新的,对于MVC来说是全新的。我正在创建使用vbhtml语法的VB.NET Razor个页面,而且我似乎经常与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标记的缩进 - 代码块仍然在整个地方滑动。

我认为扩展可能会导致问题,但我将它们全部禁用并重新启动,问题仍然存在。我做了一些根本错误的事吗?我发现很难相信{{1}}会释放出那么差的东西,所以我似乎更有可能不正确地使用它。

2 个答案:

答案 0 :(得分:2)

我在另一个问题上找到了一种解决方案(我在搜索这个问题之前确实进行了搜索,但找不到任何问题):Why doesn't Visual Studio code formatting work properly for Razor markup?

基本上,解决方案似乎是确保您的代码使用空格而不是空格的制表符。虽然由于增加了空白而增加了页面的整体大小,但它确实减轻了问题(同时没有完全消除它)。在链接的线程上,似乎与Microsoft连接的人已经承认它确实是与HTML和VB.NET的重叠格式化程序相关的错误,他们希望在新版本中进行改进。我缩进了每个缩进2个空格以减少带宽影响。

感谢那些贡献的人。

答案 1 :(得分:0)

此处更好的替代方法(而不是使用制表符空格)是将HTML和C#/ VB的块缩进更改为“阻止”而不是“智能”。这不是一个完整的解决方案,但IMO比使用空间更难以解决问题!