ChatGPT解决这个技术问题 Extra ChatGPT

命令折叠所有代码部分?

在 Visual Studio 中是否有一个命令可以折叠/展开文件中的所有代码部分?


K
Krist0f

CTRL + M + O 将全部折叠。

CTRL + M + L 将全部展开。 (在 VS 2013 中 - 切换所有大纲)

CTRL + M + P 将展开所有并禁用大纲。

CTRL + M + M 将折叠/展开当前部分。

CTRL + M + A 即使在 Html 文件中也会全部折叠。

这些控件也在大纲下的上下文菜单中。

在编辑器中右键单击 -> 大纲以找到这些控件。 (禁用大纲后,使用相同的步骤启用大纲。)

对于大纲选项:转到工具 -> 选项 -> 文本编辑器 -> C# -> 高级 -> 大纲选项。

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


您也可以在编辑器中右键单击并选择:大纲 -> 切换所有大纲
ctrl+m ctrl+o 是“折叠到定义”,在编辑 xml 文件时不起作用。对我来说 ctrl+m ctrl+l 展开所有并折叠所有(作为切换),但并非总是如此。我打开了一个文件,它可以工作,一个文件只展开所有文件,而不是全部折叠。两者都是xml文件。不知道为什么。
只是为了通知(虽然这很老了): ctrl + m + o 只折叠所有功能,而不是类(或区域等)。 ctrl +m + L 将切换展开,折叠所有内容。
值得一提的是,这些也适用于 Visual Studio 2012
在 VisualStudio 2013 中 ctrl+M+L 切换折叠状态, ctrol+M+O 不执行任何操作(HTML VIEW)
P
Peter Ivan

以下组合键用于执行操作:

CTRL + M + M → 折叠/展开当前预设区域(例如方法)

CTRL + M + H → 折叠/隐藏(展开)当前选择

CTRL + M + O → 全部折叠(折叠声明主体)

CTRL + M + A → 全部折叠

CTRL + M + X → 展开全部

CTRL + M + L → 切换所有

在大纲下的上下文菜单中有一些选项。


Ctrl-M,L 是 Toggle all,但绝对是 Ctrl-M,A 和 Ctrl-M,X 是我正在寻找的...
很容易记住的好主意。
J
Josh Correia

CTRL + M + L 展开所有

CTRL + M + O 折叠所有

在 MSDN 文章 "Default Keyboard Shortcuts in Visual Studio," 中,如果您正在寻找其他快捷方式,请参阅第 "Text Editor" 部分 - 这两个只是众多可用快捷方式中的一小部分。


正如我在最佳答案中评论的那样, ctl+m+o 折叠为不适用于 xml 文件的定义。 ctl+m+l 应该切换它,但对我来说它有时会,有时不会。
普通页面 crtl+m+o 折叠,JScript 外挂是向后的,对于我来说,crtl+m+o 扩展,而 crtl+M+l 扩展。
J
Josh Correia

CTRL+M 扩展区域。

CTRL+L 折叠区域。


但它只是在使用 js 大纲扩展时有用的命令,而且我有 1000+ 行 js 文件,这个快捷方式是一个**节省器!
并且适用于 XML!呜呜呜!! (+1 纯粹出于技术原因;我很乐意向您支付一些代表 :) 这将进入我的常规备忘单
A
AvatarOfChronos

折叠/展开当前代码块 – Ctrl+M, Ctrl+M

全部展开 - Ctrl+M、Ctrl+L

停止大纲 - Ctrl+M、Ctrl+P

全部折叠 – Ctrl+M, Ctrl+O


G
Gelásio

在 Visual Studio 2017 中,似乎默认情况下此行为已关闭。它可以在工具>选项>文本编辑器>C#>高级>大纲>“折叠到定义时折叠#regions”下启用


J
Josh Correia

CTRL + M + A 折叠所有

为我工作,而

CTRL + M + O

才不是


J
Josh Correia

CTRL + A

然后

CTRL + M + M

压缩 XML 文件中的所有内容,包括子节点。


M
Matthew Layton

如果您的意思是快捷方式,那么

CTRL + M + M:这将折叠您的光标所在的区域,无论它是方法、命名空间还是用于折叠代码块、区域和方法的任何东西。第一个将仅折叠光标所在的块/方法或区域,而第二个将折叠您所在的整个区域。

http://www.dev102.com/2008/05/06/11-more-visual-studio-shortcuts-you-should-know/


J
Josh Correia

在 Visual Studio 2013 中:

CTRL + M + A 折叠所有

CTRL + M + L 展开所有


l
lime

你指的是切换大纲吗?

你可以这样做: Control + M 然后 Control + L 切换所有大纲


x
xameeramir

以下是您想要的所有内容:

折叠/展开当前方法

CTRL + M + M

折叠/展开当前选择

CTRL + M + H

全部收缩

CTRL + M + O

CTRL + M + A

