如何在Visual Studio 2022中禁用Razor页面自动格式化并设置块缩进?
解决Visual Studio中.cshtml文件自动格式化问题
当前问题
- 粘贴内容时,VS会自动对齐并格式化.cshtml文件中的JS代码空格
- 打开HTML标签时,VS会自动添加额外制表符(智能缩进),希望保持当前制表符数量(块缩进效果)
已尝试禁用的设置:
- 文本编辑器 -> 代码清理:保存时运行代码清理配置文件
- 文本编辑器 -> Razor (ASP.NET Core):输入时格式化、自动插入闭合标签
- 文本编辑器 -> JavaScript/TypeScript -> 格式化 -> 常规:按Enter时格式化完成的行、按;时格式化完成的语句、按{时格式化打开的块、按}时格式化完成的块、粘贴时格式化
- 文本编辑器 -> ASP.NET Web Forms -> 杂项:粘贴时格式化
- 文本编辑器 -> C# -> 代码样式 -> 格式化 -> 常规:输入时自动格式化、按回车时自动格式化、粘贴时自动格式化
额外调整建议
解决粘贴自动格式化
- 打开VS设置(快捷键
Ctrl+,) - 搜索**"Razor: Format On Paste"**,设置为禁用
- 搜索**"HTML: Format On Paste"**,同样设置为禁用
解决HTML标签智能缩进
- 在设置中搜索**"Razor: Indent Style",选择Block**(块缩进)
- 搜索**"HTML: Indent Style",同样设置为Block**
- 若问题依旧,搜索**"Razor: Auto Indent"**,确保该选项已禁用
完全禁用Razor格式化(兜底方案)
如果上述设置仍无效,在项目根目录新建或修改.editorconfig文件,添加以下规则:
[*.cshtml] indent_style = tab indent_size = 4 trim_trailing_whitespace = false dotnet_razor_formatting_enabled = false
此配置会彻底关闭Razor文件的自动格式化,同时保留自定义缩进规则。
内容的提问来源于stack exchange,提问作者Nikita Andreev
相关产品推荐
相关产品推荐

