关闭 VisualStudio 中的自动格式设置

与 VisualStudio 的默认设置相比,我更喜欢自己的代码格式设置风格。我已经在“工具→选项”中关闭了自动格式化选项。在大多数情况下,它工作。

但是,在使用任何内置重构之后,VisualStudio 会使用其默认设置修补我的设置。我怎么才能阻止 VS 这么做呢?

158540 次浏览

我怀疑在重构之后是否可以禁用重新格式化。重构会改变代码,而且因为它只是文本,我怀疑你想要的是它只是将未格式化的文本转储到你的源代码中。只设置代码样式 VS 遵循您喜欢和遵循的样式不是更容易一些吗?

您可以调整代码格式设置。我总是关闭所有额外的换行符,这样就可以很好地设置代码的格式。

如果您根据自己的喜好尽可能地调整设置,那么无论何时使用重构,您都只需要做最少的工作。

我在 aspx页面中写 VB 时遇到了这个问题。

解决方案是进入“工具 > 选项 > 文本编辑器 > 基本 > VB 特定”并关闭“漂亮列表”。


注意-在 VisualStudio2015中,这可以在:

工具 > 选项 > 文本编辑器 > 基础 > 高级

按照工具-> 选项-> 文本编辑器-> CSS-> 格式 选择“紧凑规则”并取消选择“层次缩进”

除了 Tango 对于实际解决方案的回答之外,实际上可能还有人希望保持自动格式的最新性,但是不希望它搞砸了相关的更改。我建议您修改该文件,使其具有自动格式化功能,签入这些更改,然后继续进行您希望进行的实际更改。

这样,您的代码可以保持最新,但您的签入将是相关的。

关闭漂亮列表。它是重新格式化您正在做的事情的选项。我对它也有同样的不适,在这样做之后,我的代码保持我想要的方式,它不会回到以前的设置。

enter image description here

对我来说,是 ReSharper。

测试 ReSharper

StackOverflow: 如何在 VisualStudio 中禁用 ReSharper 并再次启用它?

防止 ReSharper 重新格式化代码

StackOverflow: 有没有办法标记代码来告诉 ReSharper 不要格式化它?

更新2017-03-01

最后是 ReSharper:

enter image description here

更新2020-12-18

在 ReSharper 的最新版本中,有更多的选项: 取消勾选这个页面上的所有内容,并确保所有下拉菜单设置为相当于 None

ReSharper 的“打字助手”就像一个3岁的孩子试图“帮助”建立一个卡片城堡。一个简单的退格键或输入键将(很差)重新格式化整个代码块,需要将其撤消或痛苦地格式化回原始代码。

如果这还不够的话,这就是在打字时增加延迟的部分,所以有时候感觉就像试图在滑雪板上跑步一样。

无法关闭分号或闭括号上的重新格式设置。我发现这激怒了微软,他们竟然胆敢告诉任何人如何格式化代码; 我所见过的最难以辨认的代码是在微软工作期间看到的。

我希望相邻的赋值是垂直对齐的; VS 将它们重新格式化为等号两边的一个空格,与左边变量的长度无关。这简直无法忍受。并且关闭编辑器选项是被忽略的; 给定注释如上面的开头,我确信这是故意的。

一致性只有在导致令人满意的结果时才是一种美德,而这不是一种美德。

在 VS2017中,您可以在设置菜单中选择您的编码语言后更改它。在“格式”子菜单中有一个名为“新行”的选项。

帮助我防止自动格式化的 VS2015设置:

(工具 > 选项 > 文本编辑器 > 基本 > 高级,就像 Tango91建议的那样)

enter image description here

你可能已经安装了 电动工具

在这种情况下,你可以关闭“工具 > 选项 > 生产力强大的工具 > 强大的命令 > 一般”

enter image description here

正如@TheMatrix 建议的那样,我花了一点时间去寻找,所以也许这能帮到其他人。 VS 2017 option can be found here

单列这些选项,以防止在放置分号或在行尾按回车键时出现烦人的自动格式设置。

它可以是 Clang Format 的情况。 以前,整个文件在文件保存时自动格式化,这让我抓狂(对于没有启用 Clang Format 的存储库)。

在将“ Tools-> Option-> LLVM/Clang-> ClangFormat-> Format On Save-> Enable”转换为 False 之后,这种行为就消失了。

ClangFormat Format On Save

在 VisualStudio2015,2017中,每次我在 cshtml 文件中粘贴任何东西时,我都很生气。我尝试了不同的设置,最终找到了合适的: 选项 = > 文本编辑器 = > HTML = > Advanced = > 粘贴(粘贴格式) = > False enter image description here

我看到这里的许多答案可以解决特定情况下的问题。

对于我的情况,我不断发现 IDE 会自动格式化 ASP 页面中的 JavaScript 代码。

要禁用,我取消选中此框: enter image description here

此外,我发现使用工具栏(CTRL+Q)中的搜索查询并只搜索文本 format on paste非常有帮助。正如您可以看到与滚动条,有相当多的选项来检查!

enter image description here

您可能需要在保存时检查 Tools-> Options-> Xaml Styler-> Format Xaml

enter image description here

在顶部的导航选项中选择“工具”,然后选择“管理扩展”。

我安装了 CodeMaid,Visual Assistant 和 Rosalyn。似乎更新开始导致这些自动格式化问题。我把它们关了,然后修好了。