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

问题描述 投票:6回答:2

这让我绕过弯道。我很长一段时间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标签的缩进 - 代码块仍然在整个地方滑动。

我认为扩展可能导致问题,但我禁用它们并重新启动,问题仍然存在。我做了一些根本错误的事吗?我发现很难相信Why doesn't Visual Studio code formatting work properly for Razor markup?会发布一些如此糟糕的东西,所以我似乎更有可能不正确地使用它。

asp.net-mvc vb.net asp.net-mvc-3 razor indentation
2个回答
2
投票

我在另一个问题上找到了一个解决方案(一种时尚)(在发布这个问题之前我真的很努力地搜索并找不到任何东西):qazxswpoi

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

感谢那些贡献的人。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.