与 Visual Studio 的默认设置相比,我更喜欢我自己的代码格式样式。我在工具→选项中关闭了自动格式化选项。在大多数情况下,它有效。
但是,在使用任何内置重构之后,Visual Studio 会使用其默认设置破坏我的设置。我如何阻止 VS 这样做?
与 Visual Studio 的默认设置相比,我更喜欢我自己的代码格式样式。我在工具→选项中关闭了自动格式化选项。在大多数情况下,它有效。
但是,在使用任何内置重构之后,Visual Studio 会使用其默认设置破坏我的设置。我如何阻止 VS 这样做?
我在页面中编写VB时遇到了这个问题aspx
。
解决方案是转到“工具 > 选项 > 文本编辑器 > 基本 > VB 特定”并关闭“漂亮列表”。
注意 - 在 Visual Studio 2015 中,可以在以下位置找到:
工具 > 选项 > 文本编辑器 > 基本 > 高级
就我而言,它是 ReSharper。
StackOverflow:如何在 Visual Studio 中禁用 ReSharper 并再次启用它?
StackOverflow:有没有办法标记代码告诉 ReSharper 不要格式化它?
最后是 ReSharper:
在最新版本的 ReSharper 上,有更多选项:取消勾选此页面上的所有内容,并确保所有下拉菜单都设置为None
.
ReSharper“打字辅助”就像一个3岁的孩子试图“帮助”建造一座卡片城堡。一个简单的退格键或回车键将(较差地)重新格式化整个代码块,要求将其撤消或痛苦地格式化回原始代码。
如果这还不够,这会增加打字时的延迟,所以有时感觉就像在滑雪板上跑步。
在 VS2017 中,您可以在设置菜单中选择编码语言后更改它。在“格式化”子菜单中有一个名为“新行”的选项。
不能关闭分号或右大括号的重新格式化。我觉得微软会冒昧地告诉任何人如何格式化代码,这让我很生气。我见过的最难以辨认的代码是在那里工作的时候。
我希望相邻的作业垂直对齐;VS 将它们重新格式化为等号两侧的一个空格,而不管左侧变量的长度如何。这是不能容忍的。并且在编辑器选项上关闭它会被忽略;鉴于上述开场白之类的评论,我确信这是故意的。
一致性只有在导致理想结果时才是一种美德。这不是一个。
我怀疑您是否可以在重构后禁用重新格式化。重构会更改代码,因为它只是文本,我怀疑您想要的是它只是将未格式化的文本转储到您的源代码中。将 VS 遵循的代码样式设置为您喜欢并遵循的样式会不会更容易一些?
按照 TOOLS->OPTIONS->Text Editor->CSS->Formatting 选择“Compact Rules”并取消选中“Hearerchical indentation”
您可以调整代码格式的设置。我总是关闭所有额外的换行符,然后它就可以很好地格式化代码。
如果您尽可能地根据自己的喜好调整设置,那么无论何时使用重构都应该让您的工作量最少。
除了 Tango 对实际解决方案的回答之外,可能还有一些人实际上想要与自动格式保持同步,但又不想让它搞砸您的相关更改。我建议您修改文件以激活自动格式化,签入这些更改,然后继续进行您希望进行的实际更改。
这样您的代码可以保持最新,但您的签入将是相关的。