如何在Visual Studio Code for Windows中折叠部分代码?

Nic*_*ick 656 visual-studio-code

如何折叠或折叠Visual Studio代码中的代码部分?

是否支持此功能?

Bro*_*cco 1147

Folding已经推出,现在可以在Visual Studio Code 0.10.11版本之后实现.这些键盘快捷键可用:

  • 折叠折叠光标最里面的未折叠区域:

    • Ctrl在Windows上+ Shift+[
    • macOS + +[
  • 展开展开光标处的折叠区域:

    • Ctrl在Windows上+ Shift+]
    • macOS + +]
  • 折叠全部折叠编辑器中的所有区域:

    • CtrlWindows上的+ K,Ctrl+ 0(零)
    • macOS上+ K,+ 0(零)
  • Unfold All展开编辑器中的所有区域:

    • CtrlWindows上的+ K,Ctrl+J
    • macOS上的+ K,+J

  • @Preza8 按“F1”并输入 **折叠** 或 **展开** (6认同)
  • 它基本上是Ctrl + K,Ctrl + [n],其中n是要折叠的最高层编号。因此,如果您要查找VSCode上VS(C#)的Ctrl + M,Ctrl + O等效项,则为Ctrl + K,Ctrl + 3。 (4认同)
  • 不知道是代码版本问题、Windows 版本问题还是其他问题,但在我的 PC 上,它仅适用于 Right-Ctrl。您可能要注意这一点! (3认同)
  • @DouglasGaskell 我犯了同样的错误。这是零而不是 o,迈克尔富尔顿的“折叠水平”答案对我来说更有意义。 (2认同)
  • @Preza8 它还显示当前分配的键绑定,如果没有分配,您可以自己分配。此外,可能还有一个扩展来添加自定义 GUI 按钮 (2认同)

Mic*_*ton 200

自Visual Studio Code 1.12.0版(2017年4月)起,请参阅文档中的" 基本编辑">"折叠"部分.

默认密钥是:

全部折叠:CTRL+ K,CTRL+ 0(零)

折叠等级[n]:CTRL+ K,CTRL+ [n]*

展开全部:CTRL+ K,CTRL+J

折叠区域:CTRL+ K,CTRL+[

展开区域:CTRL+ K,CTRL+]

*折叠级别:除了最外层的所有类别之外,请尝试CTRL+ K,CTRL+1

Macs:使用而不是CTRL(感谢Prajeet)

  • 折叠到级别 [n] 不会折叠光标所在的部分。这总是让我认为它没有达到我的预期。是否可以选择关闭此行为? (4认同)
  • 出于某种原因,“ctrl+k,ctrl+num”仅适用于 qwerty 以上的数字,不适用于数字键盘 (2认同)

Mar*_*ark 72

各地区的代码折叠已经到了v1.17.按地区折叠文档.并且v1.191.23.

TypeScript/JavaScript: //#region and //#endregion and //region and //endregion
C#:                    #region and #endregion
C/C++:                 #pragma region and #pragma endregion
F#:                    //#region and //#endregion
PowerShell:            #region and #endregion
Python:                #region and #endregion
VB:                    #Region and #End Region
PHP:                   #region and #endregion
Bat:                   ::#region and ::#endregion
Run Code Online (Sandbox Code Playgroud)

每种语言都有可用于标记的片段.输入"#"并调用代码完成以查看它们.要为您的语言配置区域标记,请与语言扩展提供程序联系.

v1.23添加了CSS/SCSS/Less代码折叠区域:

CSS/SCSS/Less:         /* #region */ and /* #endregion */ or /*#region*/ and /*#endregion*/
SCSS/Less:             // #region and // #endregion
Run Code Online (Sandbox Code Playgroud)

  • `// Region` 和 `// endregion` 不适用于 VS Code 版本 1.22(但尚未测试低于或高于该版本的版本)。但是 `// #region` 和 `// #endregion` 可以工作(注意两者中的 '#' 和空格)。这样,如果“spaced-comment”规则打开(即未设置为“off”或0),ESLint(如果您正在使用)将不会显示错误。 (3认同)
  • 在 CSS 中,它实际上是 `/* #region Foo Bar */` 和 `/* #endregion */` (2认同)

Bra*_*ath 67

此功能现在可在标准版本中使用.要显示折叠/展开控件,您需要将鼠标悬停在行号右侧的区域上,如此屏幕截图所示:

在此输入图像描述

  • 问题是,如何同时折叠所有部分,而不是一一折叠。有没有没有捷径的方法呢? (2认同)

Min*_*ran 23

您应该添加用户设置:

{
    "editor.showFoldingControls": "always",
    "editor.folding": true,
    "editor.foldingStrategy": "indentation", 
}
Run Code Online (Sandbox Code Playgroud)

  • “editor.foldingStrategy”是迄今为止对我最有帮助的提示。我正在编辑 Liquid 代码 (Shopify),但无法折叠我的代码。一旦我从“自动”切换到“缩进”,VS Code 就会查看缩进,而不是我正在使用的特定语言,非常有帮助,谢谢 (5认同)

Sam*_*nto 22

collapse/extend的默认快捷方式是:

{
    "key": "cmd+k cmd+m",
    "command": "editor.foldAll",
    "when": "editorFocus"
},
{
    "key": "cmd+m cmd+k",
    "command": "editor.unfoldAll",
    "when": "editorFocus"
},
Run Code Online (Sandbox Code Playgroud)

或者转到keybindings.json并根据需要进行更改.

例如:

{
    "key": "cmd+k cmd+m",
    "command": "editor.foldAll",
    "when": "editorFocus"
},
{
    "key": "cmd+m cmd+k",
    "command": "editor.unfoldAll",
    "when": "editorFocus"
},
Run Code Online (Sandbox Code Playgroud)

  • 对于*非美国键盘* `[` 和 `]` 位于 _backspace_ 键 () 的左侧。 (3认同)

Jor*_*nee 18

如果所有快捷方式都不起作用(对我而言),作为一种解决方法,您还可以打开命令面板(Ctrl+ 3或View - > Command Palette ...)并输入fold all:

在此输入图像描述


lav*_*ava 14

这是用于折叠和展开代码的最新内置(默认)键盘快捷键

vscode 键盘快捷键

在此输入图像描述

Ctrl+Shift+[ Fold (collapse) region
Ctrl+Shift+] Unfold (uncollapse) region
Ctrl+K Ctrl+[ Fold (collapse) all subregions
Ctrl+K Ctrl+] Unfold (uncollapse) all subregions
Ctrl+K Ctrl+0 Fold (collapse) all regions
Ctrl+K Ctrl+J Unfold (uncollapse) all
Run Code Online (Sandbox Code Playgroud)

Nb:但在某些情况下,您的 VS Code 扩展或用户会更改键盘绑定(快捷方式)。所以最好的选择是像这样检查

  1. 视图->命令调色板或cntrl+ shift+p
  2. 输入“fold”。它会建议折叠和展开以及快捷方式。您可以键入该快捷方式而不是命令面板

在此输入图像描述

例如:

全部折叠

在此输入图像描述

全部展开

在此输入图像描述


M K*_*aei 13

ctrl + k + 0:折叠所有级别(命名空间,类,方法,块)

Ctrl + K + 1:namspace

ctrl + k + 2:类

Ctrl + K + 3:方法

Ctrl + K + 4:块

ctrl + k + [或]:当前光标块

ctrl + k + j:展开

  • 这些仅在命名空间位于级别 1、类位于级别 2、方法位于级别 3 等情况下才有效……它按缩进级别折叠,而不是按“类型”折叠 (3认同)
  • 它实际上是成对的按键组合,而不是单个组合。例如:“CTRL”+“K”、“CTRL”+“0”(不是“CTRL”+“K”+“0”)。描述按键组合序列时的惯例是用加号显示一起按下的按键,然后用逗号显示序列组合。 (2认同)

Sti*_*ahl 12

1.0版现在支持折叠:

源代码折叠快捷方式

有新的折叠操作可根据折叠级别折叠源代码区域.

有一些动作可以将等级1(Ctrl+ K Ctrl+ 1)折叠到等级5(Ctrl+ K Ctrl+ 5).要展开,请使用展开全部(Ctrl+ Shift+ Alt+ ]).

