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

支持该特性吗?


当前回答

自Visual Studio Code版本0.10.11以来,折叠功能已经推出并实现。有以下快捷键可用:

Fold在光标处折叠最里面的未折叠区域: 在Windows和Linux上按Ctrl + Shift + [ macOS上的` ` ` ` ` ` ` ` ` ` ` ` ` 展开光标处的折叠区域: 在Windows和Linux中使用Ctrl + Shift +] macOS上的` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` 折叠编辑器中的所有区域: 在Windows和Linux中,Ctrl + K, Ctrl + 0(零) 在macOS上⌘+ K,⌘+0(零) 展开全部在编辑器中展开所有区域: Windows和Linux下的Ctrl + K, Ctrl + J 在macOS上⌘+ K,⌘+ J


引用:https://code.visualstudio.com/docs/getstarted/keybindings

其他回答

只需按ctrl + shift + p,然后输入'fold'。 将显示所有关于(un)fold的键绑定。 如果ctrl k不起作用,可能是因为vim扩展覆盖了键。 在这种情况下,您应该修改设置。Json(按CTRL + shift + p,然后键入'settings')

"vim.handleKeys": {
  "<C-k>": false,
},

更多信息在这里:区域扩展https://marketplace.visualstudio.com/items?itemName=maptz.regionfolder

在安装扩展并使用python之后,它是这样工作的:

# region ARBITRARY_REGION_NAME

   code goes here...

# endregion

同样,选择想要的区域,使用Ctrl+M+Ctrl+R。(即:先按住Ctrl键,再按m键,放开m键,再按r键,全部放开)

这是用于折叠和展开代码的最新内置(默认)键盘快捷键

键盘快捷键

Ctrl+Shift+[ Fold (collapse) region
Ctrl+Shift+] Unfold (uncollapse) region
Ctrl+K Ctrl+[ Fold (collapse) all subregions
Ctrl+K Ctrl+] Unfold (uncollapse) all subregions
Ctrl+K Ctrl+0 Fold (collapse) all regions
Ctrl+K Ctrl+J Unfold (uncollapse) all

注意:但在某些情况下,你的vs code扩展或用户将改变键盘绑定(快捷键)。所以最好的选择是这样的

view->命令面板OR cntrl+shift+p . view->命令面板 输入“fold”,它会提示折叠和展开以及快捷方式。您可以键入快捷方式,而不是命令面板

eg:

折叠所有

展开所有

还可以从Insiders v1.70开始查看折叠任意行代码的功能。也就是说你选择的任何线都可以折叠!

命令和演示请参见https://stackoverflow.com/a/72954133/836330。

创建手动折叠范围从选择 editor.createFoldingRangeFromSelection

这是绑定到上面的创建命令:Ctrl+K Ctrl+,

移除手动折叠架 editor.removeManualFoldingRanges

这是绑定到上面的删除命令:Ctrl+K Ctrl+。


按区域进行代码折叠是在1.17版本中实现的。按区域文档折叠。以及v1.19和1.23。

[通常你可以添加一个空格,例如//region和//endregion到//region和//endregion,它也可以工作。]

TypeScript/JavaScript: //#region and //#endregion or // #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 or REM #region and REM #endregion
Markdown:              <!-- #region --> and <!-- #endregion -->
Golang                 //region and //endregion or //#region and //#endregion
Java                   //#region and //#endregion
CSS/SCSS/Less:         /* #region */ and /* #endregion */ or /*#region*/ and /*#endregion*/
SCSS/Less:             // #region and // #endregion
Go:                    // region, // endregion and // #region, // #endregion
shellscript:           # region and # endregion
Perl5                  #region and #endregion or =pod and =cut  
sql                    --#region and --#endregion

重要提示:如果你没有在列表中看到你的语言::

每种语言都有标记可用的代码片段。输入'#'并调用代码补全来查看它们。若要为您的语言配置区域标记,请与语言扩展提供商联系。

所以键入#,然后Ctrl+空格来查看任何语言的区域标记。


折叠/展开当前块使用(ctrl+k)+(ctrl+l)