Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。

1 智能提示

Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所以很多时候都不会手动敲这两个快捷键(除非提示框消失了)。用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速修复(即Eclipse中的Quick Fix功能)。当智能提示为我们自动补全方法名时,我们通常要自己补上行尾的反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾的字符。而且不只是括号,例如敲完if/for时也可以自动补上{}花括号。

最后要说一点,Intellij能够智能感知spring、hibernate等主流框架的配置文件和类,以静制动,在看似“静态”的外表下,智能地扫描理解你的项目是如何构造和配置的。

2 重构

Intellij重构是另一完爆Eclipse的功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。尤其看过《重构-改善既有代码设计》之后,有了Intellij的配合简直是令人大呼过瘾!也正是强大的智能和重构功能,使Intellij下的TDD开发非常顺畅。

切入正题,先说一个无敌的重构功能大汇总快捷键Ctrl+Shift+Alt+T,叫做Refactor This。按法有点复杂,但也符合Intellij的风格,很多快捷键都要双手完成,而不像Eclipse不少最有用的快捷键可以潇洒地单手完成(不知道算不算Eclipse的一大优点),但各位用过Emacs的话就会觉得也没什么了(非Emacs黑)。此外,还有些最常用的重构技巧,因为太常用了,若每次都在Refactor This菜单里选的话效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V则是提取变量。

3 代码生成

这一点类似Eclipse,虽不是独到之处,但因为日常使用频率极高,所以还是罗列在榜单前面。常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码,用Ctrl+J可以查看所有模板。后面“辅助”一节中将会讲到Alt+Insert,在编辑窗口中点击可以生成构造函数、toString、getter/setter、重写父类方法等。这两个技巧实在太常用了,几乎每天都要生成一堆main、System.out和getter/setter。

另外,Intellij IDEA 13中加入了后缀自动补全功能(Postfix Completion),比模板生成更加灵活和强大。例如要输入for(User user : users)只需输入user.for+Tab。再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。

4 编辑

编辑中不得不说的一大神键就是能够自动按语法选中代码的Ctrl+W以及反向的Ctrl+Shift+W了。此外,Ctrl+Left/Right移动光标到前/后单词,Ctrl+[/]移动到前/后代码块,这些类Vim风格的光标移动也是一大亮点。以上Ctrl+Left/Right/[]加上Shift的话就能选中跳跃范围内的代码。Alt+Forward/Backward移动到前/后方法。还有些非常普通的像Ctrl+Y删除行、Ctrl+D复制行、Ctrl+>折叠代码就不多说了。

关于光标移动再多扩展一点,除了Intellij本身已提供的功能外,我们还可以安装ideaVim或者emacsIDEAs享受到Vim的快速移动和Emacs的AceJump功能(超爽!)。另外,Intellij的书签功能也是不错的,用Ctrl+Shift+Num定义1-10书签(再次按这组快捷键则是删除书签),然后通过Ctrl+Num跳转。这避免了多次使用前/下一编辑位置Ctrl+Left/Right来回跳转的麻烦,而且此快捷键默认与Windows热键冲突(默认多了Alt,与Windows改变显示器显示方向冲突,一不小心显示器就变成倒着显式的了,冏啊)。

5 查找打开

类似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打开类或资源,但Intellij更加智能一些,我们输入的任何字符都将看作模糊匹配,省却了Eclipse中还有输入*的麻烦。最新版本的IDEA还加入了Search Everywhere功能,只需按Shift+Shift即可在一个弹出框中搜索任何东西,包括类、资源、配置项、方法等等。

类的继承关系则可用Ctrl+H打开类层次窗口,在继承层次上跳转则用Ctrl+B/Ctrl+Alt+B分别对应父类或父方法定义和子类或子方法实现,查看当前类的所有方法用Ctrl+F12。

要找类或方法的使用也很简单,Alt+F7。要查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处。

Intellij更加智能的又一佐证是在任意菜单或显示窗口,都可以直接输入你要找的单词,Intellij就会自动为你过滤。

6 其他辅助

以上这些神键配上一些辅助快捷键,即可让你的双手90%以上的时间摆脱鼠标,专注于键盘仿佛在进行钢琴表演。这些不起眼却是至关重要的最后一块拼图有:

Ø  命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每个命令后面还有其快捷键。所以它不仅是一大神键,也是查找学习快捷键的工具。

Ø  新建:Alt+Insert可以新建类、方法等任何东西。

Ø  格式化代码:格式化import列表Ctrl+Alt+O,格式化代码Ctrl+Alt+L。

Ø  切换窗口:Alt+Num,常用的有1-项目结构,3-搜索结果,4/5-运行调试。Ctrl+Tab切换标签页,Ctrl+E/Ctrl+Shift+E打开最近打开过的或编辑过的文件。

Ø  单元测试:Ctrl+Alt+T创建单元测试用例。

Ø  运行:Alt+Shift+F10运行程序,Shift+F9启动调试,Ctrl+F2停止。

Ø  调试:F7/F8/F9分别对应Step into,Step over,Continue。

此外还有些我自定义的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘贴很早以前拷贝过的,Alt+Shift+Insert进入到列模式进行按列选中。

7 最终榜单

这榜单阵容太豪华了,后几名都是如此有用,毫不示弱。

Ø  Top #10切来切去:Ctrl+Tab

Ø  Top #9选你所想:Ctrl+W

Ø  Top #8代码生成:Template/Postfix +Tab

Ø  Top #7发号施令:Ctrl+Shift+A

Ø  Top #6无处藏身:Shift+Shift

Ø  Top #5自动完成:Ctrl+Shift+Enter

Ø  Top #4创造万物:Alt+Insert

太难割舍,前三名并列吧!

Ø  Top #1智能补全:Ctrl+Shift+Space

Ø  Top #1自我修复:Alt+Enter

Ø  Top #1重构一切:Ctrl+Shift+Alt+T

idea两个页面切换快捷键_IDEA十大快捷键相关推荐

  1. 计算机win7快捷键,快捷键,教您win7最常用的十大快捷键有哪些

    就像我们平时打开运行窗口的时候用的快捷键"WIN+R",还有截图用的"Ctrl+Alt+A",这些都是我们在使用电脑时所能用的快捷键.今天小编我就来给你们说说w ...

  2. ad中那个快捷键是重复上一部_十大快捷键:让PPT制作效率飞起!(附下载)

    大家好,我是语图. 任何工具,从入门到精通,都免不了学习快捷键的使用.快捷键可以有效地提升效率,减少冗余的操作.毫不夸张地说,当初我初学PPT时,我眼里的大神就是这样的. PPT的快捷键少说也有一百多 ...

  3. idea中好用的十大快捷键设置

    idea中好用的十大快捷键设置 1. 向下复制( Ctrl+D ):将要写的代码或者代码块与之前写的类似, 就可以快速向下复制, 典型的就例子是输出日志, 使用此快捷键能快速达到目的, 提升写代码的速 ...

  4. IDEA的十大快捷键

    Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...

  5. 合并两个无序数组java_Java实现十大排序算法(上)

    概念 概念解释稳定如果a原本在b前面,而a=b,排序之后a仍然在b的前面.不稳定如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面.时间复杂度对排序数据的总的操作次数,反映当n变化 ...

  6. idea调试需要的快捷键_IDEA调试常用快捷键

    1.F7 单步调试,进入函数内部.            相当于eclipse的f5就是 进入到代码 2.F8 单步调试,不进入函数内部.        相当于eclipse的f6 跳到下一步 3.F ...

  7. 解决ViewPager.setCurrentItem中间很多页面切换方案

    本文配套视频 ViewPager.setCurrentItem的bug演示一 ViewPager.setCurrentItem解决方案二 今天做项目用ViewPager.setCurrentItem ...

  8. Axure设置导航栏控制页面切换

    用axure实现导航的页面切换效果也不复杂,大致步骤如下: 首先设置你的导航栏,可以是几个按钮,也可以是box,都不影响,满足自己的页面效果就行了,我拖了俩button作为我的导航栏,还有一个动态面板 ...

  9. 基于Laya实现ViewPager页面切换效果

    前言 页面切换效果,Laya提供了ViewStack组件,可以切换页面,但是效果有些生硬,可以看看官网文档提供的效果.ViewStack组件 我这里提供的效果是通过手势滑动实现页面切换,同时也可以通过 ...

最新文章

  1. 【某小学生作文】《我的爸爸是名驾驶员》
  2. hibernateTemplate的load方法
  3. Word无法打开该文件,因为文件格式与文件扩展名不匹配的解决办法
  4. wsdl文件是怎么生成的_C++ 动态库.dll的生成---超级详细!!!
  5. lightgbm 数据不平衡_数据不平衡问题
  6. 数据治理与元模型_开放项目的治理模型如何演变
  7. paip.提升开发效率----JAVA网站
  8. C++实现多级时间轮定时器
  9. java ssm 运行步骤_SSM项目整合基本步骤
  10. 微信开放平台(公众号)API学习笔记(1)-公众号测试账户
  11. 有关《家》的经典歌曲_著名音乐人-二十首最棒的励志歌曲推荐
  12. 新浪微博相册图片外链限制,图床不显示解决方法总结!
  13. 网易互娱2017实习生招聘在线笔试第一场-题目3
  14. 一款性能足够的4.5寸以下的手机
  15. Symbolic Graph Reasoning Meets Convolutions 符号图推理与卷积结合的方式
  16. 某医药公司HP-EVA4400数据恢复报告
  17. 【两周快速入门pr】熟稔常用操作,提高剪辑效率
  18. 2021漳州一中历年高考成绩查询,2021年漳州中考录取分数线,历年漳州各高中录取分数线排名...
  19. python中namedtuple函数用法详解
  20. 将多个word文件合并为一个的方法

热门文章

  1. windows QQ Initializationfailure:0x0000000C 浏览器不能上网
  2. 探索windows虚拟内存
  3. 【HZNUOJ】【C系列3.8】Lucky Sum of Digits
  4. 通俗理解:概率分布函数、概率密度函数
  5. 在Tomcat中添加用户和权限
  6. 使用mapbox地图的一丢丢小心得
  7. python excel 截图_法律行业python高级案例——网络侵权自动化批量取证
  8. luogu P2014 选课
  9. VUE后台脚手架安装
  10. Java包装类的缓存