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

时间:2015-05-06 04:50:02

标签: visual-studio-code

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

是否支持此功能?

20 个答案:

答案 0 :(得分:941)

Folding已推出,现在已在Visual Studio代码version 0.10.11中实现。有这些键盘快捷键可用:

  • 折叠折叠光标最里面的未折叠区域:

    • Ctrl + Shift + [在Windows和Linux上
    • + + [ on macOS
  • 展开展开光标处的折叠区域:

      在Windows和Linux上
    • Ctrl + Shift + ]
    • mac上的
    • + + ]
  • 折叠全部折叠编辑器中的所有区域:

      在Windows和Linux上
    • Ctrl + K Ctrl + 0 (零)
    • mac上的
    • + K + 0 (零)
  • 展开全部展开编辑器中的所有区域:

      在Windows和Linux上
    • Ctrl + K Ctrl + J
    • mac上
    • + K + J

答案 1 :(得分:171)

自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

Macs:使用代替 CTRL (感谢Prajeet)

答案 2 :(得分:55)

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

enter image description here

答案 3 :(得分:44)

区域的代码折叠已通过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 /更少代码折叠区域:

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

答案 4 :(得分:21)

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

<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + [ "Fold"
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Alt</kbd> + <kbd>[</kbd> "Fold all"
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + ] "Unfold"
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Alt</kbd> + <kbd>[</kbd> "Unfold all"

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

例如:

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

答案 5 :(得分:16)

您应该添加用户设置:

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

答案 6 :(得分:12)

现在release 1.0支持折叠:

  

源代码折叠快捷方式

     

有基于的折叠源代码区域的新折叠操作   他们的折叠水平。

     

有一些动作可以将等级1( Ctrl + K Ctrl + 1 )折叠到等级5( 控制 + ķ   控制 + 5 )。要展开,请使用展开全部( Ctrl + Shift + Alt + ]

     

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

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

答案 7 :(得分:12)

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

enter image description here

答案 8 :(得分:5)

使用JavaScript:

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

答案 9 :(得分:5)

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

ctrl + k + 1:namspace

ctrl + k + 2:类

ctrl + k + 3:方法

ctrl + k + 4:块

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

ctrl + k + j:展开

答案 10 :(得分:3)

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

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

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

好吧,块崩溃终于有效了。

答案 11 :(得分:3)

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

折叠范围突出显示

由于背景颜色的缘故,现在更容易发现折叠范围 所有折叠范围。

fold highlight

折叠突出显示颜色主题:暗+

该功能由设置编辑器控制。foldingHighlight和 可以使用color editor.foldBackground自定义颜色。

"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }

折叠优化

折叠指示器上的

Shift + Click首先只折叠内部 范围。再次Shift + Click(当所有内部范围都已折叠时) 也会折叠父级。 Shift + Click再次展开所有内容。

fold shift click

在已经折叠的地方使用Fold命令(kb({editor.fold))]时 范围,下一个展开的父范围将被折叠。

答案 12 :(得分:2)

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

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

答案 13 :(得分:2)

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

答案 14 :(得分:1)

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

示例:

Region Folding

答案 15 :(得分:1)

这里是 VS 代码最常用的有用的默认键盘映射。并且您可以轻松地通过自己的键盘映射进行自定义。快乐编码???

Fold All: CTRL + 0

Unfold All: CTRL + J

Fold Region: CTRL + [

Unfold Region: CTRL + ]

Fold Level 1: CTRL+ 1

Fold Level 2: CTRL+ 2

Fold Level 3: CTRL+ 3

Fold Level 1: CTRL+ 4

答案 16 :(得分:0)

我希望Visual Studio Code可以处理:

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

现在,Visual Studio Code只会忽略它,不会将其折叠。 同时,Notepad ++和PowerGUI可以很好地处理此问题。

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

答案 17 :(得分:0)

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

答案 18 :(得分:0)

VSCode扩展名:Fold Level,一键折叠至所需级别。

enter image description here

答案 19 :(得分:0)

或者,如果您要删除折叠按钮,以获取更多空间:

"editor.folding": false

(添加到您的settings.json文件中)