级别折叠操作不适用于包含当前光标的区域.

]在键盘上找到按钮时遇到了问题(挪威语布局),在我的情况下,它是Å按钮.(或者从退格按钮开始向左和向下两个按钮.)


use*_*626 11

只需按ctrl + shift + p,然后输入“折叠”即可。将显示有关(取消)折叠的所有按键绑定。如果ctrl k不起作用,可能是因为 vim 扩展覆盖了该键。在这种情况下,您应该修改 settings.json (按ctrl + shift + p,然后输入 'settings' )

"vim.handleKeys": {
  "<C-k>": false,
},
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Lis*_*n E 9

这是 VSCode 最常见、有用的默认键盘映射。您可以使用自己的键盘映射轻松自定义它们。CTRL + K进而:

Fold All: CTRL + 0

Unfold All: CTRL + J

Fold Region: CTRL + [

Unfold Region: CTRL + ]

Fold Level 1: CTRL+ 1

Fold Level 2: CTRL+ 2

Fold Level 3: CTRL+ 3

Fold Level 1: CTRL+ 4
Run Code Online (Sandbox Code Playgroud)

  • 要使用这些,首先按 ctrl + k 例如要折叠全部按 ctrl + k、ctrol + 0 (4认同)

Raf*_*lli 6

使用JavaScript:

