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

Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/*...*/ )
Ctrl+D 复制行
Ctrl+X 删除行
快速修复 alt+enter (modify/cast)
代码提示 alt+/
ctr+G 定位某一行
Shift+F6 重构-重命名
Ctrl+R 替换文本
Ctrl+F 查找文本

Ctrl+E 最近打开的文件
Ctrl+J 自动代码

组织导入 ctr+alt+O
格式化代码 ctr+alt+L
大小写转化 ctr+shift+U

--------------------------

IntelliJ Idea 常用快捷键列表
 
Alt+回车 导入包,自动修正

Ctrl+N   查找类

Ctrl+Shift+N 查找文件

Ctrl+Alt+L  格式化代码
Ctrl+Alt+O 优化导入的类和包

Alt+Insert 生成代码(如get,set方法,构造函数等)

Ctrl+E或者Alt+Shift+C  最近更改的代码

Ctrl+R 替换文本
Ctrl+F 查找文本

Ctrl+Shift+Space 自动补全代码

Ctrl+空格 代码提示
Ctrl+Alt+Space 类名或接口名提示
Ctrl+P 方法参数提示
Ctrl+Shift+Alt+N 查找类中的方法或变量
Alt+Shift+C 对比最近修改的代码
 
Shift+F6  重构-重命名

Ctrl+Shift+先上键

Ctrl+X 删除行

Ctrl+D 复制行

