如何折叠 Visual Studio 代码 Windows 中的代码段?
How do I collapse sections of code in Visual Studio Code for Windows?
如何折叠或折叠 Visual Studio 代码中的代码段?
是否支持此功能?
Folding has been rolled out and is now implemented since Visual Studio Code version 0.10.11。有这些可用的键盘快捷键:
Fold 折叠光标处最里面未折叠的区域:
- Ctrl + Shift + [ 在 Windows 和 Linux
- ⌥ + ⌘ + [ macOS
展开展开光标处的折叠区域:
- Ctrl + Shift + ] 在 Windows 和 Linux
- ⌥ + ⌘ + ] macOS
全部折叠 折叠编辑器中的所有区域:
- Ctrl + K, Ctrl + 0(零)在 Windows 和 Linux
- ⌘ + K, ⌘ +0(零)在 macOS
全部展开 在编辑器中展开所有区域:
- Ctrl + K, Ctrl + J 在 Windows 和 Linux
- ⌘ + K, ⌘ + J 在 macOS 上
参考文献: https://code.visualstudio.com/docs/getstarted/keybindings
collapse/extend 的默认快捷方式是:
Ctrl + Shift + [ : "Fold"
Ctrl + Shift + Alt + [ : "Fold all"
Ctrl + Shift + ] : "Unfold"
Ctrl + Shift + Alt + ] : "Unfold all"
或转到 keybindings.json 并根据需要进行更改。
例如:
{
"key": "cmd+k cmd+m",
"command": "editor.foldAll",
"when": "editorFocus"
},
{
"key": "cmd+m cmd+k",
"command": "editor.unfoldAll",
"when": "editorFocus"
},
release 1.0现在支持折叠:
Source Code Folding Shortcuts
There are new folding actions to collapse source code regions based on
their folding level.
There are actions to fold level 1 (Ctrl+K Ctrl+1) to level 5 (Ctrl+K
Ctrl+5). To unfold, use Unfold All (Ctrl+Shift+Alt+]).
The level folding actions do not apply to region containing the
current cursor.
我在键盘(挪威语布局)上找不到 ]
按钮,在我的例子中是 Å
按钮。 (或者从退格按钮开始向左两个按钮和一个向下按钮。)
截至 Visual Studio 代码版本 1.12.0,2017 年 4 月,请参阅文档中的 Basic Editing > Folding 部分。
默认键是:
Fold All: CTRL+K, CTRL+0 (zero)
Fold Level [n]: CTRL+K, CTRL+[n]*
Unfold All: CTRL+K, CTRL+J
Fold Region: CTRL+K, CTRL+[
Unfold Region: CTRL+K, CTRL+]
*折叠级别:除了最外面的 类 之外的所有折叠,尝试 CTRL+K, CTRL+1
Mac:使用 ⌘ 而不是 CTRL(感谢 Prajeet)
自1.3.1版本(2016-07-17)起,Block Collapse更加方便。
缩进行后的任何行都会有一个“-”字符以允许折叠。如果块被折叠,它将被一个“+”字符替换,这将打开折叠的块。
(Ctrl + Shift + Alt + ]) 仍然会影响所有块,关闭一层。每次重复使用都会关闭一个级别。 (Ctrl + Shift + Alt + [)以相反的方式工作。
万岁,块崩溃终于有用了。
此功能现已在标准版本中提供。要显示 collapse/expand 控件,您需要将鼠标悬停在行号右侧的区域上,如以下屏幕截图所示:
在Mac上,是RHS命令键,⌘K,不是代码折叠命令的左边.
否则左手Command键会删除当前行,⌘K.
regions 的代码折叠已随 v1.17 一起推出。 Folding by regions documentation. And v1.19 and 1.23.
[一般可以加一个space,比如// 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
重要提示:如果您没有在列表中看到您的语言::
Each language also has snippets available for the markers. Type '#' and invoke code completion to see them. To have region markers configured for your language, contact the language extension provider.
因此键入 #
,然后键入 Ctrl+Space 以查看任何语言的区域标记。
自 Visual Studio Code 1.17 起,现在支持此功能。要 fold/collapse 您的代码块,只需添加区域标签,例如 //#region my block name
和 //#endregion
如果在 TypeScript/JavaScript 中编码。
示例:
与JavaScript:
//#region REGION_NAME
...code here
//#endregion
您应该添加用户设置:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
如果 none 的快捷方式有效(就像我一样),作为解决方法,您还可以打开命令面板 (Ctrl + 3 或查看 -> 命令面板...) 并输入 fold all
:
我希望 Visual Studio 代码可以处理:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
现在Visual Studio代码只是忽略它,不会折叠它。
同时,Notepad++ 和 PowerGUI 处理得很好。
更新:我刚刚注意到 Visual Studio 代码的更新。现在支持!
ctrl + k + 0 : 折叠所有层级 (namespace , class , 方法 , 块)
ctrl + k + 1 : 命名空间
ctrl + k + 2 : class
ctrl + k + 3 : 方法
ctrl + k + 4 : 方块
ctrl + k + [ 或 ] : 当前光标块
ctrl + k + j : 展开
VSCode扩展名:Fold Level,一键折叠到你想要的级别
这里没有技术提示,只是对VsCode的偏好进行简单的调整。
通过转到首选项并搜索 'folding',我设法始终在 VsCode 中显示代码折叠控件。现在只需 select 即可始终显示这些控件。这适用于我测试过的 Angular 8 解决方案中的 Typescript 代码和模板 HTML。
这是使用 VsCode Insiders 1.37.0 运行 在 Windows 10 OS.
上测试的
v1.42 正在对折叠的外观和功能进行一些不错的改进。见 https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting:
Folded Range Highlighting
Folded ranges now are easier to discover thanks to a background color
for all folded ranges.
Fold highlight color Theme: Dark+
The feature is controled by the setting editor.foldingHighlight and
the color can be customized with the color editor.foldBackground.
"workbench.colorCustomizations": {
"editor.foldBackground": "#355000" }
Folding Refinements
Shift + Click
on the folding indicator first only folds the inner
ranges. Shift + Click
again (when all inner ranges are already folded)
will also fold the parent. Shift + Click
again unfolds all.
When using the Fold command (kb(editor.fold
))] on an already folded
range, the next unfolded parent range will be folded.
Note: these shortcuts only work as expected if you edit your keybindings.json
我对默认快捷方式不满意,我希望它们按如下方式工作:
- 折叠:Ctrl + Alt + ]
- 递归折叠:Ctrl + ⇧ Shift + Alt + ]
- 全部折叠:Ctrl + k 然后 Ctrl + ]
- 展开:Ctrl + Alt + [
- 递归展开:Ctrl + ⇧ Shift + Alt + [
- 全部展开:Ctrl + k 然后 Ctrl + [
设置:
- 打开
Preferences: Open Keyboard Shortcuts (JSON)
(Ctrl + ⇧ Shift + p)
- 将以下代码片段添加到该文件
Already have custom keybindings for fold/unfold? Then you'd need to replace them.
{
"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"
},
或者,如果您想删除 折叠按钮,以获得额外的 space:
"editor.folding": false
(添加到您的 settings.json
文件)
这是最常用的 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
只需按 ctrl + shift + p
,然后输入 'fold'。
所有关于 (un)fold 的键绑定将被显示。
如果 ctrl k
不起作用,可能是因为 vim 扩展名覆盖了密钥。
在这种情况下,您应该修改 settings.json (按 ctrl + shift + p
,然后键入 'settings' )为
"vim.handleKeys": {
"<C-k>": false,
},
到fold/unfold当前块使用(ctrl
+k
)+(ctrl
+l
)
这是用于折叠和展开代码的最新built-in(默认)键盘快捷键
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
Nb:但在某些情况下,您的 vs 代码扩展程序或用户会更改键盘绑定(快捷方式)。像这样检查的最佳选择
- view->command palette OR cntrl+shift+p
- 键入“折叠”。它会提示折叠和展开以及快捷方式。您可以键入该快捷方式而不是 command-palette
例如:
全部折叠
全部展开
如何折叠或折叠 Visual Studio 代码中的代码段?
是否支持此功能?
Folding has been rolled out and is now implemented since Visual Studio Code version 0.10.11。有这些可用的键盘快捷键:
Fold 折叠光标处最里面未折叠的区域:
- Ctrl + Shift + [ 在 Windows 和 Linux
- ⌥ + ⌘ + [ macOS
展开展开光标处的折叠区域:
- Ctrl + Shift + ] 在 Windows 和 Linux
- ⌥ + ⌘ + ] macOS
全部折叠 折叠编辑器中的所有区域:
- Ctrl + K, Ctrl + 0(零)在 Windows 和 Linux
- ⌘ + K, ⌘ +0(零)在 macOS
全部展开 在编辑器中展开所有区域:
- Ctrl + K, Ctrl + J 在 Windows 和 Linux
- ⌘ + K, ⌘ + J 在 macOS 上
参考文献: https://code.visualstudio.com/docs/getstarted/keybindings
collapse/extend 的默认快捷方式是:
Ctrl + Shift + [ : "Fold"
Ctrl + Shift + Alt + [ : "Fold all"
Ctrl + Shift + ] : "Unfold"
Ctrl + Shift + Alt + ] : "Unfold all"
或转到 keybindings.json 并根据需要进行更改。
例如:
{
"key": "cmd+k cmd+m",
"command": "editor.foldAll",
"when": "editorFocus"
},
{
"key": "cmd+m cmd+k",
"command": "editor.unfoldAll",
"when": "editorFocus"
},
release 1.0现在支持折叠:
Source Code Folding Shortcuts
There are new folding actions to collapse source code regions based on their folding level.
There are actions to fold level 1 (Ctrl+K Ctrl+1) to level 5 (Ctrl+K Ctrl+5). To unfold, use Unfold All (Ctrl+Shift+Alt+]).
The level folding actions do not apply to region containing the current cursor.
我在键盘(挪威语布局)上找不到 ]
按钮,在我的例子中是 Å
按钮。 (或者从退格按钮开始向左两个按钮和一个向下按钮。)
截至 Visual Studio 代码版本 1.12.0,2017 年 4 月,请参阅文档中的 Basic Editing > Folding 部分。
默认键是:
Fold All: CTRL+K, CTRL+0 (zero)
Fold Level [n]: CTRL+K, CTRL+[n]*
Unfold All: CTRL+K, CTRL+J
Fold Region: CTRL+K, CTRL+[
Unfold Region: CTRL+K, CTRL+]
*折叠级别:除了最外面的 类 之外的所有折叠,尝试 CTRL+K, CTRL+1
Mac:使用 ⌘ 而不是 CTRL(感谢 Prajeet)
自1.3.1版本(2016-07-17)起,Block Collapse更加方便。
缩进行后的任何行都会有一个“-”字符以允许折叠。如果块被折叠,它将被一个“+”字符替换,这将打开折叠的块。
(Ctrl + Shift + Alt + ]) 仍然会影响所有块,关闭一层。每次重复使用都会关闭一个级别。 (Ctrl + Shift + Alt + [)以相反的方式工作。
万岁,块崩溃终于有用了。
此功能现已在标准版本中提供。要显示 collapse/expand 控件,您需要将鼠标悬停在行号右侧的区域上,如以下屏幕截图所示:
在Mac上,是RHS命令键,⌘K,不是代码折叠命令的左边.
否则左手Command键会删除当前行,⌘K.
regions 的代码折叠已随 v1.17 一起推出。 Folding by regions documentation. And v1.19 and 1.23.
[一般可以加一个space,比如// 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
重要提示:如果您没有在列表中看到您的语言::
Each language also has snippets available for the markers. Type '#' and invoke code completion to see them. To have region markers configured for your language, contact the language extension provider.
因此键入 #
,然后键入 Ctrl+Space 以查看任何语言的区域标记。
自 Visual Studio Code 1.17 起,现在支持此功能。要 fold/collapse 您的代码块,只需添加区域标签,例如 //#region my block name
和 //#endregion
如果在 TypeScript/JavaScript 中编码。
示例:
与JavaScript:
//#region REGION_NAME
...code here
//#endregion
您应该添加用户设置:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
如果 none 的快捷方式有效(就像我一样),作为解决方法,您还可以打开命令面板 (Ctrl + 3 或查看 -> 命令面板...) 并输入 fold all
:
我希望 Visual Studio 代码可以处理:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
现在Visual Studio代码只是忽略它,不会折叠它。 同时,Notepad++ 和 PowerGUI 处理得很好。
更新:我刚刚注意到 Visual Studio 代码的更新。现在支持!
ctrl + k + 0 : 折叠所有层级 (namespace , class , 方法 , 块)
ctrl + k + 1 : 命名空间
ctrl + k + 2 : class
ctrl + k + 3 : 方法
ctrl + k + 4 : 方块
ctrl + k + [ 或 ] : 当前光标块
ctrl + k + j : 展开
VSCode扩展名:Fold Level,一键折叠到你想要的级别
这里没有技术提示,只是对VsCode的偏好进行简单的调整。
通过转到首选项并搜索 'folding',我设法始终在 VsCode 中显示代码折叠控件。现在只需 select 即可始终显示这些控件。这适用于我测试过的 Angular 8 解决方案中的 Typescript 代码和模板 HTML。
这是使用 VsCode Insiders 1.37.0 运行 在 Windows 10 OS.
上测试的v1.42 正在对折叠的外观和功能进行一些不错的改进。见 https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting:
Folded Range Highlighting
Folded ranges now are easier to discover thanks to a background color for all folded ranges.
Fold highlight color Theme: Dark+
The feature is controled by the setting editor.foldingHighlight and the color can be customized with the color editor.foldBackground.
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
Folding Refinements
Shift + Click
on the folding indicator first only folds the inner ranges.Shift + Click
again (when all inner ranges are already folded) will also fold the parent.Shift + Click
again unfolds all.
When using the Fold command (kb(
editor.fold
))] on an already folded range, the next unfolded parent range will be folded.
Note: these shortcuts only work as expected if you edit your keybindings.json
我对默认快捷方式不满意,我希望它们按如下方式工作:
- 折叠:Ctrl + Alt + ]
- 递归折叠:Ctrl + ⇧ Shift + Alt + ]
- 全部折叠:Ctrl + k 然后 Ctrl + ]
- 展开:Ctrl + Alt + [
- 递归展开:Ctrl + ⇧ Shift + Alt + [
- 全部展开:Ctrl + k 然后 Ctrl + [
设置:
- 打开
Preferences: Open Keyboard Shortcuts (JSON)
(Ctrl + ⇧ Shift + p) - 将以下代码片段添加到该文件
Already have custom keybindings for fold/unfold? Then you'd need to replace them.
{
"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"
},
或者,如果您想删除 折叠按钮,以获得额外的 space:
"editor.folding": false
(添加到您的 settings.json
文件)
这是最常用的 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
只需按 ctrl + shift + p
,然后输入 'fold'。
所有关于 (un)fold 的键绑定将被显示。
如果 ctrl k
不起作用,可能是因为 vim 扩展名覆盖了密钥。
在这种情况下,您应该修改 settings.json (按 ctrl + shift + p
,然后键入 'settings' )为
"vim.handleKeys": {
"<C-k>": false,
},
到fold/unfold当前块使用(ctrl
+k
)+(ctrl
+l
)
这是用于折叠和展开代码的最新built-in(默认)键盘快捷键
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
Nb:但在某些情况下,您的 vs 代码扩展程序或用户会更改键盘绑定(快捷方式)。像这样检查的最佳选择
- view->command palette OR cntrl+shift+p
- 键入“折叠”。它会提示折叠和展开以及快捷方式。您可以键入该快捷方式而不是 command-palette
例如:
全部折叠
全部展开