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

问题描述 投票:565回答:16

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

是否支持此功能?

visual-studio-code
16个回答
1019
投票

Folding已经推出,现在已经实现,因为Visual Studio Code version 0.10.11。这些键盘快捷键可用:

  • 折叠折叠光标最里面的未折叠区域: Ctrl + Shift + [在Windows和Linux上 ⌥+⌘+ [在macOS上
  • 展开展开光标处的折叠区域: Windows和Linux上的Ctrl + Shift +] mac +⌘+]在macOS上
  • 折叠全部折叠编辑器中的所有区域: 在Windows和Linux上按Ctrl + K,Ctrl + 0(零) 在macOS上⌘+ K,⌘+ 0(零)
  • Unfold All展开编辑器中的所有区域: 在Windows和Linux上按Ctrl + K,Ctrl + J 在macOS上⌘+ K,⌘+ J.

6
投票

使用JavaScript:

//#region REGION_NAME
   ...code here
//#endregion

4
投票

从版本1.3.1(2016-07-17)开始,Block Collapse更加方便。

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

(Ctrl + Shift + Alt +])仍将影响所有块,关闭一个级别。每次重复使用都关闭了一个级别。 (Ctrl + Shift + Alt + [)以相反的方式工作。

Hooray,块崩溃最终有效。


2
投票

在Mac上,它是RHS Command键,⌘K,而不是代码折叠命令的左侧。

否则,左手Command键将删除当前行⌘K。


1
投票

VSCode扩展:Fold Level,一个关键的折叠到你想要的水平。

enter image description here


1
投票

Visual Studio Code 1.17以来,现在支持此功能。要折叠/折叠代码块,只需添加区域标记,例如//#region my block name//#endregion(如果在TypeScript / JavaScript中编码)。

例:


0
投票

我希望Visual Studio Code能够处理:

#region Function Write-Log
Function Write-Log {
    ...
}
#endregion Function Write-Log

现在Visual Studio代码只是忽略它,不会崩溃它。同时Notepad ++和PowerGUI处理这个很好。

更新:我刚刚注意到Visual Studio Code的更新。现在支持了!


0
投票

在Windows构建中,快捷方式设置为Alt + 0


0
投票

Code folding controls inside the editor to expand nodes of XML-structured documents and source code in VsCode

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

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

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

Show code folding controls always in VsCode


183
投票

自Visual Studio Code 1.12.0版(2017年4月)起,请参阅文档中的Basic Editing > Folding部分。

默认密钥是:

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

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

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

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

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

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

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


62
投票

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

Enter image description here


57
投票

各地区的代码折叠已经到了v1.17。 Folding by regions documentation。和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

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

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

CSS/SCSS/Less:         /* #region */ and /* #endregion */ or /*#region*/ and /*#endregion*/
SCSS/Less:             // #region and // #endregion

v1.35补充:

Go:                   // region, // endregion and // #region, // #endregion

v.1.36添加了shellcript,参见[github issue:添加shellscript折叠标记] .4

shellscript:          # region and # endregion

22
投票

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

Ctrl + Shift + [:“折叠”

Ctrl + Shift + Alt + [:“折叠所有”

Ctrl + Shift +]:“Unfold”

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

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

例如:

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

19
投票

您应该添加用户设置:

{
    "editor.showFoldingControls": "always",
    "editor.folding": true,
    "editor.foldingStrategy": "indentation", 
}

15
投票

如果没有任何快捷方式正常工作(对我而言),作为解决方法,您还可以打开命令面板(Ctrl + 3或视图 - >命令调色板...)并输入fold all


12
投票

release 1.0现在支持折叠:

源代码折叠快捷方式

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

可以将级别1(Ctrl + K Ctrl + 1)折叠到级别5(Ctrl + K Ctrl + 5)。要展开,请使用展开全部(Ctrl + Shift + Alt +])。

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

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


8
投票

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

ctrl + k + 1:命名空间

ctrl + k + 2:class

ctrl + k + 3:方法

ctrl + k + 4:块

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

ctrl + k + j:UnFold

© www.soinside.com 2019 - 2024. All rights reserved.