折叠 Visual Studio Code 中的所有方法 [重复]
Posted
技术标签:
【中文标题】折叠 Visual Studio Code 中的所有方法 [重复]【英文标题】:Collapse all methods in Visual Studio Code [duplicate] 【发布时间】:2017-07-28 09:23:45 【问题描述】:在 Visual Studio Professional 中,我们有一个快捷键,Ctrl + M Ctrl + O 折叠类中的所有方法和属性。如何在 Visual Studio Code 中做类似的事情?
我知道有Ctrl + Shift + [这样的快捷键,但这不符合需要。
是否可以在 Visual Studio Code 中获得类似 Visual Studio Professional 的行为?
【问题讨论】:
查看此链接***.com/questions/30067767/… 好问题但是你能标记答案吗?我认为他们值得称赞。 您也可以在编辑时按 F1,然后在搜索栏中输入折叠或展开,您会看到可点击的选项来执行以下所有操作,它还会显示键盘快捷键。 cmd + shift + p (然后搜索“fold”找到它甚至选择它) 【参考方案1】:全部折叠:
Windows:Ctrl + K Ctrl +0
Mac:⌘ + K ⌘ + 0
全部展开:
Windows:Ctrl + K Ctrl + J Mac:⌘ + K ⌘ + J要在编辑器中查看所有可用的快捷方式:
Windows:Ctrl + K Ctrl + S Mac:⌘ + K ⌘ + SVisual Studio Code 团队保持最新的所有快捷方式:Visual Studio Code Shortcuts
【讨论】:
感谢 Cmd+k Cmd+S 打开快捷键设置。真的很有帮助。 对于那些像我一样困惑的人,那是零,而不是 o。 不幸的是,这不适用于当前版本,如 1.41+(甚至更低版本)。无论如何 - 发布的图片似乎仍然是正确的,因为您必须按住 Ctrl。然后按 K,松开 Ctrl,再次按住它,然后按其他键之一,如 O、1、2 等等!按下 Ctrl.+K,释放所有内容,然后按下 S,例如“全部保存”。 Ctrl 的释放和按下。再次在这里很重要并且有所作为!请参阅下面的一些答案... 似乎是对longcuts
的快捷方式。 :)。
@Satria 您关于 [control + k, 1] 和 [control + k, control + 1] 是两个不同的快捷方式的说法是正确的,并且有用地指出这个答案并不像它那样清楚应该。但是,您需要在 k 和 1 之间释放并重新按下控制以激活后一个快捷方式的说法是错误的。您可以在按下并释放 k 的同时按住 control,然后按下并释放 1 以激活快捷键 [control + k, control + 1]。只是想澄清一下。【参考方案2】:
Ctrl + K + 0:折叠所有层级(命名空间、类、方法和块)
Ctrl + K + 1: 命名空间
Ctrl + K + 2:类
Ctrl + K + 3:方法
Ctrl + K + 4:块
Ctrl + K + [ 或 Ctrl + k + ]: 当前光标块
Ctrl + K + j: 展开
【讨论】:
顺便说一句,对于我们这些在 OSX 上的人,使用 cmd 代替 ctrl 这应该是公认的答案,因为“折叠所有”显然与“折叠所有方法和属性”不同,这完美地回答了这个问题 听起来Ctrl + K + 3
在Java 中不能正常工作,在方法中折叠for 循环而不是折叠方法本身。多次尝试。【参考方案3】:
像这样? (Visual Studio 代码版本 0.10.11)
全部折叠 (Ctrl+K Ctrl+0)
全部展开 (Ctrl+K Ctrl+J)
折叠层数 n (Ctrl+K Ctrl+N)
【讨论】:
很遗憾没有。这个折叠所有内容,包括类本身、方法、if-else 条件和方法内的循环。在 VS Professional 中,它只是折叠方法。当我们打开一个方法时,它会完全打开。 添加了“折叠级别”快捷方式。也许这就是你要找的东西? @eadam 在打字稿文件中,Ctrl + K, 2
正是为我做的。
这个答案既简洁又完全正确/清晰。大多数其他人,包括接受的答案,都无法解决快捷方式 [control + k, 0] 和 [control + k, control + 0] 之间的歧义。
ctrl+n 是快捷方式。编辑答案使其成为[n]。 “折叠级别 n (Ctrl+K Ctrl+[ n ] )”。或者告诉那里 N=any number【参考方案4】:
Visual Studio Code 的美妙之处在于
Ctrl + Shift + P
点击它并搜索您想要的任何内容。
在你的情况下,点击 Ctrl + Shift + P 并输入 fold all。
【讨论】:
Cmd + Shift + p 适用于 Mac 用户。 对我来说最好的答案! 这是用于视觉工作室折叠的最佳方法。 对我来说也是最佳答案。不过我更喜欢使用 F1 键。 有些事情我仍然使用组合键,但习惯 Cmd + P 和 Cmd + Shift + P 是迄今为止我的 VSCode 工作流程中发生过的最好的事情。【参考方案5】:Mac 用户
折叠命令
展开命令
【讨论】:
For dummies => 按⌘+K
然后把手从按键上移开并按⌘+0
全部折叠–【参考方案6】:
Ctrl+K, Ctrl+1 然后Ctrl+K, Ctrl+2 将接近你想要的。
第一个命令折叠级别 1(通常是类),第二个命令折叠级别 2(通常是方法)。
您甚至会发现跳过第一个命令很有用。
【讨论】:
你说的是什么意思“会做你想要的。”(似乎难以理解)? @PeterMortensen - 在英语中,这个结构基本上解析为“[这个建议]将[完成类似于]你想要[完成]的事情。”他是说该建议将(完成)接近(类似于)OP 想要的(他想做的事情)。 当前版本 1.42.1 的正确和准确答案,因为它有助于理解,您必须释放 Ctrl。并在每个 K 和 1 键之前再次按住它! thx,Ctrl
+K
, Ctrl
+2
2020 年 5 月完成这项工作
如果它已经完全折叠,首先将Ctrl
+K
,Ctrl
+J
改为“全部展开”。然后执行上述命令之一,仅扩展您想要的级别。否则,您可能会发现每个方法的内容都在块级别折叠,需要展开每个块。【参考方案7】:
使用 Ctrl + K + 0 折叠所有和 Ctrl + K + J 展开全部。
【讨论】:
@SunilGarg 您可以使用 Ctrl + Shift + [ 折叠单个代码块和 Ctrl + Shift + ] 展开 使用 Ctrl + K + / 旧的所有 cmets 多行。【参考方案8】:Collapse All 在 Visual Studio Code 中是 Fold All。
按 Ctrl + K + S 进行所有设置。分配一个你想要的键 全部折叠。默认情况下是 Ctrl + K + 0。
【讨论】:
这不会带来价值,因为这已经在其他赞成的答案中讨论过。 @Nilambar 我不同意。这是帮助我快速更改键绑定的唯一答案。【参考方案9】:您应该添加用户设置:
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
【讨论】:
我已经尝试过几次。不确定这些设置有何帮助。我注意到更多 - 符号按钮,但仅此而已。这似乎没有完成关闭或打开“所有”块。 @Urasquirrel 我认为第一行只显示所有这些图标,而不是仅在您将鼠标悬停在行号附近的薄空间上时才显示它们。缩进 foldStrategy 似乎是默认设置,因为我自己没有更改,所以你没有注意到任何东西。不确定折叠的作用。 @JakeT。谢谢!这更有意义。我有点想通第一个。我希望有一种方法可以在您打开文件时自动折叠所有块或特定类型的代码。例如,文件顶部的打字稿界面非常烦人。当我悬停一个界面时,我可以看到它的定义,因此我不需要打开它们并占用空间。 @Urasquirrel 没问题。我不知道对打开/关闭哪些类型进行细化是否可行,但上面的答案(***.com/a/43710782/4544328)将向您展示如何关闭所有,然后您可以根据需要使用命令打开单个块在编辑代码时。这是我发现的最省力的解决方案。【参考方案10】:我最近做了一个扩展,用于将 C# 代码折叠到定义中,因为我也缺少 Visual Studio 中的该功能。只需查找“Fold to Definitions”即可找到它,或者直接关注this link。
存储库是公开的,因此您可以轻松检查 extension.ts
文件并将其调整为其他语言。它远非完美,但它可以完成工作。它使用正则表达式来查找方法、属性和类,然后将选择移动到这些行并执行折叠命令。
【讨论】:
【参考方案11】:在 Visual Studio Code 编辑器中折叠方法:
-
右键单击文档中的任意位置并选择“格式化文档”选项。
然后将鼠标悬停在数字行旁边,您将看到折叠方法的 (-) 符号。
注意:根据 Visual Studio Code 文档,折叠区域从一行的缩进小于后面一行或多行时开始,并在一行缩进相同或更小的行结束时结束。
【讨论】:
有没有办法让这项工作更智能。当您拥有 TypeScript 时, 符号不仅仅表示函数/方法。通常它也与对象、if/else 语句相关 - 突然间,所有这些都被折叠了。 OP 和提出这个问题的人正在寻找捷径来做你所描述的事情。手动折叠每个代码块是一项繁琐的任务。以上是关于折叠 Visual Studio Code 中的所有方法 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio Code 中隐藏缩进指南?
Visual Studio 2012(C#)中的可折叠(条件、循环)块[重复]
如何在 Visual Studio 2008 中折叠选定的代码块?