以前曾经问过:Why doesn't Visual Studio code formatting work properly for Razor markup?
但这个问题已有几年了。 Razor格式化仍然完全不可接受。我已经放弃了修复它。
我可以为CSHTML文件禁用所有Visual Studio格式吗?如果没有,我可以完全禁用所有Visual Studio格式吗?我可以使用任何第三方黑客攻击?必须有所作为!
我已升级到2013年,格式也一样糟糕。
[编辑]:2015年也是可怕的。我真的希望他们能解决这个问题。
[编辑]:2017年也是上帝可怕的。我真的希望他们能解决这个问题。
[编辑]:2019也是上帝可怕的。我真的希望他们能解决这个问题。
答案 0 :(得分:45)
在工具下 - >选项 - >文字编辑器 - > HTML - >先进
有一个键值项目粘贴,它表示"粘贴格式"并且旁边有一个布尔值。将此更改为false已禁用razor语法中的粘贴格式。
我正在使用VS Professional 2013,版本12.0.30110.00 Update 1
答案 1 :(得分:38)
你做不到。自第一个.net版本(visual studio 2002/2003)以来,它就构建在VS的“功能”中。
有大量关于格式化错误的连接报告,但Microsoft完全忽略它们,或者将修复程序推送到“下一个版本”。您可以看到Microsoft回答here的示例。
您可以将自己的反馈意见发布到Microsoft小组here
答案 2 :(得分:32)
要看的地方:
Tools -> Options -> Web Essentials -> HTML -> Auto-format HTML on Enter
设为错误
Tools -> Options -> Text Editor -> HTML -> Advanced -> Format on Paste
设为错误
使用这些设置,我在Visual Studio 2013中没有任何问题。
我以前经常按Ctrl-Z,如果你的代码被编写和测试后忘记解决这些问题是一个巨大的痛苦。我觉得微软可以做很多来帮助用户配置它并使其更易于访问。
答案 3 :(得分:22)
我的诀窍是在粘贴后按下CTRL + Z,然后删除格式。
答案 4 :(得分:8)
在我的案例中,R#最终成为罪魁祸首,可以在这里禁用:
ReSharper>选项>代码编辑>剃刀>编辑&格式化
https://www.jetbrains.com/help/resharper/2016.1/Reference__Options__Languages__Razor__Editor.html
答案 5 :(得分:7)
不幸的是,防止粘贴自动格式化的唯一方法是注释掉您要粘贴一些新代码的位置,并在粘贴操作之后删除评论说明。
搜索&替换似乎不会触发自动格式化。但粘贴重新格式化整个代码块。
这太可怕了。它使得Visual Studio IDE几乎无法用于Razor编辑。必须为Razor文件使用外部编辑器。
更糟糕的是,即使最新的Visual Studio 2013 Update 1在编辑Razor视图时也会崩溃。
答案 6 :(得分:6)
有趣的是,您可以禁用C#格式和HTML格式,但不能禁用Razor格式。
我已取消选中“工具>选项>文字编辑器> C#>格式化>自动格式化粘贴”和HTML相同。
这会带来以下cshtml文件的有趣体验:
由于没有更改Razor选项的选项,我猜你必须忍受这个。
我的“解决方案”:粘贴并按ctrl-z撤消自动格式
答案 7 :(得分:0)
答案 8 :(得分:0)
我没有.Net Core项目,也没有Blazor。因此,很遗憾,我无法对此进行测试。但是Microsoft已针对这些语言发布了新的格式化引擎。
https://devblogs.microsoft.com/aspnet/new-experimental-razor-editor-for-visual-studio/
需要最新版本的Visual Studio 2019。