你如何在VS Code中隐藏任意代码段?

Saj*_*uuk 7 text-editor visual-studio-code

通过"VS Code"我的意思是轻量级文本编辑器而不是单片IDE,不幸的是在google上搜索它会带来很多关于如何在Visual Studio中执行此操作的无关信息.

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

注意:这与折叠嵌套代码不同,这可能是通过实现Ctrl+K,Ctrl+<num>,我需要的是隐藏特定的代码块,无论嵌套与否.

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

例如,你可能认为我想要的是这个:

隐藏之前:

for i in j:
    for k in i:
        for l in k:
            somestuff...
Run Code Online (Sandbox Code Playgroud)

隐藏后:

[+] for i in j: ...
Run Code Online (Sandbox Code Playgroud)

我真正想要的是这个:

隐藏之前:

# doing stuff about a
a = ClassA()
a.bar()
a.i = 2
a.j = 3
a.k = 5
Run Code Online (Sandbox Code Playgroud)

隐藏后:

[+] ...  ( doing stuff about a )
Run Code Online (Sandbox Code Playgroud)

2017.10.17编辑:结果显示VS Code在VS Code 1.17.1更新中实现了一个非常类似的称为"折叠区域"的功能.链接

Mar*_*ark 19

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

Create Manual Folding Range from Selection
editor.createFoldingRangeFromSelection
Run Code Online (Sandbox Code Playgroud)

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

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

Remove Manual Folding Ranges
editor.removeManualFoldingRanges
Run Code Online (Sandbox Code Playgroud)

上面的命令默认绑定到++ CtrlK Ctrl.

折叠选定的行演示


Bri*_*rns 12

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

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
Run Code Online (Sandbox Code Playgroud)

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


Nac*_*ota 10

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

vscode中的代码折叠

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