ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Visual Studio 中自动格式化代码?

我知道 Visual Studio 可以自动格式化以使我的方法和循环正确缩进,但我找不到设置。

从顶部菜单:编辑 --> 高级 --> 格式化文档
2019年呢?
vs2019还是一样
您的意思是“如何通过几次击键格式化代码块”?这似乎是流行的答案所指的(而不是“你如何自动格式化”......当你输入/粘贴/等时)。
对于 Visual Studio 2017 。使用快捷键 Ctrl + Alt + Enter

R
Ronan Boiteau

格式化选择:Ctrl+K、Ctrl+F

格式化文档:Ctrl+K、Ctrl+D

请参阅 pre-defined keyboard shortcuts。 (这两个是 Edit.FormatSelectionEdit.FormatDocument。)

macOS 的注意事项

在 macOS 上,使用 CMD ⌘ 键而不是 Ctrl:

格式化选择:CMD ⌘+K、CMD ⌘+F

格式化文档:CMD ⌘+K、CMD ⌘+D


vs 2010 似乎是 ctrl + k, ctrl + d
它在 Visual Studio 2013 中使用 Ctr + K、Ctrl + D 来格式化文档。
在 VS2010 中,如果您有 Format document is not available... 错误信息,请阅读:stackoverflow.com/q/8812741/1016891
这些对于 VS2013 是准确的
我不知道为什么微软不断改变这些。为了将来参考,它可以在编辑 - > 高级 - > 格式化文档下找到。谁知道呢,他们可能会在下一次迭代中重命名该菜单。
o
ono2012

对于 Visual Studio 2010/2013/2015/2017/2019

格式化文档(Ctrl+K,Ctrl+D),即按住Ctrl,按住K,然后点击D,因为它是一个序列

格式选择 (Ctrl+K,Ctrl+F)

工具栏编辑 -> 高级(如果看不到高级,请在解决方案资源管理器中选择一个代码文件,然后重试)

当我为 C# 编码设置时,您的快捷方式可能与我的显示方式不同,但通过工具栏导航可以找到您的快捷方式。

如果它不起作用,请在代码中查找错误,例如缺少使自动格式化无法正常工作的括号


如果您发现它不起作用,请检查您的括号 {}、(),如果它对我不起作用,那是因为文件中的某处有开放括号。
有没有办法不使用键序列而仅使用键组合?
@UpulieHan我认为您可以编辑快捷方式工具>选项>环境>键盘>搜索“Edit.FormatDocument”... Ctrl+Alt+;对我来说似乎是一个可用的组合:)
如果您尝试自动格式化 HTML 代码,则此命令将不起作用,请查看 stackoverflow.com/questions/41329393/…
P
Peter Mortensen

我安装了一个名为“保存时格式化文档”的扩展程序,每次保存时都会格式化整个文档。

要在 Visual Studio 2015 或 Visual Studio 2017 中安装它,只需在工具上单击“扩展和更新...”:

https://i.stack.imgur.com/Utaiy.png

然后只需转到左侧面板的“在线”并搜索“保存时格式化文档”:

https://i.stack.imgur.com/33W00.png


您也可以通过 Visual Studio Marketplace marketplace.visualstudio.com/… 安装它
我试过了,但看起来 this issue 妨碍了我。而且我不想在清理时清理 VS 搞砸的东西。
h
hpsanampudi

转到菜单工具 → 扩展和更新并在搜索中键入“生产力”:安装“生产力动力工具 2015”重新启动 Visual Studio。转到菜单工具 → 选项 → 生产力工具 → 电源命令并选中“保存时格式化文档”:

注意:在 VS2022 中,我们没有电源命令。

如果有人想要“保存时格式化文档”和“保存时使用删除和排序”安装 VS2022 的 Mads Kristensen 扩展 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.CodeCleanupOnSave

安装此扩展程序后,它将自动“在保存时格式化文档”、“在保存时使用删除和排序”和“应用文件标题首选项”。

如果我们想自定义默认设置,请单击“配置代码清理”菜单项以添加/删除任何可用的修复程序。


如果它在打字时工作会很好,就像 VB.NET 一样:
在实际更改文件之前,必须习惯于格式化您编辑的每个新文档并提交更改,否则提交看起来很嘈杂
安装了 Visual Studio 2019 的扩展,我在 HTML 复制后看不到 powerCommands。
它适用于我,Microsoft Visual Studio Community 2019 版本 16.5.2
P
Peter Mortensen

请按照以下步骤操作:

转到菜单工具

转到选项

转到文本编辑器选项

单击您选择的语言。我以 C# 为例。

见下图:

https://i.stack.imgur.com/jS12O.png


一旦我这样做了?我看不到任何这些设置处理自动缩进?
@MrJalapeno 我完全不知道 6 年前我在这里回答了什么问题,但 34 人发现它很有用。对困惑感到抱歉。我可能误解了这个问题,在这种情况下我的答案适用,因为我的答案中有与格式相关的选项。事后看来,可以肯定地说 OP 正在寻找 ctrl+k、ctrl+d。
P
Peter Mortensen

您可以通过转到工具 → 选项 → 环境 → 键盘来定义新的键绑定:

https://i.stack.imgur.com/5Lk65.png


谢谢。对我来说 VS2005 方案中的 Ctrl E + D :)
A
Ali.Ghodrat

视觉工作室 2019 和 2022

格式化文档,按住 Ctrl 键时,先按 K,再按 D 格式化选择,按住 Ctrl 键时,先按 K,再按 F

或者只需单击编辑 => 高级 => 格式化文档/格式选择

https://i.stack.imgur.com/6PpVR.png


J
Jackson Smith

在 mac 上:Shift + Option + F

在 ubuntu 上:Ctrl + Shift + I


与这里的其他所有内容不同,这在 2021 年(Ubuntu)仍然对我有用。
我很乐意提供帮助 =)
C
Chris Catignani

在 Visual Studio 2017、2019、2022 中

格式文档是 Ctrl + E, D。

但是...如果您想将“格式化文档”按钮添加到工具栏,请执行以下操作:

右键单击工具栏。

选择“自定义..”

选择“命令”选项卡。

选择“工具栏”单选按钮。

从单选按钮旁边的下拉菜单中选择“文本编辑器”(或您希望按钮打开的任何工具栏)

现在...

单击添加命令按钮。

类别:编辑

命令:文档格式

点击确定


P
Peter Mortensen

我曾经使用这些组合。我在保存文档时自动化了这个过程。你可以试试我的扩展Format Document on Save


感谢您做一些应该只是 VS 设置中的复选框的事情!
P
Peter Mortensen

如果您显示 HTML 源代码编辑工具栏,还有一个“格式化整个文档”按钮。


那是一个非常奇怪的地方。我一直在寻找这个。
我有 VS13,该工具栏没有可用的“格式化文档”按钮。
使用 Microsoft Visual Studio Community 2015 版本 14.0.23107.0 D14REL 在提到的工具栏上有一个“格式化整个文档”按钮。
谢谢你。如果我们可以通过添加或删除按钮将其添加到其他工具栏,那就太好了>>自定义
P
Peter Mortensen

接受的答案中提供的解决方案不适用于 Microsoft Visual Studio 2012

对于 Visual Studio 2012,快捷方式为:

对于突出显示的代码块:Ctrl + K、Ctrl + F

对于文档范围的格式:Ctrl + K、Ctrl + D


其实也没有错。 CTRL + K,F 和 CTRL + E,F 都做同样的事情。如果您转到 EDIT -> Advanced,您实际上会看到列出为 CTRL + E,D 和 CTRL + E,F 的快捷方式。也可以使用 CTRL + K,C 或 CTRL + E,C 进行注释。 - 使用安装了所有最新更新的 VS2012 Premium。
@Alan006 有趣。我安装的 VS2012 Pro 说 Ctrl+ e,f/Ctrl + e,d 不是命令。
我认为这可能与您在首次启动时最初选择的环境/开发设置有关。他们都为我工作,所以我不会抱怨:D
@Alan006 是对的,VS2010 及更高版本的默认环境使用“Visual Basic”的键盘布局(检查工具-> 选项-> 键盘)。 “Visual C# 2005”的键盘绑定略有不同。
K
Kraego

由于Visual Studio 2022 17.1有一个内置功能可在保存时运行代码格式化(请参阅 devblogs.microsoft),这意味着无需安装 Format document on Save 之类的扩展程序。

https://i.stack.imgur.com/DEQon.png


P
Peter Mortensen

在 Visual Studio 2019 中,“代码清理”(RunDefaultCodeCleanup)更高级(取自 ReSharper):Ctrl + K, Ctrl + E

Options dialog box: Text EditorC#Code StyleFormatting

Visual Studio 中的自动格式化设置


P
Peter Mortensen

选择要自动缩进的文本。

单击菜单编辑 → 高级 → *格式选择,或按 Ctrl + K、Ctrl + F。格式选择将智能缩进规则应用到您正在编程的语言到所选文本。

步骤(1):Ctrl + A

步骤(2):Ctrl + K

步骤 (3):Ctrl + F


P
Peter Mortensen

在菜单工具→选项→文本编辑器下,然后转到您希望格式化的任何语言的格式→常规部分,您将找到常规。检查所有三个格式复选框。

在 menuTools → Options → Text Editor 下,然后转到您希望格式化的任何语言的 TABS 部分,您会发现 Indenting。选择智能,只要您使用其中一个关闭元素,它就会激活自动格式化; ) } 在该块内。

不需要按键。


当 VB.NET 这样做时,这并不能改善“已经搞砸”的代码。
E
Ewan

您可以通过单击最后一个工具栏按钮右侧的小下拉箭头将按钮添加到工具栏,选择“添加或删除按钮”,然后单击要为其添加勾号的按钮。您选择的按钮将出现在您的工具栏上...

https://i.stack.imgur.com/2d2gl.png

然后您只需选择文本并单击“增加缩进”或“减少缩进”按钮。我仅在 Visual Studio 2013 上对此进行了测试。


L
Lucas Bernalte

在较新的版本中,文档范围格式的快捷方式是:Shift + Alt + F


P
Peter Mortensen

右键点击:

https://i.stack.imgur.com/ZHKey.png

它适用于 Visual Studio 2015,可能是早期版本。


z
zipzit

最初的问题是“我找不到设置”。

简单的答案是:查看顶部菜单,然后

编辑 --> 高级 --> 格式化文档

您还将看到当前为该功能分配的按键。没有什么特别要记住的。如果您在不同的操作系统上使用多个开发人员环境,这真的很有帮助。


P
Peter Mortensen

选择数据并右键单击,您将找到此选项。格式文档和格式选择:

https://i.stack.imgur.com/TJh52.png


这个线程是关于 Visual Studio 的。您的评论谈到了 Visual Studio Code
P
Peter Mortensen

为了进一步了解 StarwfanaticEwan 的答案,您可以自定义 IDE 以将 any 按钮添加到 any 工具栏 - 这样您就可以添加 Format 按钮(与 HTML 源代码编辑工具栏一样)连接到任何其他工具栏(例如带有所有其他编辑控件的文本编辑,例如增加/减少缩进)。

单击工具栏右侧的箭头 → 添加或删除按钮 → 自定义... → 命令选项卡 → 按钮。

文档格式和选择格式都在编辑组下。

(在 Visual Studio 2010 和 Visual Studio 2013 中测试)


P
Peter Mortensen

在 Windows 中是 Shift + Alt + F。

但是您始终可以通过以下操作进行仔细检查。

转到菜单 View → Command Palette 或按 Ctrl + Shift + P 搜索格式化文档 您可以按它来自动格式化代码或其前面的热键。


S
Sergey Vlasov

使用 Continuous Formatting 扩展(商业,由我开发),代码会在您键入时自动格式化。


很好,应该默认包含在VS中,但是价格太高了。对于 19 欧元,我会说“太棒了!”。
x
xinthose

Visual Studio 扩展 - CodeMaid 非常好。


未找到扩展程序
有了这个扩展,你甚至可以右键文件夹,清理里面所有文件中的所有代码,非常方便。
P
Peter Mortensen

如果它仍然不起作用,那么您可以选择整个文档,复制并粘贴它,它将重新格式化。

所以 ...

Ctrl + A

Ctrl + C

Ctrl + V

这是我发现的唯一可以在 Mac 上的 Visual Studio Community Edition 中使用的东西。


佚名

您可以按 shift + alt + F。


那是针对 VSCode 的。
P
Peter Mortensen

在 Visual Studio 2015 和 2017 中用于 C# 代码。

滚动到文件末尾删除最后一个“花括号”,} 等到它上面的行显示错误替换“花括号”,} Fini。 :)


C
Community

您还可以使用 CodeMaid 扩展。

您可以从 Visual Studio Market Place 获取扩展。
这是扩展的链接。 CodeMaid


你能详细说明吗?请通过 editing your answer 回复,而不是在评论中(没有“编辑:”、“更新:”或类似内容 - 答案应该看起来好像是今天写的)。
P
Peter Mortensen

如果您负担得起(或者如果您有资格获得 30 天免费试用),JetBrains' ReSharper 可以重新格式化整个项目目录。

只需安装→右键单击目录→从上下文菜单中选择清理代码。