如何在Visual Studio代码中折叠或折叠代码节?

支持该特性吗?


当前回答

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

键盘快捷键

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

注意:但在某些情况下,你的vs code扩展或用户将改变键盘绑定(快捷键)。所以最好的选择是这样的

view->命令面板OR cntrl+shift+p . view->命令面板 输入“fold”,它会提示折叠和展开以及快捷方式。您可以键入快捷方式,而不是命令面板

eg:

折叠所有

展开所有

其他回答

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

这里没有技术技巧,只是简单地调整了VsCode的首选项。

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

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

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

折叠范围高亮显示 由于背景色,折叠范围现在更容易发现 对于所有折叠范围。

主题:深色+ 该功能由设置编辑器控制。foldingHighlight和 颜色可以用color editor.foldBackground定制。 “工作台。colorCustomizations ": { “编辑器。foldBackground": "#355000"} 折叠细化 Shift +点击折叠指示器,首先只折叠内层 范围。Shift +再次点击(当所有内层范围都已经折叠时) 也会折叠父元素。Shift +点击再次展开全部。

当对已经折叠的文件使用折叠命令(kb(editor.fold))]时 范围,下一个展开的父范围将被折叠。

默认的折叠/扩展快捷方式是:

Ctrl + Shift +[: "折叠"

按下Ctrl + Shift + Alt +[:“全部折叠”

Ctrl + Shift +]:“展开”

按下Ctrl + Shift + Alt +]:“全部展开”

或者去键绑定。Json和更改,如你所愿。

例如:

{
    "key": "cmd+k cmd+m",
    "command": "editor.foldAll",
    "when": "editorFocus"
},
{
    "key": "cmd+m cmd+k",
    "command": "editor.unfoldAll",
    "when": "editorFocus"
},

注意:这些快捷方式只有在编辑keybindings.json时才能正常工作

我不喜欢默认的快捷方式,我想让他们工作如下:

折叠:Ctrl + Alt +] 使用Ctrl + Shift + Alt + 全部折叠:Ctrl + k然后Ctrl +] 展开:Ctrl + Alt + [ 用Ctrl + Shift + Alt + [ 全部展开:Ctrl + k然后Ctrl + [

设置方法:

打开快捷键(JSON) (Ctrl + Shift + p) 将以下代码片段添加到该文件中 已经为折叠/展开自定义键绑定?然后你需要更换它们。

    {
        "key": "ctrl+alt+]",
        "command": "editor.fold",
        "when": "editorTextFocus && foldingEnabled"
    },
    {
        "key": "ctrl+alt+[",
        "command": "editor.unfold",
        "when": "editorTextFocus && foldingEnabled"
    },
    {
        "key": "ctrl+shift+alt+]",
        "command": "editor.foldRecursively",
        "when": "editorTextFocus && foldingEnabled"
    },
    {
        "key": "ctrl+shift+alt+[",
        "command": "editor.unfoldRecursively",
        "when": "editorTextFocus && foldingEnabled"
    },
    {
        "key": "ctrl+k ctrl+[",
        "command": "editor.unfoldAll",
        "when": "editorTextFocus && foldingEnabled"
    },
    {
        "key": "ctrl+k ctrl+]",
        "command": "editor.foldAll",
        "when": "editorTextFocus && foldingEnabled"
    },