如何折叠或折叠 Visual Studio Code 中的代码部分?
是否支持此功能?
Folding 已推出,现在从 Visual Studio Code version 0.10.11 开始实施。有以下可用的键盘快捷键:
Fold 折叠光标处最里面的未折叠区域: Ctrl + Shift + [ 在 Windows 和 Linux 上 ⌥ + ⌘ + [ 在 macOS 上
Ctrl + Shift + [ 在 Windows 和 Linux 上
⌥ + ⌘ + [ 在 macOS 上
Unfold 在光标处展开折叠区域: Ctrl + Shift + ] 在 Windows 和 Linux 上 ⌥ + ⌘ + ] 在 macOS 上
Ctrl + Shift + ] 在 Windows 和 Linux 上
⌥ + ⌘ + ] 在 macOS 上
Fold All 在编辑器中折叠所有区域:Windows 和 Linux 上的 Ctrl + K、Ctrl + 0(零)⌘ + K、macOS 上的⌘ +0(零)
Windows 和 Linux 上的 Ctrl + K、Ctrl + 0(零)
⌘ + K,⌘ +0(零)在 macOS 上
Unfold All 在编辑器中展开所有区域:Ctrl + K、Ctrl + J 在 Windows 和 Linux 上 ⌘ + K、⌘ + J 在 macOS 上
Windows 和 Linux 上的 Ctrl + K、Ctrl + J
⌘ + K,⌘ + J 在 macOS 上
参考资料: https://code.visualstudio.com/docs/getstarted/keybindings
自 2017 年 4 月的 Visual Studio Code 版本 1.12.0 起,请参阅文档中的 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)
ctrl+k,ctrl+num
仅适用于 qwerty 以上的数字而不适用于小键盘
另请参阅从 Insiders v1.70 开始折叠任意代码行的能力。那就是您选择的任何行都可以折叠!
有关命令和演示,请参见 https://stackoverflow.com/a/72954133/836330。
Fold Selected Lines
,editor.foldSelected
。 Ctrl+K Ctrl+.
代码折叠 区域 已随 v1.17 发布。 Folding by regions documentation。还有 v1.19 和 1.23。
[一般你可以加一个空格,例如// region and // endregion
到//region and //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+Space 以查看任何语言的区域标记。
// region
和 // endregion
不适用于 VS Code 1.22 版(但尚未测试低于或高于该版本的版本)。但 // #region
和 // #endregion
有效(注意两者中的 '#' 和空格)。这样,如果 spaced-comment
规则打开(即未设置为“关闭”或 0),ESLint(如果您正在使用)将不会显示错误。
/* #region Foo Bar */
和 /* #endregion */
//region
和 //endregion
用于 JavaScript。
<!-- #region --> elements <!-- #endregion -->
。它显示折叠部分上#region 之后的文本。它正确地从当前#region 折叠到相应的#endregion,即使有其他嵌套 - 就像任何等式中的括号一样。它记住嵌套区域的折叠设置。 Ctrl+k+Ctrl+[ 和 Ctrl+k+Ctrl+] 在光标处正确关闭/打开折叠。 (这对我来说似乎有点倒退,但是whatevah)很棒的东西!
此功能现在在标准版本中可用。要显示折叠/展开控件,您需要将鼠标悬停在行号右侧的区域上,如下图所示:
https://i.stack.imgur.com/8XhHa.png
您应该添加用户设置:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
ctrl + k + 0 :折叠所有级别(命名空间、类、方法、块)
ctrl + k + 1 :命名空间
ctrl + k + 2 :类
ctrl + k + 3 :方法
ctrl + k + 4 :块
ctrl + k + [ 或 ] :当前光标块
ctrl + k + j :展开
CTRL
+ K
、CTRL
+ 0
(不是 CTRL
+ K
+ 0
)。描述一系列按键组合时的惯例是显示按键与加号一起按下,然后是逗号组合。
折叠/扩展的默认快捷方式是:
Ctrl + Shift + [ :“折叠”
Ctrl + Shift + Alt + [ :“全部折叠”
Ctrl + Shift + ]:“展开”
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"
},
ctrl+shift+alt+[ "Unfold all"
您写的是 [
而不是 ]
。如果我错了,请纠正我。
[
和 ]
位于 退格 键 (🔙) 的左侧。
如果所有快捷方式都不起作用(就像我一样),作为一种解决方法,您还可以打开命令面板(Ctrl + 3 或查看 -> 命令面板.. .) 并输入 fold all
:
https://i.stack.imgur.com/ADNTf.png
release 1.0 现在支持折叠:
源代码折叠快捷方式 有新的折叠操作可以根据折叠级别折叠源代码区域。有将级别 1 (Ctrl+K Ctrl+1) 折叠到级别 5 (Ctrl+K Ctrl+5) 的操作。要展开,请使用全部展开 (Ctrl+Shift+Alt+])。级别折叠操作不适用于包含当前光标的区域。
我在键盘上找不到 ]
按钮(挪威布局),在我的例子中是 Å
按钮。 (或者从退格按钮开始,向左和向下两个按钮。)
使用 JavaScript:
//#region REGION_NAME
...code here
//#endregion
自 Visual Studio Code 1.17 起,现在支持此功能。要折叠/折叠您的代码块,只需添加区域标签,例如 //#region my block name
和 //#endregion
(如果使用 TypeScript/JavaScript 编码)。
例子:
https://code.visualstudio.com/assets/updates/1_17/region-folding.gif
只需按 ctrl + shift + p
,然后键入“折叠”。将显示所有关于 (un)fold 的键绑定。如果 ctrl k
不起作用,可能是因为 vim 扩展覆盖了键。在这种情况下,您应该修改 settings.json(按 ctrl + shift + p
,然后键入 'settings' )
"vim.handleKeys": {
"<C-k>": false,
},
https://i.stack.imgur.com/jT7iv.png
这是用于折叠和展开代码的最新内置(默认)键盘快捷键
https://i.stack.imgur.com/DxR0i.png
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 代码扩展或用户会更改键盘绑定(快捷方式)。所以像这样检查的最佳选择
view->command palette OR cntrl+shift+p type "fold" 。它会建议折叠和展开以及快捷方式。您可以键入该快捷方式而不是命令面板
https://i.stack.imgur.com/B7RpQ.png
例如:
全部折叠
https://i.stack.imgur.com/tcfgY.gif
展开全部
https://i.stack.imgur.com/HMxe5.gif
v1.42 对折叠的外观和功能进行了一些很好的改进。请参阅https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting:
折叠范围突出显示折叠范围现在更容易发现,这要归功于所有折叠范围的背景颜色。
https://i.stack.imgur.com/LEPVx.png
折叠高亮颜色主题:Dark+ 该功能由设置 editor.foldingHighlight 控制,颜色可以使用颜色 editor.foldBackground 自定义。 "workbench.colorCustomizations": { "editor.foldBackground": "#355000" } 折叠优化 Shift + 单击折叠指示器首先只折叠内部范围。 Shift + Click 再次(当所有内部范围都已折叠时)也将折叠父级。 Shift + 单击再次展开全部。
https://i.stack.imgur.com/3wzq1.gif
在已经折叠的范围上使用折叠命令 (kb(editor.fold))] 时,下一个展开的父范围将被折叠。
https://i.stack.imgur.com/hFXFG.gif
这里没有技术提示,只是对 VsCode 的偏好进行简单的调整。
通过转到首选项并搜索“折叠”,我设法始终在 VsCode 中显示代码折叠控件。现在只需选择始终显示这些控件。这适用于我测试过的 Angular 8 解决方案中的 Typescript 代码和模板的 HTML。
这是在 Windows 10 操作系统上运行的 VsCode Insiders 1.37.0 测试的。
https://i.stack.imgur.com/77f81.gif
从版本 1.3.1 (2016-07-17) 开始,Block Collapse 更加方便。
任何后跟缩进行的行都将带有一个“-”字符以允许折叠。如果该块被折叠,它将被替换为“+”字符,该字符将打开折叠的块。
(Ctrl + Shift + Alt + ]) 仍然会影响所有块,关闭一个级别。每次重复使用都会关闭一个级别。 (Ctrl + Shift + Alt + [) 以相反的方式工作。
万岁,块崩溃终于有用了。
这是 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
注意:这些快捷方式只有在您编辑 keybindings.json 时才能按预期工作
我对默认快捷方式不满意,我希望它们按以下方式工作:
折叠:Ctrl + Alt + ]
递归折叠: Ctrl + ⇧ Shift + Alt + ]
全部折叠: Ctrl + k 然后 Ctrl + ]
展开:Ctrl + Alt + [
递归展开:Ctrl + ⇧ Shift + Alt + [
展开全部:Ctrl + k 然后 Ctrl + [
要设置它:
打开首选项:打开键盘快捷键 (JSON) (Ctrl + ⇧ Shift + p)
将以下代码段添加到该文件 已经有折叠/展开的自定义键绑定?然后你需要更换它们。
{
"key": "ctrl+alt+]",
"command": "editor.fold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+alt+[",
"command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+]",
"command": "editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+[",
"command": "editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+[",
"command": "editor.unfoldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+]",
"command": "editor.foldAll",
"when": "editorTextFocus && foldingEnabled"
},
折叠/展开当前块使用 (ctrl
+k
)+(ctrl
+l
)
在 Mac 上,它是 RHS 命令键,⌘K,而不是代码折叠命令的左侧。
否则,左手 Command 键将删除当前行,⌘K。
我希望 Visual Studio Code 可以处理:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
现在 Visual Studio Code 只是忽略它并且不会折叠它。同时 Notepad++ 和 PowerGUI 处理得很好。
更新:我刚刚注意到 Visual Studio Code 的更新。现在支持这个!
或者,如果您想移除折叠按钮,以获得额外空间:
"editor.folding": false
(添加到您的 settings.json
文件)
不定期副业成功案例分享
Fold Level
答案对我来说更有意义。F1
并输入 Fold 或 Unfold