之前已经提到过:为什么Visual Studio代码格式化不适用于Razor标记?
但这个问题已有几年了。 Razor格式化仍然是完全不可接受的。 我已经放弃了修复它。
我可以为CSHTML文件禁用所有Visual Studio格式吗? 如果没有,我可以完全禁用所有Visual Studio格式吗? 我可以使用任何第三方黑客攻击? 必须有东西!
我升级到2013年,格式也一样糟糕。
[编辑]:2015年也是可怕的。 我真的希望他们能解决这个问题。
[编辑]:2017年也是上帝可怕的。 我真的希望他们能解决这个问题。
[编辑]:2019也是上帝可怕的。 我真的希望他们能解决这个问题。
-
它的WORSE在2013年。
-
认真。必须有一些事情可以做到这一点......
-
许多人已经指示此OP的读者能够禁用粘贴格式。如果您粘贴一行,则此方法有效。它不会重新格式化它周围的线条。但是粘贴整个代码块,你仍然可以进行格式化。不仅如此,它改变了许多使我的代码无法编译的项目。如果所有读这篇文章的人都会在@Kusgun提到的链接上报告反馈,我将不胜感激!
-
它在2015年太糟糕了!
-
它就像土拨鼠日。我一直回到自己的评论,就像我一遍又一遍地生活着同样的痛点。叹。也许VS15会有这个修复。
-
似乎已在vs 2015 update 3中修复。
-
对不起我错了。使用制表符进行缩进现在可以工作(没有奇怪的空格),但编辑器在键入/粘贴时重新格式化(完全错误的方式)代码。
-
在更复杂的Razor文件中,我发现自己不得不切换到使用Visual Studio Code进行更基本的文本编辑。在Visual Studio 2015 IDE中按Ctrl-z每隔一个键是很荒谬的。
-
在2017 rtm中没有固定
-
2018年没有修复。
-
我确信谁在VS for CSHTML文件中创建了自动格式是一个虐待狂。
在工具 - >选项 - >文本编辑器 - > HTML - >高级
有一个键值项粘贴,上面写着"粘贴时格式化",旁边有一个布尔值。将此更改为false已禁用razor语法中的粘贴格式。
我正在使用VS Professional 2013,版本12.0.30110.00 Update 1
-
谢谢!粘贴上的自动(错误)格式化让我发疯。这似乎已经消除了它。
-
真棒,这正是推动这一切所需要的!谢谢!
-
我会多投票给你一次,这是vs版本2013 up1和更新版本的正确答案。
-
在2015年的视觉效果不起作用?我在HTML /高级版中取消选中"粘贴格式",但在粘贴时仍然可以获得时髦的格式化/疯狂缩进。我正在考虑为cshtml文件使用另一个编辑器,但后来我松了C#autocompletion。这种情况很疯狂。
-
这不适用于vs 2015. MS只是拖钓......
-
并且在VS2017中也不起作用。青衫。
-
在VS2017为我工作。
-
在VS2019为我工作 - 非常感谢你
你不能。自第一个.net版本(visual studio 2002/2003)以来,它就构建在VS的"功能"中。
有大量关于格式化错误的连接报告,但是Microsoft完全忽略它们,或者将修复程序推送到"下一个版本"。您可以在此处看到Microsoft的答案示例。
您可以在此处向Microsoft团队发布您自己的反馈
-
我再次愤怒地搜索这个,我不知道他们是否改变了一些东西,但是在Razor中,Metroid Hunter的修复工作对我有用stackoverflow.com/a/28053865/62829
-
视觉工作室中的HTML如何在2015年仍然如此糟糕?
-
实际上它在2015年比2013版本更糟糕(同样适用于C#,每次打开支架时它都会缩进不相关的东西)。我曾经喜欢视觉工作室,但这正在慢慢杀死它。
-
注意:连接链接现在都已经死了
要看的地方:
1
| Tools -> Options -> Web Essentials -> HTML -> Auto-format HTML on Enter |
设为假
1
| Tools -> Options -> Text Editor -> HTML -> Advanced -> Format on Paste |
设为假
使用这些设置,我在Visual Studio 2013中没有任何问题。
我曾经经常按Ctrl-Z,如果你忘记解决乱码,一旦你的代码被编写和测试是一个巨大的痛苦。我觉得微软可以做很多事情来帮助用户配置它并使其更易于访问。
-
没有"网络必需品"区域。
-
很棒的答案!这已经困扰了我多年,但没有更多!
-
@Paul Web Essentials是一个VS扩展,它增强了许多与HTML,CSS,JS编辑器相关的东西。安装它并禁用自动格式有很大帮助。
-
这应该标记为答案。特别是关于Web Essentials的一行。谢谢@dazbradbury!
-
输入功能的格式在代码重新分解中花费了我很多时间。谢谢您的帮助!
-
第二个选项不能在VS2017中修复它,第一个选项甚至不存在。
对我来说,诀窍是在粘贴后按下CTRL + Z,然后删除格式。
-
不幸的是,这在VS2013中不再起作用了......
-
在这里工作......我正在粘贴一个包含
-
这适用于VS 2015 :)
-
Upvoted。这适用于VS 2015 :)没有其他解决方案(工具>选项下的各种设置)对我有用,至少在粘贴内容应该以某种方式在代码/ html之间进行更改时,即粘贴包含C#代码后跟html的行时使用C#代码直接标记或粘贴html标记。
-
在VS中无处不在。这是解除格式化的混乱的唯一方法。 (或者你是否真的手动清理它?)我已经习惯了它,但它非常烦人。
在我的情况下,R#最终成为罪魁祸首,可以在这里禁用:
ReSharper>选项>代码编辑> Razor>编辑器和格式
https://www.jetbrains.com/help/resharper/2016.1/Reference__Options__Languages__Razor__Editor.html
-
这不包含在Visual Studio中,因此您需要单独安装它。
-
我在这里提到它的原因是有人可能会认为Visual Studio正在进行重新格式化(就像我做的那样)它实际上可能是R#(许多开发人员使用)。因此,如果有人无法禁用它并且安装了R#,他们会希望确保它们都被禁用。
-
在R#2017.3中,这些设置位于ReSharper |选项|环境|编辑|编辑行为
-
在R#2018.3中,我还必须设置编辑器行为,粘贴时自动格式化为"无"
不幸的是,防止粘贴自动格式化的唯一方法是注释掉要粘贴一些新代码的位置,并在粘贴操作之后删除注释说明。
搜索和替换似乎不会触发自动格式化。但粘贴重新格式化整个代码块。
这太可怕了。它使得Visual Studio IDE几乎无法用于Razor编辑。必须为Razor文件使用外部编辑器。
更糟糕的是,即使最新的Visual Studio 2013 Update 1在编辑Razor视图时也会崩溃。
有趣的是,您可以禁用C#格式和HTML格式,但不能禁用Razor格式。
我已取消选中"工具>选项>文本编辑器> C#>格式设置>粘贴时自动格式化",HTML也是如此。
这样可以在cshtml文件中获得以下有趣的体验:
-
粘贴HTML代码:无格式
-
粘贴C#代码:无格式
-
粘贴Razor代码:格式化所有错误
由于没有更改Razor选项的选项,我猜你必须忍受这个。
我的"解决方案":粘贴和ctrl-z来撤消自动格式
-
CTRL-Z为+1。我一直在使用它。
-
我也是..但它让我发疯了!
-
不幸的是,这在VS2013中不再起作用了......
-
我实际上使用的是VS2013,它对我有用。
-
您的解决方案是一种解决方案,在编辑大型文件时需要几分钟。
我在Resharper 2019中找到了这些设置,这改善了我的经验: