如何折叠IntelliJ IDEA代码片段
在 IntelliJ IDEA 中您可以折叠(fold)代码片段,将它们缩小到单个可见行。这样,您可以隐藏当前看起来无关紧要的细节。如果必要的话,折叠的代码片段可以被展开(unfolded)。
折叠的代码片段通常显示为阴影椭圆(
)。

代码折叠方式
您可以使用以下方法折叠和展开代码片段:
- 代码折叠切换(
,
或
)。这些切换显示在编辑器中的相应折叠区域的左侧。如果一个区域展开,则
表示该区域的起点
位于其末端。对于折叠区域,切换显示为
。如果您按住 Alt 键并单击
,
或者
该区域被折叠或递归展开,即连同其所有从属的区域。 - 折叠菜单和相关的键盘快捷键的命令。该折叠菜单可以从主菜单栏(代码| 折叠)访问或编辑器中的上下文菜单。快捷键显示在菜单中的右侧。请参阅折叠菜单和相关快捷键的命令。
- 折叠片段本身:单击
以展开相应的片段。另请参见,查看折叠代码片段。
折叠预定义和自定义区域
你可以折叠和展开:
tip:代码折叠适用于至少两个语句的关键字if/ while/ else/ for/ try/ except/ finally/ with。
- 代码块,即由匹配的一对花括号{}包围的代码片段。如果要折叠代码块,应将光标放在该块内,然后选择 代码| 折叠| 折叠代码块(Code | Folding | Fold Code Block)或按 Ctrl+Shift+Period。结果会形成一个自定义折叠区域,并且折叠切换为它出现。之后,该区域可以折叠和扩展为任何其他折叠区域。要删除自定义折叠区域,请使用该区域的“折叠选择/删除区域”命令(Ctrl+Period)。
- 与导入声明、方法正文、匿名和内部类、文档注释等元素相对应的预定义区域。大概地对应于在“设置/首选项”对话框中列出的那些在默认情况下关闭的编辑| 一般| 代码折叠( Editor | General | Code Folding )页面。对于预定义的区域,可以立即使用折叠切换,而无需执行任何其他操作。
- 任何选择的代码片段。通过折叠选择/删除区域命令(Ctrl + Period)来创建和删除一个选择的自定义折叠区域。
- 被相应的注释折叠标记包围的区域(例如://<editor-fold desc="Description">...//</editor-fold>)。
折叠菜单和相关快捷键的命令
可从主菜单栏访问折叠式菜单 (Code | Folding),或者作为编辑器中的上下文菜单。
| 命令 | 捷径 | 描述 |
|---|---|---|
| 展开 | Ctrl+NumPad Plus | 展开当前的折叠片段 |
| 折叠 | Ctrl+NumPad - | 折叠当前的折叠区域 |
| 递归展开 | Ctrl+Alt+NumPad Plus | 展开当前折叠片段和该片段中所有下属的折叠折叠区域 |
| 递归折叠 | Ctrl+Alt+NumPad - | 折叠当前的折叠区域和其中的所有下级折叠区域 |
| 展开全部 | Ctrl+Shift+NumPad Plus | 展开选择中的所有折叠片段,或者如果没有选择,则展开当前文件中的所有折叠片段 |
| 全部折叠 | Ctrl+Shift+NumPad - | 折叠选择内的所有折叠区域,或者如果没有选择,折叠当前文件中的所有折叠区域 |
| 展开到级别 | 1,2,3,4或5 |
Ctrl+NumPad *, 1
Ctrl+NumPad *, 2
Ctrl+NumPad *, 3
Ctrl+NumPad *, 4
Ctrl+NumPad *, 5
|
将当前片段和所有嵌套片段展开至指定级别 |
| 展开全部到级别| 1,2,3,4或5 |
Ctrl+Shift+NumPad *, 1
Ctrl+Shift+NumPad *, 2
Ctrl+Shift+NumPad *, 3
Ctrl+Shift+NumPad *, 4
Ctrl+Shift+NumPad *, 5
|
将文件中的所有折叠碎片展开至指定的嵌套级别 |
| 展开文档评论 | 展开当前文件中的所有文档注释 | |
| 收起文档评论 | 折叠当前文件中的所有文档注释 | |
| 折叠选择/移除区域 | Ctrl+Period | 折叠所选片段并为其创建自定义折叠区域以使其“可折叠”/展开当前片段并删除相应的自定义折叠区域,使片段“展开” |
| 折叠代码块 | Ctrl+Shift+Period | 折叠匹配的一对花括号之间的代码片段,{}并为该片段创建一个自定义折叠区域,使其“可折叠” |
指定代码折叠首选项
您可以指定:
- 是否应该显示代码折叠切换。
- 默认情况下,哪些折叠区域应折叠。
相应的设置在编辑器的设置对话框(Ctrl+Alt+S)上的 Editor | General | Code Folding 页。
查看折叠的代码片段
要查看折叠片段的内容,请指向
指示该片段的省略号。

查看折叠区域的开始
要查看折叠区域的开头(如果当前不可见)指向该区域末端的折叠切换。

使用代码折叠注释
- 支持的折叠注释
- 围绕一个片段与折叠注释
- 导航到折叠区域
支持的折叠注释
您可以使用注释的行围绕代码片段来创建自定义折叠区域。这样做,注释可以是NetBeans样式,也可以是Visual Studio样式。
NetBeans风格
//<editor-fold desc="Description">...//</editor-fold>
Visual Studio风格
//region Description...//endregion
选择文件的样式后,请勿使用该文件中的其他样式。
围绕一个片段与折叠注释
- 选择感兴趣的代码片段。
- 选择 Code | Surround With 或按 Ctrl+Alt+T。
- 选择要使用的折叠注释。

- 指定片段描述。

现在,如果您折叠片段,则显示您指定的描述代替代码。

导航到折叠区域
您可以导航到由相应注释的折叠标记的周围代码片段形成的自定义折叠区域:
- 选择 导航| 自定义折叠或按 Ctrl+Alt+Period。
- 选择目标折叠区域。(列表中的区域由其描述确定。)

如何折叠IntelliJ IDEA代码片段的更多相关文章
- 10个可以直接拿来用的JQuery代码片段
jQuery里提供了许多创建交互式网站的方法,在开发Web项目时,开发人员应该好好利用jQuery代码,它们不仅能给网站带来各种动画.特效,还会提高网站的用户体验. 本文收集了10段非常实用的jQue ...
- 可以直接拿来用的15个jQuery代码片段
jQuery里提供了许多创建交互式网站的方法,在开发Web项目时,开发人员应该好好利用jQuery代码,它们不仅能给网站带来各种动画.特效,还会提高网站的用户体验. 本文收集了15段非常实用的jQue ...
- 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段
50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段 本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从j ...
- 【转】jQuery代码片段备用
在CSDN看到的,记下备用.原文:http://www.csdn.net/article/2013-07-16/2816238-15-jquery-code-snippets-for-develope ...
- gedit如何使用代码片段
gedit的片段插件 1 打开这个插件 2 以HTML为例,我们看到触发器是doctype 3则我在编辑一个HTML文档的时候,先输入doctype,再按Tab键,将会自动提示,我选择即可插入 ...
- 10个PHP代码片段
还记得CSDN研发频道此前发表过的一篇<可以直接拿来用的15个jQuery代码片段>吗?本文笔者将继续为你奉上10个超级有用的PHP代码片段. PHP是一种HTML内嵌式的语言,是一种在服 ...
- sublimetext3中保存代码片段
在日常的开发工作中,不断重复上一次敲过的代码,有时确实感到伐木累."蓝瘦"(难受)."香菇"(想哭),大概表达的也是这样的心境吧!:grinning: 所以,在 ...
- Code Snippets 代码片段
Code Snippets 代码片段 1.Title : 代码片段的标题 2.Summary : 代码片段的描述文字 3.Platform : 可以使用代码片段的平台,有IOS/OS X/ ...
- 10个 jQuery 代码片段,可以帮你快速开发。
转载自:http://mp.weixin.qq.com/s/mMstI10vqwu8PvUwlLborw 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而 ...
随机推荐
- 【opencv基础】opencv和dlib库中rectangle类型之间的转换
前言 最近使用dlib库的同时也会用到opencv,特别是由于对dlib库的画图函数不熟悉,都想着转换到opencv进行show.本文介绍一下两种开源库中rectangle类型之间的转换. 类型说明 ...
- 2017 ECL-FINAL J.Straight Master
题目链接:http://codeforces.com/gym/101775/problem/J 思路:序列差分一下,然后用得到的查分序列乱搞就可以了 注意差分序列第一项等于a[i],之后n-1项为ch ...
- C#中IDisposable的用法
在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机.对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收.那么什么时候使用Id ...
- TortoiseSVN使用步骤和trunk,Branch,Tag详细说明
1 安装及下载client 端 2 什么是SVN(Subversion)? 3 为甚么要用SVN? 4 怎么样在Windows下面建立SVN Repository? 5 建立一个Working目录 6 ...
- 将svnserve部署为后台服务
由于svnserve运行模式没有部署为后台服务,很容易被人误关掉.于是在网上查了一下,发现也已经有人总结了.Copy过来,以作备忘. 以前的svnserve要想成为windows服务,必须依赖于svn ...
- redis-benchmark压力测试
redis-benchmark是redis官方提供的压测工具,安装好redis后,默认安装.使用简便. 语法: Usage: redis-benchmark [-h <host>] [-p ...
- SQL SERVER 2008 彻底卸载干净方法 (转)
最近安装SQL SERVER 2008失败后,再重新安装时老是报错,东搞西搞的很难卸干净.但又不方便重装系统,经按下面方法终于搞定并成功安装上2008 1.停掉SQL SERVER 2008所有相关服 ...
- PHP接口开发加密技术实例原理与例子
下面例子简单讲解PHP接口开发加密技术:如app要请求用户列表,api是“index.php?module=user&action=list”app生成token = md5sum (‘use ...
- dedecms问答模块时间显示1970-01-01的解决办法
在使用dedecms的问答模块的时候,很多人希望能在模板上加上问题的时间,一般我们采用这样的dede标签: {dede:ask row=24 titlelen='50' sort='ok'} &l ...
- REDHAT中的iptable设置(nginx或者apache80端口访问不了解决)转 亲测
来自:http://johnnychenjun.blog.163.com/blog/static/137493406201010284598972/ 查看当前防火墙里的状态:#/etc/init.d/ ...