165

与 Visual Studio 的默认设置相比,我更喜欢我自己的代码格式样式。我在工具→选项中关闭了自动格式化选项。在大多数情况下,它有效。

但是,在使用任何内置重构之后,Visual Studio 会使用其默认设置破坏我的设置。我如何阻止 VS 这样做?

4

16 回答 16

115

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

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


注意 - 在 Visual Studio 2015 中,可以在以下位置找到:

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

于 2011-03-30T22:03:41.913 回答
34

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

在此处输入图像描述

于 2016-07-18T21:16:40.690 回答
10

正如@TheMatrixRecoder 所建议的那样,我为我找到了一些东西,所以也许这会对其他人有所帮助。 VS 2017 选项可以在这里找到

当您在行尾放置分号或按回车时,Unitick 这些选项可防止烦人的自动格式化。

于 2018-07-05T08:28:50.413 回答
7

就我而言,它是 ReSharper。

测试是否 ReSharper

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

防止 ReSharper 重新格式化代码

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

2017-03-01 更新

最后是 ReSharper:

在此处输入图像描述

2020-12-18 更新

在最新版本的 ReSharper 上,有更多选项:取消勾选此页面上的所有内容,并确保所有下拉菜单都设置为None.

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

如果这还不够,这会增加打字时的延迟,所以有时感觉就像在滑雪板上跑步。

于 2017-02-07T11:40:09.730 回答
7

您可能已经安装了Power Tool

在这种情况下,您可以从“工具 > 选项 > 生产力工具 > PowerCommands > 常规”中将其关闭

在此处输入图像描述

于 2018-03-15T17:39:50.873 回答
4

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

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

在此处输入图像描述

于 2018-01-16T07:40:09.817 回答
3

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

于 2017-08-09T12:48:09.550 回答
3

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

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

要禁用,我取消选中此框: 在此处输入图像描述

此外,我发现使用工具栏中的搜索查询 ( CTRL+Q) 并仅搜索文本非常有帮助format on paste。正如您在滚动条中看到的那样,有很多选项需要检查!

在此处输入图像描述

于 2020-11-16T17:17:19.020 回答
3

不能关闭分号或右大括号的重新格式化。我觉得微软会冒昧地告诉任何人如何格式化代码,这让我很生气。我见过的最难以辨认的代码是在那里工作的时候。

我希望相邻的作业垂直对齐;VS 将它们重新格式化为等号两侧的一个空格,而不管左侧变量的长度如何。这是不能容忍的。并且在编辑器选项上关闭它会被忽略;鉴于上述开场白之类的评论,我确信这是故意的。

一致性只有在导致理想结果时才是一种美德。这不是一个。

于 2017-08-08T05:51:10.260 回答
2

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

于 2009-04-10T10:19:10.657 回答
1

按照 TOOLS->OPTIONS->Text Editor->CSS->Formatting 选择“Compact Rules”并取消选中“Hearerchical indentation”

于 2014-01-20T10:04:22.107 回答
1

每次在 Visual Studio 2015、2017 中的 cshtml 文件中粘贴任何内容时,我都会很生气。我尝试了不同的设置,最终找到了正确的设置:选项 => 文本编辑器 => HTML => 高级 => 粘贴(粘贴时格式化)= > 错误的 在此处输入图像描述

于 2020-08-04T13:04:15.020 回答
1

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

将“工具 -> 选项 -> LLVM/Clang -> ClangFormat -> 保存时格式化 -> 启用”设置为 False 后,这种行为就消失了。

保存时的 ClangFormat 格式

于 2019-07-09T07:11:52.973 回答
0

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

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

于 2009-04-10T10:22:03.380 回答
0

您可能需要检查 Tools-> Options-> Xaml Styler -> Format xaml on save

在此处输入图像描述

于 2021-03-15T16:51:34.800 回答
0

除了 Tango 对实际解决方案的回答之外,可能还有一些人实际上想要与自动格式保持同步,但又不想让它搞砸您的相关更改。我建议您修改文件以激活自动格式化,签入这些更改,然后继续进行您希望进行的实际更改。

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

于 2016-04-19T18:24:29.587 回答