//#region REGION_NAME
   ...code here
//#endregion
Run Code Online (Sandbox Code Playgroud)


Mig*_*ito 5

从版本 1.3.1 (2016-07-17) 开始,块折叠更加方便。

任何后跟缩进行的行都会有一个“-”字符以允许折叠。如果该块被折叠,它将被替换为“+”字符,该字符将打开折叠的块。

( Ctrl+ Shift+ Alt+ ]) 仍然会影响所有方块,关闭一层。每重复使用一次,就又关上一层。( Ctrl+++ )Shift的工作方式相反。Alt[

万岁,方块崩溃终于有用了。


Mur*_*one 5

现在支持此功能,因为Visual Studio Code 1.17。折叠/折叠代码块,只需添加区域标签,如//#region my block name//#endregion如果打字稿/ JavaScript编码。

例子:

区域折叠


Tor*_*tad 5

编辑器内的代码折叠控件,用于扩展 VsCode 中 XML 结构化文档和源代码的节点

这里没有技术提示,只是简单调整 VsCode 的首选项。

通过转到“首选项”并搜索“折叠”,我设法始终在 VsCode 中显示代码折叠控件。现在只需选择始终显示这些控件。这适用于我测试过的 Angular 8 解决方案中的 Typescript 代码和模板的 HTML。

这是使用在 Windows 10 操作系统上运行的 VsCode Insiders 1.37.0 进行测试的。

始终在 VsCode 中显示代码折叠控件


Mar*_*ark 5

v1.42 对折叠的外观和功能添加了一些很好的改进。请参阅https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting

折叠范围突出显示

由于所有折叠范围的背景颜色,折叠范围现在更容易发现。

折叠高亮

折叠高亮颜色主题:Dark+

该功能由设置 editor.foldingHighlight 控制,可以使用颜色 editor.foldBackground 自定义颜色。

"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }

折叠改进

Shift + Click折叠指示器上的 仅折叠内部范围。Shift + Click再次(当所有内部范围已经折叠时)也将折叠父级。Shift + Click再次展开所有。

折叠移位点击

editor.fold已折叠的范围上使用折叠命令 (kb( ))] 时,将折叠下一个展开的父范围。


mah*_*gml 5

折叠/展开当前块使用 ( ctrl+ k)+( ctrl+ l)