Ctrl+/ 或 Ctrl+Shift+/  注释(// 或者/*...*/ )

Ctrl+J  自动代码

Ctrl+E 最近打开的文件
Ctrl+H 显示类结构图
Ctrl+Q 显示注释文档

Alt+F1 查找代码所在位置

Alt+1 快速打开或隐藏工程面板
Ctrl+Alt+ left/right 返回至上次浏览的位置

Alt+ left/right 切换代码视图
Alt+ Up/Down 在方法间快速移动定位

Ctrl+Shift+Up/Down 代码向上/下移动。

F2 或Shift+F2 高亮错误或警告快速定位
 
代码标签输入完成后,按Tab,生成代码。
选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。
Ctrl+W 选中代码,连续按会有其他效果
选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示。
Ctrl+Up/Down 光标跳转到第一行或最后一行下
Ctrl+B 快速打开光标处的类或方法 
------------------------------------------------------------------------------------------------------------

1. IDEA内存优化

因机器本身的配置而配置:

\IntelliJ IDEA 8\bin\idea.exe.vmoptions  
-----------------------------------------  
-Xms64m  
-Xmx256m  
-XX:MaxPermSize=92m  
-ea  
-server  
-Dsun.awt.keepWorkingSetOnMinimize=true

2. 查询快捷键

CTRL+N   查找类 
CTRL+SHIFT+N  查找文件 
CTRL+SHIFT+ALT+N 查找类中的方法或变量 
CIRL+B   找变量的来源 
CTRL+ALT+B  找所有的子类 
CTRL+SHIFT+B  找变量的类 
CTRL+G   定位行 
CTRL+F   在当前窗口查找文本 
CTRL+SHIFT+F  在指定窗口查找文本 
CTRL+R   在 当前窗口替换文本 
CTRL+SHIFT+R  在指定窗口替换文本 
ALT+SHIFT+C  查找修改的文件 
CTRL+E   最近打开的文件 
F3   向下查找关键字出现位置 
SHIFT+F3  向上一个关键字出现位置 
F4   查找变量来源 
CTRL+ALT+F7  选中的字符查找工程出现的地方 
CTRL+SHIFT+O  弹出显示查找内容

3. 自动代码

ALT+回车  导入包,自动修正 
CTRL+ALT+L  格式化代码 
CTRL+ALT+I  自动缩进 
CTRL+ALT+O  优化导入的类和包 
ALT+INSERT  生成代码(如GET,SET方法,构造函数等) 
CTRL+E 最近更改的代码 
CTRL+SHIFT+SPACE 自动补全代码 
CTRL+空格  代码提示 
CTRL+ALT+SPACE  类名或接口名提示 
CTRL+P   方法参数提示 
CTRL+J   自动代码 
CTRL+ALT+T  把选中的代码放在 TRY{} IF{} ELSE{} 里

4. 复制快捷方式

CTRL+D   复制行 
CTRL+X   剪切,删除行

5. 其他快捷方式

CIRL+U   大小写切换 
CTRL+Z   倒退 
CTRL+SHIFT+Z  向前 
CTRL+ALT+F12  资源管理器打开文件夹 
ALT+F1   查找文件所在目录位置 
SHIFT+ALT+INSERT 竖编辑模式 
CTRL+/   注释//   
CTRL+SHIFT+/  注释/*...*/ 
CTRL+W   选中代码,连续按会有其他效果 
CTRL+B   快速打开光标处的类或方法 
ALT+ ←/→  切换代码视图 
CTRL+ALT ←/→  返回上次编辑的位置 
ALT+ ↑/↓  在方法间快速移动定位 
SHIFT+F6  重构-重命名 
CTRL+H   显示类结构图 
CTRL+Q   显示注释文档 
ALT+1   快速打开或隐藏工程面板 
CTRL+SHIFT+UP/DOWN 代码向上/下移动。 
CTRL+UP/DOWN  光标跳转到第一行或最后一行下 
ESC   光标返回编辑框 
SHIFT+ESC  光标返回编辑框,关闭无用的窗口 
F1   帮助千万别按,很卡! 
CTRL+F4   非常重要下班都用

Intellij IDEA 13快捷键

以下快捷键对应Intellij IDEA mac版keymap设为Eclipse(mac)时。大部分跟eclipse一样,但有一些不同。部分快捷键做了自定义,会附上配置文件。

复制/剪切/粘贴 command+c/command+x/command+v
指定位置查找: ctrl+h
打开的文件内查找:默认没有,我改成了command+f 因为ctrl+f冲突,移动到下一个关键字:enter
移动光标到括号结尾:ctrl+],与下面的对应,我加了alt+command+]同时选中alt+command+shift+]
移动光标到括号开始:alt+command+[ 与上面的对应,我加了ctrl+],同时选中alt+command+shift+[
打开源码相关菜单:ctrl+enter,可以生成构造方法,setter,getter,覆盖,委托,equals,hashCode,toString等方法。
代码完成,默认是ctrl+空格,与Spotlight冲突,我改成了ctrl+/
代码对齐:command+shift+f
优化导入:command+shift+o 貌似只会删除无用的导入,不会添加需要导入的类
导入缺少的类:光标移到报错的代码上,按command+1,选择import class(第一项,可以直接回车),暂时没找到批量导入方法
复制光标所在行到下一行:command+alt+down
删除光标所在行:command+d
查看类层次结构:F4
查找所有调用:command+ctrl+g
展开/收缩方法:command++/-
展开所有:command+shift+=
收缩所有:command+shift+_
显示当前类的所有方法和变量(类似eclipse里的大纲):command+o
运行:ctrl+alt+r,shift+command+F11
跳到源代码:F3
显示所有实现:command+t
跳到父类的实现(在子类的覆盖方法上):alt+shift+s
查找类:command+shift+t
生成if/if esle/try catch/synchronized等surround代码段:选中代码段,按alt+command+z
智能类型代码完成(在new后面自动加上类型):alt+shift+空格
注释:选中后 command+/ 每行双斜杠,ctrl+shift+/ /**注释*/
在错误处跳转:command+. command+shift+. 可以快速跳转到当前打开文件错误的地方
在方法间跳转:ctrl+alt+up/ctrl+alt+down

配置文件,保存到~/Library/Preferences/IdeaIC13/keymaps/Eclipse _Mac OS X_ copy.xml
Eclipse _Mac OS X_ copy.xml:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <keymap version="1" name="Eclipse (Mac OS X) copy" parent="Eclipse (Mac OS X)">
    3. <action id="CodeCompletion">
    4. <keyboard-shortcut first-keystroke="control SLASH" />
    5. </action>
    6. <action id="CollapseAllRegions">
    7. <keyboard-shortcut first-keystroke="shift meta DIVIDE" />
    8. <keyboard-shortcut first-keystroke="shift meta MINUS" />
    9. </action>
    10. <action id="CollapseRegion">
    11. <keyboard-shortcut first-keystroke="meta MINUS" />
    12. </action>
    13. <action id="EditorCloneCaretAbove">
    14. <keyboard-shortcut first-keystroke="control meta DOWN" />
    15. </action>
    16. <action id="EditorCodeBlockEnd">
    17. <keyboard-shortcut first-keystroke="control CLOSE_BRACKET" />
    18. <keyboard-shortcut first-keystroke="shift control P" />
    19. <keyboard-shortcut first-keystroke="meta alt CLOSE_BRACKET" />
    20. </action>
    21. <action id="ExpandAllRegions">
    22. <keyboard-shortcut first-keystroke="meta MULTIPLY" />
    23. <keyboard-shortcut first-keystroke="shift meta EQUALS" />
    24. </action>
    25. <action id="ExpandRegion">
    26. <keyboard-shortcut first-keystroke="meta ADD" />
    27. </action>
    28. <action id="Find">
    29. <keyboard-shortcut first-keystroke="meta F" />
    30. </action>
    31. <action id="GotoImplementation">
    32. <keyboard-shortcut first-keystroke="meta T" />
    33. </action>
    34. <action id="GotoSuperMethod">
    35. <keyboard-shortcut first-keystroke="shift alt S" />
    36. </action>
    37. <action id="MethodHierarchy.ImplementMethodAction" />
    38. <action id="SwitchApply">
    39. <keyboard-shortcut first-keystroke="control alt ENTER" />
    40. </action>
    41. <action id="SwitchDown">
    42. <keyboard-shortcut first-keystroke="control alt DOWN" />
    43. </action>
    44. <action id="SwitchLeft">
    45. <keyboard-shortcut first-keystroke="control alt LEFT" />
    46. </action>
    47. <action id="SwitchRight">
    48. <keyboard-shortcut first-keystroke="control alt RIGHT" />
    49. </action>
    50. <action id="SwitchUp">
    51. <keyboard-shortcut first-keystroke="control alt UP" />
    52. </action>
    53. </keymap>

IntelliJ IDEA 使用心得与常用快捷键

Jimi是谁? 就是洒家啊!

刚开始学习写Java的时候,用的eclipse,正式工作后,主要用的myeclipse,去年初在前辈的推荐下,在2折的时候买了正版的 IntelliJ IDEA 和 Pycharm,12.0版终生使用,一年更新。
使用前早就久闻其名,据说是最好的Java开发工具。
起先用的非常不习惯,但是花了钱的,硬着头皮用了下去。
短短一个礼拜,彻底爱上了它!就是辣么酸爽!--------------------------------------------------------------谨以此文献给对于拥抱IDEA还存在疑虑的筒子们

JetBrains(这个公司的名称翻译过来就是“大脑喷射?”) 公司的宣传语是这么说的:Develop with pleasure!(带着快乐开发!)

Why?
他们咋这么有信心呢?
这到底是怎样的一个工具?

跟我一起来数数IDEA特别长的地方:

一.黑色主题 Darcula

眼睛舒服,最重要的是酷!
设置方式:FILE--Settings--Edit--Colors&Fonts--Scheme name

ideaic快捷键-LMLPHP

二.智能提示

创建或引入项目的时候,会自动引入缺少的包,真找不着的还可以search in the net
键入代码的时候,区分大小写的智能提示,自动引入包,如果有重名的会列出所有选择,但是比 myeclipse 的更聪明,至于怎么个聪明法,你自个儿试试就知道了

三.工具集成

基本上正式开发的常用工具基本都集成了,而且基本都在你非常容易触到的位置。
说说我比较常用的:

1.ant
你懂的

2.maven
你也懂的

3.SVN
相比之下,IDEA的SVN的提交提供了更多的选项和功能
提交的界面两侧会显示当前文件和修改的部分对比,可以非常方便地检查和修改文件。
提交前:
(1).可选择自动格式化
(2).可选择自动忽略没有使用的imports
(3).可选择分析代码
(4).检查是否有TODO
提交后甚至可以选择将改变上传到特定的目录
ideaic快捷键-LMLPHP

4.系统终端
有了这个东西,你就不必频繁地切换窗口了
打开方式:Tools--Open Terminal

5.SSH工具
打开方式:Tools--Start SSH session

6.数据库连接工具
打开方式:View--Tool Windows--Database

7.IDEA talk
神奇的东西,你可以联系局域网内其它的IDEA使用者,可以方便地把你的代码show给你的同事
打开方式:View--Tool Windows--IDEA talk

8.Changes
非常方便的changes视图,它会变色显示你所有改动过的文件,而且可以方便的与 本地历史 或 线上历史 做对比
打开方式:View--Tool Windows--Changes

还有git、github、cvs、groovy consle以及等等,真没有的你还可以:
FILE--Settings--Plugins

四.强大的绘图工具

读源码看不懂项目结构?写文章画类图好麻烦?
右键diagram帮助你
ideaic快捷键-LMLPHP
上个例图:
ideaic快捷键-LMLPHP
右键选择 Show Categories 有惊喜,什么值域、方法、构造器、内部类统统有

五.无缝接入eclipse和myeclipse

IDEA可以直接打开有.project文件的项目,也可以将自身项目导出成eclipse的项目。
而且因为IDEA的项目配置文件为1个.iml文件加一个独立文件夹.idea,
所以只要你将两者放入ignore目录,即使在你个人使用IDEA而团队使用其他IDE的情况下,也并不会对其他人造成麻烦。

导出方法:FILE--Export to eclipse

六.更小的体积,更快的速度

用过myeclipse的你明白的

综上,我想你应该能够明白,为啥用IDEA写代码,就是那么愉快,就是那么酸爽,就是那么令人停不下来!

接着分享开发中我比较常用的一些快捷键:

一.找文件找代码找引用相关

1.双击shift
 在项目的所有目录查找,就是你想看到你不想看到的和你没想过你能看到的都给你找出来

2.ctrl+f
当前文件查找特定内容

3.ctrl+shift+f
当前项目查找包含特定内容的文件

4.ctrl+n
查找类

5.ctrl+shift+n
查找文件

6.ctrl+e
最近的文件

7.alt+F7
非常非常频繁使用的一个快捷键,可以帮你找到你的函数或者变量或者类的所有引用到的地方

二.编辑相关

1.shift+enter
另起一行

2.ctrl+r
当前文件替换特定内容

3.ctrl+shift+r
当前项目替换特定内容

4.shift+F6
非常非常省心省力的一个快捷键,可以重命名你的类、方法、变量等等,而且这个重命名甚至可以选择替换掉注释中的内容

5.ctrl+d
复制当前行到下一行

6.ctrl+x
剪切当前行

7.ctrl+c \ ctrl+v 
大家都懂的

8.ctrl+z
撤销

9.ctrl+shift+z
取消撤销

10.ctrl+k
提交代码到SVN

11.ctrl+t
更新代码

12.alt+insert
非常非常以及相当方便的一个组合键,不信您往下看
在类中使用:
ideaic快捷键-LMLPHP

可以自动生成构造器、getter/setter等等常用方法
在项目目录上使用:
ideaic快捷键-LMLPHP

可用于新建各种文件。

13.alt+enter
又是一个大杀器,有多杀?
例1:
发现代码很“黄”怎么办?
ideaic快捷键-LMLPHP
鼠标移上去喵一下:
ideaic快捷键-LMLPHP
试试alt+enter:
ideaic快捷键-LMLPHP
选择simplify看看
ideaic快捷键-LMLPHP
我勒个去,代码简洁了有木有啊!

PS:黄色警告编译可以通过,不影响程序的正常运行,一般都是一些对于代码优化的建议,我遇到过的有:
(1).can be simplify
代码可以简化
(2).Variable is never use
声明的变量从未被使用
(3)unnecessary boxing
不必要的声明包装

以及等等等,多留意下,对于编码的某些细节能够更了解。

例2:
写个类实现某个接口,加上 implements Runnable 后你就会发现这条红色的波浪线:
ideaic快捷键-LMLPHP
咱试试在这行上来个 alt+enter:
ideaic快捷键-LMLPHP
感动地哭了有木有?你想到的没想到的IDEA都帮你想到了。
看到代码里提示的各种红XX,就试试alt+enter吧!什么未抛异常啊没有try catch啊都能搞得定。

14.ctrl+alt+L

自动格式化代码,我已经养成了写完代码就来一发的习惯。
你可以个性化设置你自己的代码风格:File--Settings--CodeStyle

——————————切——————————切——————————切——————————切——————————切——————————

凡事有利有弊,IDEA同样是把双刃剑,最后说说它不好的地方

1.最重要的就是“贵”!
专业版个人许可2折可以接受,5折小贵,不打折桑不起!!!囧RZ~
美刀的消费水准令国内大多在屌丝线上挣扎的猿类们望而却步。
好在JetBrains是有社区版的,最近对于学生也有免费的Key。
对于使用破解版的小伙伴,建议自己用用就好了,不必太声张。

用户养成良好的软件付费习惯,才能让我们的工作变得越来越有价值。

2.集成太完善了
集成的工具完全能够应付大多数的工作需求,对于不求甚解又偷懒的筒子们,直接使用,可能很多工具的细节,你都不会了解,也不会再去了解了。
比如:maven,ant

3.不自带JDK
不是缺点的缺点,myeclipse是集成的

差不多了,该撸代码了。
以上这些,就是我使用IDEA一年半来几乎所有的心得了。
能力有限,砖头轻拍。
如果你有杀伤力更强大的手段,欢迎交流。

05-20 11:35