如何在VS Code中隐藏任意代码部分?

28

通过“VS Code”,我指的是轻量级文本编辑器而不是庞大的IDE,不幸的是在谷歌搜索这个问题会得到许多关于如何在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更新中。 链接


请看 https://dev59.com/Tl0a5IYBdhLWcg3wqaRS#46597272 - Mark
5个回答

55

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

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([folding] fold regions)


希望它能在会话之间保持折叠状态。不喜欢我的秘密密钥在显示器上可见 :\ - Albert Renshaw

15

在Insiders Build v1.70中,现在有真正隐藏任意代码行的功能和命令。该命令是:

Create Manual Folding Range from Selection
editor.createFoldingRangeFromSelection

默认情况下,它绑定到 Ctrl+K Ctrl+,。选择任何你想要折叠的行。

当光标在折叠的行上时,你可以通过点击装订线控件或这个命令来展开这些行:

Remove Manual Folding Ranges
editor.removeManualFoldingRanges

默认情况下,上述命令绑定到Ctrl+K Ctrl+.

折叠选定行演示


12

很遗憾,目前看起来VSCode不支持像Visual Studio那样通过Ctrl+M,Ctrl+H来隐藏任意代码选择。目前,您可以使用代码折叠功能,该功能取决于缩进。也就是说,如果您缩进要隐藏的代码,则可以通过Ctrl+Shift+[来折叠它,如下所示:

code folding in vscode

显然,这是一个比较丑陋的解决方案;它需要多个步骤,并对文件进行实际更改。此外,在像Python这样依赖空格的语言中写作时,显然是无用的。不过,除非找到扩展程序(或自行编写),否则我认为您不会找到更好的解决方案。如果此功能对您很重要,您还可以在官方VSCode GitHub存储库上发布问题。


回顾你的答案在当时是创意十足且几乎正确的,很抱歉我没有选择你,因为这在一些缩进敏感的语言中可能不起作用。 - Sajuuk
@Sajuuk 不用担心,我已经在答案中考虑到了那一点。理想情况下,这应该是VSCode自己完成的事情。 - Nacimota
现在正在分析一些C代码,并尝试隐藏代码块,而不仅仅是折叠它。由于某种原因,缩进技巧没有起作用,但我在想要隐藏的代码块周围添加了#if 1#endif,这样就完成了:)感谢您提供的想法! - Dave Ceddia

3

这里是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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接