展开全部

CTRL + M + X

CTRL + M + L


x
xameeramir

要折叠所有使用:

Ctrl + M 和 Ctrl + A

http://visualstudioshortcuts.com/2013/ 提供 VS 2012/2013/2015 的所有快捷方式


N
Nipun Wijerathne

这些都不适合我。我发现,在编辑器中,在 Keyboard Shortcuts 文件中搜索 editor.foldRecursively。这将为您提供最新的绑定。就我而言,它是 CMD + KCMD + [


谢谢。这可能是最新的捷径
J
Juned Ansari

如果您想折叠和展开特定循环,否则请安装以下 Visual Studio 插件。

VS2010

VS2012

VS2013

VS2015

https://i.stack.imgur.com/13rJD.png


A
Agilanbu

全部折叠 - Ctrl + M + O

全部展开 - Ctrl + M + L


A
Abdulhameed

在升级到 Visual Studio 2010、2012、2013 或 2015 的情况下,有一个 Visual Studio 扩展来显示当前注册的键盘快捷键 IntelliCommand


D
DavidRR

Visual Studio 可以通过几种不同的方式帮助您找到问题的答案。

键入 Ctrl + Q 以访问 Quick Launch,然后输入“collap”。快速启动将显示如下内容:

Menus (1)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
NuGet Packages (1)
    Search Online for NuGet Packages matching 'collap'

从那里,输入“大纲”以查找与大纲相关的其他菜单条目:

Menus (5)
    Edit -> Outlining -> Toggle Outlining Expansion (Ctrl+M, Ctrl+M)
    Edit -> Outlining -> Toggle All Outlining (Ctrl+M, Ctrl+L)
    Edit -> Outlining -> Stop Outlining (Ctrl+M, Ctrl+P)
    Edit -> Outlining -> Stop Hiding Current (Ctrl+M, Ctrl+U)
    Edit -> Outlining -> Collapse to Definitions (Ctrl+M, Ctrl+O)
Options (4)
    Text Editor -> Basic -> VB Specific (Change outline mode, Automatic inser...
    ...

但是,请注意,快速启动将仅向您显示那些可用作 Visual Studio 菜单条目的命令。要查找与折叠代码部分相关的其他键盘相关命令,请在 Visual Studio 菜单栏中单击:

Tools -> Options -> Environment -> Keyboard

这将在“选项”对话框中显示键盘部分。在“显示包含的命令”文本框中,输入“edit.collap”。 Visual Studio 将显示一个类似于以下内容的列表:

Edit.CollapseAllincurrentblock    
Edit.CollapseAllOutlining           Ctrl+M, Ctrl+A (Text Editor)
Edit.CollapseBlockcurrentblock
Edit.CollapseCurrentRegion          Ctrl+M, Ctrl+S (Text Editor)
Edit.CollapseTag                    Ctrl+M, Ctrl+T (Text Editor)
Edit.CollapsetoDefinitions          Ctrl+M, Ctrl+O (Text Editor)

您需要单击每个命令以查看其关联的键盘快捷键。

† 我的示例取自 Visual Studio 2013。


N
Neel Dsouza

对于 Visual Studio 2021 更新。

我已经阅读了所有答案,但没有一个对我有用。

因此,发布一个简单的方法来查找快捷方式,因为此快捷方式因版本而异。转到帮助键盘快捷键首选项 (Ctrl + K Ctrl + R) 它将带您进入包含所有快捷键的pdf。因此,搜索您想要的快捷方式 fold/collapse 并在您的函数中使用它。

CTRL+Shift+[ → 折叠(折叠)区域

CTRL+Shift+] → 展开(展开)区域

CTRL+K CTRL+[ → 折叠(折叠)所有子区域

CTRL+K CTRL+] → 展开(展开)所有子区域

CTRL+K CTRL+0 → 折叠(折叠)所有区域

CTRL+K CTRL+J → 展开(展开)所有区域

获得快捷键后,您可以转到键盘快捷键(Ctrl + K Ctrl + S)并搜索快捷键并将其替换为所需的键。


注意:Ctrl + 0 是 Control + Zero 不是 Control + Ohh
A
Andrew

在 Visual Studio 2019 中:

转到工具 > 选项 > 键盘。

搜索 Edit.ToggleAllOutlining

使用那里列出的快捷方式,或为其指定选择的快捷方式。


A
Adrian Mole

简而言之,通过“工具...设置”:

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


您的答案可以通过额外的支持信息得到改进。请edit添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。您可以找到有关如何写出好答案的更多信息in the help center
A
Agilanbu

如果您想要 collapse/expand class/method 中的一个区域(而不是折叠整个 class/method),您可以创建自定义区域,如下所示:

 #region AnyNameforCollapsableRegion

 //Code to collapse

 #endregion 

Reference


这根本不是地区的用途。区域是为了代码的可维护性和可读性,应该用于对方法、类等进行分组。