与 VisualStudio 的默认设置相比,我更喜欢自己的代码格式设置风格。我已经在“工具→选项”中关闭了自动格式化选项。在大多数情况下,它工作。
但是,在使用任何内置重构之后,VisualStudio 会使用其默认设置修补我的设置。我怎么才能阻止 VS 这么做呢?
我怀疑在重构之后是否可以禁用重新格式化。重构会改变代码,而且因为它只是文本,我怀疑你想要的是它只是将未格式化的文本转储到你的源代码中。只设置代码样式 VS 遵循您喜欢和遵循的样式不是更容易一些吗?
您可以调整代码格式设置。我总是关闭所有额外的换行符,这样就可以很好地设置代码的格式。
如果您根据自己的喜好尽可能地调整设置,那么无论何时使用重构,您都只需要做最少的工作。
我在 aspx页面中写 VB 时遇到了这个问题。
aspx
解决方案是进入“工具 > 选项 > 文本编辑器 > 基本 > VB 特定”并关闭“漂亮列表”。
注意-在 VisualStudio2015中,这可以在:
工具 > 选项 > 文本编辑器 > 基础 > 高级
按照工具-> 选项-> 文本编辑器-> CSS-> 格式 选择“紧凑规则”并取消选择“层次缩进”
除了 Tango 对于实际解决方案的回答之外,实际上可能还有人希望保持自动格式的最新性,但是不希望它搞砸了相关的更改。我建议您修改该文件,使其具有自动格式化功能,签入这些更改,然后继续进行您希望进行的实际更改。
这样,您的代码可以保持最新,但您的签入将是相关的。
关闭漂亮列表。它是重新格式化您正在做的事情的选项。我对它也有同样的不适,在这样做之后,我的代码保持我想要的方式,它不会回到以前的设置。
对我来说,是 ReSharper。
StackOverflow: 如何在 VisualStudio 中禁用 ReSharper 并再次启用它?
StackOverflow: 有没有办法标记代码来告诉 ReSharper 不要格式化它?
最后是 ReSharper:
在 ReSharper 的最新版本中,有更多的选项: 取消勾选这个页面上的所有内容,并确保所有下拉菜单设置为相当于 None。
None
ReSharper 的“打字助手”就像一个3岁的孩子试图“帮助”建立一个卡片城堡。一个简单的退格键或输入键将(很差)重新格式化整个代码块,需要将其撤消或痛苦地格式化回原始代码。
如果这还不够的话,这就是在打字时增加延迟的部分,所以有时候感觉就像试图在滑雪板上跑步一样。
无法关闭分号或闭括号上的重新格式设置。我发现这激怒了微软,他们竟然胆敢告诉任何人如何格式化代码; 我所见过的最难以辨认的代码是在微软工作期间看到的。
我希望相邻的赋值是垂直对齐的; VS 将它们重新格式化为等号两边的一个空格,与左边变量的长度无关。这简直无法忍受。并且关闭编辑器选项是被忽略的; 给定注释如上面的开头,我确信这是故意的。
一致性只有在导致令人满意的结果时才是一种美德,而这不是一种美德。
在 VS2017中,您可以在设置菜单中选择您的编码语言后更改它。在“格式”子菜单中有一个名为“新行”的选项。
帮助我防止自动格式化的 VS2015设置:
(工具 > 选项 > 文本编辑器 > 基本 > 高级,就像 Tango91建议的那样)
你可能已经安装了 电动工具。
在这种情况下,你可以关闭“工具 > 选项 > 生产力强大的工具 > 强大的命令 > 一般”
正如@TheMatrix 建议的那样,我花了一点时间去寻找,所以也许这能帮到其他人。
单列这些选项,以防止在放置分号或在行尾按回车键时出现烦人的自动格式设置。
它可以是 Clang Format 的情况。 以前,整个文件在文件保存时自动格式化,这让我抓狂(对于没有启用 Clang Format 的存储库)。
在将“ Tools-> Option-> LLVM/Clang-> ClangFormat-> Format On Save-> Enable”转换为 False 之后,这种行为就消失了。
在 VisualStudio2015,2017中,每次我在 cshtml 文件中粘贴任何东西时,我都很生气。我尝试了不同的设置,最终找到了合适的: 选项 = > 文本编辑器 = > HTML = > Advanced = > 粘贴(粘贴格式) = > False
我看到这里的许多答案可以解决特定情况下的问题。
对于我的情况,我不断发现 IDE 会自动格式化 ASP 页面中的 JavaScript 代码。
要禁用,我取消选中此框:
此外,我发现使用工具栏(CTRL+Q)中的搜索查询并只搜索文本 format on paste非常有帮助。正如您可以看到与滚动条,有相当多的选项来检查!
CTRL+Q
format on paste
您可能需要在保存时检查 Tools-> Options-> Xaml Styler-> Format Xaml
在顶部的导航选项中选择“工具”,然后选择“管理扩展”。
我安装了 CodeMaid,Visual Assistant 和 Rosalyn。似乎更新开始导致这些自动格式化问题。我把它们关了,然后修好了。