# 代码折叠
在这个页面中:
* [基础](#基础)
* [代码折叠方法](#代码折叠方法)
* [折叠预定义和自定义区域](#折叠预定义和自定义区域)
* [折叠菜单的命令和关联的快捷键](#折叠菜单的命令和关联的快捷键)
* [指定代码折叠偏好](#指定代码折叠偏好)
* [查看折叠的代码片段](#查看折叠的代码片段)
* [查看折叠区域的开始](#查看折叠区域的开始)
* [使用代码折叠注释](#使用代码折叠注释)
* [支持折叠注释](#支持折叠注释)
* [用折叠注释环绕片段](#用折叠注释环绕片段)
* [跳转到折叠区域](#跳转到折叠区域)
## <span id='基础'>基础</span>
你可以折叠代码片段将它们减少到一个可见行。用这种方法,你可以隐藏细节,在这时候,它看起来不怎么重要了。如果有必要,折叠的代码可以展开。
折叠的代码片段,通常,展示为暗色的省略号(![省略号](http://image.jellychen.cn/uploads/2016/11/foldedFragment.png))
## <span id='代码折叠方法'>代码折叠方法</span>
你可以折叠和展开代码通过使用:
* 代码折叠开关(![上方折叠](http://image.jellychen.cn/uploads/2016/11/foldingMinusStart.png),![下方折叠](http://image.jellychen.cn/uploads/2016/11/foldingMinusEnd.png)或![展开](http://image.jellychen.cn/uploads/2016/11/foldingPlus.gif))。这些开关显示在编辑器左边相应的折叠区域。如果该区域是展开的,![上方折叠](http://image.jellychen.cn/uploads/2016/11/foldingMinusStart.png)表示折叠区域的开始,![下方折叠](http://image.jellychen.cn/uploads/2016/11/foldingMinusEnd.png)表示折叠区域的结尾。对于已经折叠的区域,开关显示为![展开](http://image.jellychen.cn/uploads/2016/11/foldingPlus.gif)。
如果你按住`ALT`同时点击(![上方折叠](http://image.jellychen.cn/uploads/2016/11/foldingMinusStart.png),![下方折叠](http://image.jellychen.cn/uploads/2016/11/foldingMinusEnd.png)或![展开](http://image.jellychen.cn/uploads/2016/11/foldingPlus.gif),该区域将递归的展开或折叠,例如,连同其所有下属区域。
* **折叠**菜单的命令与快捷键关联。可以通过主菜单的(**Code | Folding**)或编辑器的上下文菜单访问折叠菜单。快捷键显示在菜单的右侧。 参见[折叠菜单的命令和关联的快捷键](#折叠菜单的命令和关联的快捷键)。
* 折叠的代码片段:点击![省略号](http://image.jellychen.cn/uploads/2016/11/foldedFragment.png)来展开相应的部分。另请参阅[查看折叠的代码片段](#查看折叠的代码片段)。
## <span id='折叠预定义和自定义区域'>折叠预定义和自定义区域</span>
你可以折叠和展开:
* **预定义区域**环绕着元素比如导入声明,方法体,注释文档等等。预定义的区域,大致的,对应设置参数对话框的**Editor | General | Code Folding**页面的**Collapse by default**的列表。
对于预定义区域,折叠开关是可用的,不需要执行额外的动作。
* 一个选定的片段。一个定制选中区的折叠区域通过** Fold Selection/ Remove Region**命令(`Ctrl+.`)创建和移除。
* 用相应折叠注释标记环绕的区域(例如,`//<editor-fold desc="Description">...//</editor-fold>`)。参见[使用代码折叠注释](#使用代码折叠注释)
## <span id='折叠菜单的命令和关联的快捷键'>折叠菜单的命令和关联的快捷键</span>
可以通过主菜单的(**Code | Folding**)或编辑器的上下文菜单访问**折叠**菜单
|命令|快捷键|描述|
|---|---|---|
|Expand|`Ctrl+NumPad Plus`|展开当前折叠部分|
|Collapse|`Ctrl+NumPad -`|折叠当前折叠区域|
|Expand Recursively|`Ctrl+Alt+NumPad Plus`|展开当前折叠部分和所有当前部分从属的折叠区域|
|Collapse Recursively|`Ctrl+Alt+NumPad -`|折叠当前折叠区域和所有从属于它的折叠区域|
|Expand All|`Ctrl+Shift+NumPad Plus`|展开所有选中的折叠区域,如果没有选中任何代码,则展开所有当前页面的折叠部分|
|Collapse All|`Ctrl+Shift+NumPad -`|折叠选中区内的所有折叠区域,如果没有选中任何代码,则折叠所有当前页面的折叠区域|
|Expand to level 1, 2, 3, 4 or 5|`Ctrl+NumPad *, 1`<br/>`Ctrl+NumPad *, 2`<br/>`Ctrl+NumPad *, 3`<br/>`Ctrl+NumPad *, 4`<br/>`Ctrl+NumPad *, 5`|展开当前片段和所有嵌套的片段到指定级别|
|Expand all to level 1, 2, 3, 4 or 5|`Ctrl+Shift+NumPad *, 1`<br/>`Ctrl+Shift+NumPad *, 2`<br/>`Ctrl+Shift+NumPad *, 3`<br/>`Ctrl+Shift+NumPad *, 4`<br/>`Ctrl+Shift+NumPad *, 5`|展开文件中所有折叠的片段到指定级别|
|Expand doc comments| |展开当前文档的所有注释|
|Collapse doc comments| |折叠当前文档的所有注释
|Fold Selection / Remove region|`Ctrl+.`|展开选中区域并创建一个定制折叠区域来让它可折叠和展开当前片段,或移除定制的折叠区域让它不可折叠|
## <span id='指定代码折叠偏好'>指定代码折叠偏好</span>
你可以指定:
* 是否显示代码折叠开关
* 哪种折叠区域应默认折叠
相应的设置在设置对话框(`Ctrl+Alt+S`)的**Editor | General | Code Folding**页面。
更多信息参考[代码折叠页面](/参考/设置参数对话框/编辑器/常规/代码折叠.md)
## <span id='查看折叠的代码片段'>查看折叠的代码片段</span>
要查看折叠部分的代码内容,鼠标指向省略号![省略号](http://image.jellychen.cn/uploads/2016/11/foldedFragment.png)来显示这部分内容。
![折叠部分内容](http://image.jellychen.cn/uploads/2016/11/ps_foldingPopup.png)
### <span id='查看折叠区域的开始'>查看折叠区域的开始</span>
要查看折叠区域的开始-如果当前看不到-指向目标区域的尾部折叠开关。
![查看折叠部分头部](http://image.jellychen.cn/uploads/2016/11/ps_view_invisible_code.png)
## <span id='使用代码折叠注释'>使用代码折叠注释</span>
* [支持折叠注释](#支持折叠注释)
* [用折叠注释环绕片段](#用折叠注释环绕片段)
* [跳转到折叠区域](#跳转到折叠区域)
### <span id='支持折叠注释'>支持折叠注释</span>
你可以创建自定义折叠区域通过对代码片段环绕注释行。这样做,注释可以是NetBeans风格或Visual Studio风格。
#### NetBeans风格
//<editor-fold desc="Description">
...
//</editor-fold>
#### Visual Studio风格
//region Description
...
//endregion
一旦当你已经在一个文件中选用一个风格,不要在该文件中使用其它风格的注释。
### <span id='用折叠注释环绕片段'>用折叠注释环绕片段</span>
1. 选择感兴趣的代码片段
2. 选择**Code | Surround With**或按`Ctrl+Alt+T`
3. 选择要使用的折叠注释
![选择折叠注释](http://image.jellychen.cn/uploads/2016/11/ps_customFolding1.png)
4. 指定片段描述
![指定片段描述](http://image.jellychen.cn/uploads/2016/11/ps_customFolding2.png)
现在如果你折叠了这个片段,你指定的描述将展现在代码的地方。
![展示片段描述](http://image.jellychen.cn/uploads/2016/11/ps_customFolding3.png)
### <span id='跳转到折叠区域'>跳转到折叠区域</span>
你可以跳转到被折叠注释标志包围而形成的折叠区域:
1. 选择**Navigate | Custom Folding**或按`Ctrl+Alt+.`
2. 选择目标折叠区域。(列表中的区域是根据它们的描述形成)
![跳转到折叠区域](http://image.jellychen.cn/uploads/2016/11/ps_navigateToCustomRegion.png)
# 另请参阅:
规程:
* [代码折叠参考](/参考/设置参数对话框/编辑器/常规/代码折叠.md)
入门指南:
* [PhpStorm编辑器](/如何使用/常规指南/PhpStorm编辑器/README.md)
- 前言
- 初见PhpStorm
- 系统要求
- 安装和启动
- 注册PhpStorm
- 快速开始引导
- 你不能错过的:快捷键
- 第一步
- 创建和运行你的第一个PHP项目
- 创建和运行你的第一个Web项目
- 如何使用
- 常规指南
- 用户界面引导
- 欢迎界面
- 菜单和工具栏
- 导航栏
- 状态栏
- PhpStorm视图模式
- 设置背景图片
- PhpStorm编辑器
- 基础编辑规程
- 在编辑器中打开和重新打开文件
- 在编辑器中关闭文件
- 在编辑器中选择文本
- 剪切复制粘贴
- 在PhpStorm和资源管理器之间复制粘贴
- 在编辑器中使用拖放
- 注释和取消注释代码块
- 保存和撤销更改
- 撤销和重做更改
- 透镜模式
- 多插入符
- 草稿
- 在编辑器中缩放
- 高级编辑规程
- 添加删除和移动代码元素
- 添加编辑器到收藏夹
- 改变缩进
- 代码折叠
- 基础
- 代码折叠方法
- 折叠预定义和自定义区域
- 折叠菜单的命令和关联的快捷键
- 指定代码折叠偏好
- 查看折叠的代码片段
- 使用代码折叠注释
- 查看当前插入符位置
- 格式化代码
- 切换可写状态
- 切换大小写
- 高亮括号
- 拼写检查
- 连接行和文字
- 分割字符串为多行
- 在表格格式编辑CSV和类似文件
- 在编辑器中使用宏
- 录制宏
- 回放宏
- 编辑宏
- 绑定宏到快捷键
- 管理编辑器标签页
- 配置编辑器标签行为
- 在不同标签页之间跳转
- 锁定和解锁标签页
- 分割和合并编辑窗口
- 分离编辑器标签
- 使用标签组编辑多文件
- 改变编辑器标签头的位置
- 编辑器标签排序
- 使用TODO
- 定义TODO模式和过滤器
- 创建TODO项
- 查看TODO项
- PhpStorm工具窗
- 操作工具窗
- 指定工具窗的外观设置
- 在工具窗快速搜索
- 查看模式
- 管理项目收藏夹
- 配置项目和IDE设置
- 访问默认设置
- 访问设置
- 配置代码风格
- 配置颜色和字体
- 为控制台配置配色方案
- 配置项目文件编码
- 配置单独的文件编码
- 配置快捷键
- 配置行分隔符
- 配置菜单和工具栏
- 配置快速访问列表
- 配置区块和文件颜色
- 配置第三方工具
- 复制代码风格设置
- 创建和注册文件类型
- 导入和导出设置
- 分享你的IDE设置
- 在方案之间切换
- 切换引导JDK
- 配置项目结构
- 配置根目录
- 在根目录中配置文件夹
- 在项目中排除文件
- 创建和管理项目
- 从头创建新项目
- 从现有代码导入项目
- 从本地代码创建项目
- 从下载的文件创建项目
- 从框架模板生成项目
- 使用Yeoman生成器创建项目
- 打开、重新打开和关闭项目
- 打开多个项目
- 保存项目为模板
- 清空系统缓存
- 重命名项目
- 文件和代码模板
- 解析指令
- 文件模板变量
- 创建和编辑文件模板
- 动态模板
- 简易、参数化和环绕模板
- 动态模板缩写
- 动态模板变量
- 动态模板组
- 创建和编辑动态模板
- 创建和编辑模板变量
- 分享动态模板
- 填充项目
- 创建目录
- 从模板创建文件
- 创建空文件
- 创建PHP类接口和特性
- 生成代码
- 使用动态模板创建代码结构
- 使用环绕模板创建代码结构
- 生成Getter和Setter
- 打开和移除语句
- 包住标签,应用环绕模板的例子
- 使用排列规则重新整理代码
- 用语言结构环绕代码块
- 使用后缀模板
- 代码补全
- 基本代码补全:补全名称和关键字
- 智能类型代码补全:基于输入信息补全代码
- 补全语句
- 补全路径
- 补全标点
- 补全标签名称
- 展开单词
- 使用建议列表
- 创建和优化导入
- 创建导入
- 优化导入
- 代码检查
- 访问检查设置
- 分析检查结果
- 配置检查严重性
- 改变当前文件高亮级别
- 自定义配置文件
- 禁用和启用检查
- 改变区块顺序
- 导出检查结果
- 解决问题
- 抑制检查
- 运行检查
- 通过名称运行检查
- 离线运行检查
- 自动应用快速修复
- 意向动作
- 应用意向动作
- 配置意向动作
- 禁用意向动作
- 查看页面Web内容
- 配置浏览器
- 在浏览器中预览页面Web内容
- 在编辑器中查看Web页面的HTML代码
- 查看参考信息
- 查看定义
- 查看内联文档
- 查看外部文档
- 查看方法参数信息
- 浏览源代码
- 使用书签跳转
- 管理书签
- 在文件和工具窗之间跳转
- 在IDE组件之间跳转
- 在方法和标签之间跳转
- 在测试和测试主题之间跳转
- 跳转到动作
- 跳转到大括号
- 根据名称跳转到类、文件或符号
- 跳转到自定义折叠区域
- 跳转到符号的声明或类型声明
- 跳转到超级方法或实现
- 跳转到文件路径
- 跳转到行
- 跳转到下一个或上一个更改
- 跳转到下一个或上一个错误
- 跳转到近期文件
- 跳转到已浏览项目
- 使用导航栏跳转
- 使用结构视图跳转
- 使用面包屑跳转
- 搜索代码
- 在文件中查找替换文本
- 在项目中查找替换文本
- 查找引用
- 在项目中查找引用
- 在当前文件查找引用
- 高亮引用
- 查看符号引用
- 查看近期查找引用
- 在插入符处查找词语
- 使用搜索结果
- 搜索全部
- 结构搜索和替换
- 搜索模板
- 结构搜索和替换-常规步骤
- 创建和编辑搜索模板
- 结构搜索和替换示例
- 重构代码
- 分析应用程序
- 运行调试配置
- 运行
- 调试
- 测试
- 代码覆盖率
- 服务端作业:拷贝文件
- 使用本地历史
- 版本控制概念
- 管理插件
- 管理任务和内容
- 使用命令行工具
- 使用文件观察者
- 使用嵌入式本地终端
- 从命令行启动PhpStorm特性
- 使用后台任务
- 使用语言注入
- 比较文件和文件夹
- 选择文件或文件夹
- 在PhpStorm和文件管理器之间复制粘贴
- 教程
- 参考
- 获取帮助