Answers:
自Visual Studio Code 版本0.10.11开始,折叠就已经推出,并且现已实现。这些键盘快捷键可用:
Fold在光标处折叠最里面的未折叠区域:
展开展开光标处的折叠区域:
Fold All折叠编辑器中的所有区域:
全部展开将在编辑器中展开所有区域:
参考: https : //code.visualstudio.com/docs/getstarted/keybindings
F1
并输入折叠或展开
从2017年4月的Visual Studio Code 1.12.0版开始,请参阅文档中的基本编辑>折叠部分。
默认密钥为:
全部折叠: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以上的数字而不适用于小键盘
v1.17提供了按区域折叠代码的功能。按地区文件折叠。以及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
每种语言也都有可用于标记的摘录。输入“#”并调用代码完成功能以查看它们。要为您的语言配置区域标记,请与语言扩展提供商联系。
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添加了shellscript,请参见[github问题:添加shellscript折叠标记]。4:
shellscript: # region and # endregion
v1.42添加了Perl5等(请参见https://github.com/microsoft/vscode-docs/commit/ec3e9d07724510eaf0c3b7200b09c9c22d3be7c3):
Perl5 #region and #endregion or =pod and =cut
v1.39增加了使用命令切换折叠的功能editor.toggleFold
。
默认情况下,它绑定到Ctrl+ K Ctrl+ L。请参阅https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_39.md#toggle-folding。
// region
并且// endregion
不适用于VS Code 1.22版(尽管尚未测试低于或高于该版本的版本)。但是// #region
和// #endregion
有效(请注意两者中的“#”和空格)。这样,如果启用了spaced-comment
规则(即未设置为“ off”或0),则ESLint(如果正在使用)将不会显示错误。
/* #region Foo Bar */
和/* #endregion */
//region
并且//endregion
用于JavaScript。
<!-- #region --> elements <!-- #endregion -->
。它在折叠部分的#region之后显示文本。即使有其他嵌套的嵌套,它也可以从当前#region正确折叠到相应的#endregion-就像任何等式中的括号一样。它记住嵌套区域的折叠设置。Ctrl + k + Ctrl + [和Ctrl + k + Ctrl +]正确关闭/打开光标处的折痕。(对我来说,这似乎有些倒退,但是如何)很棒的东西!
您应该添加用户设置:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
折叠/扩展的默认快捷方式是:
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
:
使用JavaScript:
//#region REGION_NAME
...code here
//#endregion
从1.3.1版(2016-07-17)开始,块折叠更加方便。
紧随其后的任何行都将带有“-”字符以允许折叠。如果该块已折叠,则将替换为“ +”字符,这将打开折叠的块。
(Ctrl+ Shift+ Alt+ ])仍会影响所有块,将一级关闭。每次重复使用将关闭一个级别。(Ctrl+ Shift+ Alt+ [)以相反的方式工作。
万岁,方块坍塌终于有用了。
v1.42对折叠的外观和功能进行了一些改进。参见https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting:
折叠范围突出显示
由于所有折叠范围的背景颜色,现在更容易发现折叠范围。
折叠突出显示颜色主题:深色+
该功能由设置editor.foldingHighlight控制,颜色可以使用color editor.foldBackground自定义。
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
折叠精致
Shift + Click
折叠指示器上的只会首先折叠内部范围。Shift + Click
再次(当所有内部范围都已折叠时)也将折叠父级。Shift + Click
再次展现了一切。
在
editor.fold
已经折叠的范围上使用Fold命令(kb())]时,下一个展开的父范围将被折叠。
从Visual Studio Code 1.17开始,现在支持此功能。要折叠/折叠代码块,只需添加区域标签,例如,//#region my block name
以及//#endregion
是否使用TypeScript / JavaScript进行编码。
例:
VSCode扩展名:Fold Level,一键折叠到您想要的水平。
注意:这些快捷方式仅在您编辑keybindings.json时才能按预期工作
我对默认的快捷方式不满意,我希望它们按以下方式工作:
进行设置:
Preferences: Open Keyboard Shortcuts (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"
},
Fold Level
回答对我来说更有意义。