Visual Studio 2022中使用Razor代码格式出现问题

8

使用 Visual Studio 2022 (17.0.2) 和 Resharper 2021.3,在 Razor (.cshtml) 视图中使用 C# 标签时,我遇到了格式问题。

给定以下现有代码: Before

如果我键入 Ctrl K+D (格式化整个文档),VS 会生成以下结果: After

HTML 标记的格式很好,但是 Razor 标记的格式更难阅读,特别是在底部嵌套的 lambda 表达式。

我尝试了不同的方法,但无法在 VS 设置或 Resharper 设置中找到适当的选项来管理这些规则。

谢谢


1
只是提供信息,6个月后,我刚刚升级到VS 2022版本17.2.2,但完全相同的问题仍然存在,非常令人恼火... - undefined
1
我正在使用VS 2022 v17.2.4,在参考https://stackoverflow.com/questions/39588771/visual-studio-code-alignment-extension-not-working的情况下,我将我的字体更改为单色,格式化开始工作,但仍然存在问题,但能够工作。 - undefined
1
关于“格式问题”:你能在问题中更具体一些吗?是什么样的格式问题?有哪些C#标签(例如,一个标签的示例和行号)?这些信息应该在文本中提供。 - undefined
你期望格式化命令将代码变成什么样子?你是期望在VS的设置中生效但却没有按照你的期望工作,还是只是想知道在VS的设置菜单中如何找到相关的格式化选项? - undefined
OP提到的键盘快捷键可以格式化/缩进给定文档中的所有代码,并且效果很好。问题是,在这些混合了HTML和C#代码的Razor页面中,它的效果不好,缩进变得很奇怪。上面的示例还不算太糟糕,情况会变得更糟。 - undefined
1个回答

1
我推迟了升级到.NET 6,因为这个问题。这绝对是一个bug,并不与ReSharper或.NET版本有关,而是与IDE本身有关。
您可以在开发者社区页面上查看bug报告: VS 2022 Razor Editor not formatting HTML 还可以在GitHub上查看: VS 2022 Razor Editor not formatting HTML #8006 由于作者未提供反馈,该问题被标记为过时。GitHub帖子上有关于该bug的更多相关信息的新活动可能会引发新的调查。

谢谢您的回答。以防万一,即使您的链接没有提到 .Net 6.0,我想告知您我正在使用的是 VS 2022,但在遇到这个问题的项目中仍然使用的是 .Net 5.0。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接