如何在Visual Studio代码中折叠或折叠部分代码?
是否支持此功能?
答案 0 :(得分:941)
Folding已推出,现在已在Visual Studio代码version 0.10.11中实现。有这些键盘快捷键可用:
折叠折叠光标最里面的未折叠区域:
展开展开光标处的折叠区域:
折叠全部折叠编辑器中的所有区域:
展开全部展开编辑器中的所有区域:
答案 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)
答案 3 :(得分:44)
区域的代码折叠已通过v1.17到达。 Folding by regions documentation。并v1.19和1.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
:
答案 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:
折叠范围突出显示
由于背景颜色的缘故,现在更容易发现折叠范围 所有折叠范围。
折叠突出显示颜色主题:暗+
该功能由设置编辑器控制。foldingHighlight和 可以使用color editor.foldBackground自定义颜色。
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
折叠优化
折叠指示器上的
Shift + Click
首先只折叠内部 范围。再次Shift + Click
(当所有内部范围都已折叠时) 也会折叠父级。Shift + Click
再次展开所有内容。
在已经折叠的地方使用Fold命令(kb({
editor.fold
))]时 范围,下一个展开的父范围将被折叠。
答案 12 :(得分:2)
在Mac上,它是RHS Command键,⌘ K ,而不是代码折叠命令的左侧。
否则左手Command键将删除当前行⌘ K 。
答案 13 :(得分:2)
这里没有技术提示,只需简单地调整VsCode的首选项即可。
我设法通过始终转到“首选项”并搜索“折叠”,始终在VsCode中显示代码折叠控件。现在,只需选择始终显示这些控件即可。这与我测试过的Angular 8解决方案中的Typescript代码和模板的HTML一起使用。
这已在Windows 10操作系统上运行的VsCode Insiders 1.37.0中进行了测试。
答案 14 :(得分:1)
现在支持此功能,因为Visual Studio Code 1.17。要折叠/折叠代码块,只需添加区域标记,例如//#region my block name
和//#endregion
(如果使用TypeScript / JavaScript编码)。
示例:
答案 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,一键折叠至所需级别。
答案 19 :(得分:0)
或者,如果您要删除折叠按钮,以获取更多空间:
"editor.folding": false
(添加到您的settings.json
文件中)