VSCode:如何折叠任意/手动代码行?

问题描述 投票:0回答:5

我所说的“VS Code”是指轻量级文本编辑器,而不是单一的 IDE,不幸的是,在 google 上搜索此内容会带来许多关于如何在 Visual Studio 中执行此操作的不相关信息。

对于问题本身,任何人都知道如何隐藏“Visual Studio Code”中任意选定的代码行,最好是像折叠一样隐藏在加号中?

注意:这与可能可以通过

Ctrl+K,Ctrl+<num>
实现的折叠嵌套代码不同,我这里需要的是隐藏所选的特定代码块,无论是否嵌套。

编辑:我看到有人不理解我的要求。

举个例子,你可能会认为我想要的是这样的:

隐藏之前:

for i in j:
    for k in i:
        for l in k:
            somestuff...

隐藏后:

[+] for i in j: ...

我真正想要的是这个:

隐藏之前:

# doing stuff about a
a = ClassA()
a.bar()
a.i = 2
a.j = 3
a.k = 5

隐藏后:

[+] ...  ( doing stuff about a )

2017.10.17 编辑: 事实证明,VS Code 在 VS Code 1.17.1 更新中实现了一个非常相似的功能,称为“折叠区域”。 链接

visual-studio-code text-editor
5个回答
58
投票

您可以使用以下分隔符进行代码折叠:

C/C++:       #pragma region and #pragma endregion
C#:          #region and #endregion
CSS:         /* #region */ and /* #endregion */
Java:        //region and //endregion
JavaScript:  //#region and //#endregion and //region and //endregion
PHP:         #region and #endregion
Powershell:  #region and #endregion
Python:      #region and #endregion
VB:          #Region and #End Region

参见 https://github.com/Microsoft/vscode/issues/12146([折叠]折叠区域)


22
投票

Insiders Build v1.70 现在提供了真正隐藏任意代码行的功能和命令。命令是

Create Manual Folding Range from Selection
editor.createFoldingRangeFromSelection

默认绑定Ctrl+K Ctrl+,。选择您要折叠的任何线。

您可以通过单击装订线折叠控件或当光标位于折叠线上的某处时使用此命令来展开这些线:

Remove Manual Folding Ranges
editor.removeManualFoldingRanges

以上命令默认绑定Ctrl+K Ctrl+

fold selected lines demo


12
投票

不幸的是,VSCode 目前似乎不允许您像 Visual Studio 那样通过 Ctrl+MCtrl+H 隐藏任意选择的代码。现在您可以使用代码折叠功能,该功能取决于缩进。也就是说,如果您缩进要隐藏的代码,则可以通过 Ctrl+Shift+[ 折叠它,如下所示:

code folding in vscode

显然,这对你的问题来说是一种丑陋的解决方案;它需要多个步骤并对文件进行实际更改。另外,如果您使用像 Python 这样依赖于空格的语言编写,它显然是没有用的,但我认为除了找到扩展(或自己编写一个扩展)之外,您不会找到更好的解决方案。如果此功能对您很重要,也可能值得在 官方 VSCode GitHub 存储库上发布问题。


4
投票

这里是 折叠选择的 VS Code 文档。

隐藏:突出显示要折叠的线,然后按

Ctrl+K
,然后按
Ctrl+,

要取消隐藏:只需单击折叠代码行左侧的“>”图标或按

Ctrl+K
,然后按
Ctrl+.


-1
投票

使用减少缩进的分隔符进行注释。 然后隐藏就像嵌套一样,左边有小箭头。

看这里

# Below here comes the code to hide.
    a = ClassA()
    a.bar()
    a.i = 2
    a.j = 3
    a.k = 5
© www.soinside.com 2019 - 2024. All rights reserved.