快捷键:
Ctrl+F12,可以显示当前文件的结构,Alt+7,可在左侧生成固定框体控件,适合类复杂的情况

Ctrl+Alt+O,优化导入的类和包
Ctrl+X,删除行
删除光标所在的哪一行,对尤其是长行代码,不需要全选再删除。
Ctrl+H,显示类结构图(类的继承层次),Alt+8 一样的效果

Ctrl+D,复制行

Alt+F7,在项目中查找用法,也就是这个方法用在了什么地方

Ctrl+F7,在当前文件中查找用法,仅限于在当前文件中查找当前方法使用的地方。
Alt+Ctrl+F7,在当前类编辑器视图中弹出框体,罗列该类在所有class中的用法。

Ctrl+Alt+F,在路径中查找,可以可以在整个项目中查找某个字符串。
如果是前台请求,可以方便地找到对应的后台处理类或者配置的地方。

Ctrl+F,在当前文件中查找某个字符串。

Shift+F6,重命名,包括文件名类名方法名变量名等。
Alt+6,查找项目中所有todo的位置。
Ctrl+F9,生成项目,此处应该是编译项目。
Ctrl+”+/-”,当前方法展开、折叠
Ctrl+Shift+”+/-”,全部展开、折叠,通常是文件过大所以折叠以便查看
Alt+Shift+F9,选择 Debug,弹出debug列表,包括所有被设置为debug运行的程序

Alt+Shift+F10,选择 Run,同上。
Ctrl+Shift+F9,编译
Ctrl+Shift+F10,运行
此处应该是编译和运行当前文件,如果没有main函数或者不是junit可执行方法,就无法运行。如果junit有多个test,则多个test会顺序执行!
Ctrl+Shift+F8,查看断点,查找所有被设置断点的地方。

用来进行断点调试,调试步入会以此进入类内部,依次调用方法,可以跟踪执行路径,很有用!
F8,步过
F7,步入
Shift+F7,智能步入
Shift+F8,步出
Alt+Shift+F8,强制步过
Alt+Shift+F7,强制步入
Alt+F9,运行至光标处
Ctrl+Alt+F9,强制运行至光标处
Ctrl+G , 定位到行,列!
比如第50行,可以用这个办法,适合文件很长而且记得大改行号的情况。

Ctrl+U,转到父类,如果有多个父接口和父类,会弹出框子让你选择哪个。
Ctrl+Shift+U,大小写转化,会先转化成小写,再次激活转化为大写。适合比如静态常量的声明时。
Ctrl+Alt+B,跳转到方法实现处
太有用了,因为idea的ctrl只能跳转到接口,所以还是要找一下实现类,然后在找一下该方法的定义处。
而这个快捷键一步到位,以后查看service实现就很方便啦。
Alt+Insert,可以生成构造器/Getter/Setter等

Ctrl+Alt+L,格式化代码
Ctrl+Alt+I,将选中的代码格式化
Ctrl+/或Ctrl+Shift+/,注释(//或者/**/),但是好像没有快捷键直接支持/***/这种注释,只有先敲/**然后回车。
Ctrl+J,自动代码,如写个main,然后Ctrl+J可以提示,enter即可写出main函数。
Ctrl+Shift+Enter,自动补全代码:
比如你写了个if,再按个自动补全代码,那么if后面的小括号大括号都有了,wh,for,都可以直接生成大小括号,但是if不支持直接生成else子句。
而且诡异的是try不支持自动补全,但是catch快支持自动补全。
如果你只是敲了if,

在候选框里直接enter,就是if判断,这时会给你一对小括号,但是没有花括号。while也是。
此外,调用其他方法也是这样,自动补全代码默认你要补全的就是候选第一个,如果不是,就要你自己选择了。补全可以补全你的方法名和小括号,以及分号。


Ctrl + Alt + T,将代码包含在...
选择你的代码,然后按下快捷键,会有一串列表,选择你要把你的代码包围在什么里面,是循环判断还是捕获异常?这里都会给你补全代码,循环和判断的逻辑要自己写。



比如可以把这样代码作为一个单独运行的线程:

有点NB啊!
Ctrl + W,选择连续的代码块。
从某个单词开始,到这个单词所在的小括号,到所在行,然后选择包含这行的花括号范围,接着是外面的花括号,最终到整个类。
某些时候当这个代码结构循环判断特别复杂的时候,可能通过 这个来看清哪些代码是一块儿的。
Alt+Q,Ctrl+Q:
Alt+Q,会把class显示出来:

Ctrl+Q,显示注释信息:
如果是在方法上激活,会提示这个方法的doc注释,

如果是在变量上激活,会提示这个变量定义处。

如果是类上激活,会提示这个类的定义。其他地方无法激活。

Ctrl + Shift + J , 将选择的行合并到一行中,只有某些非常简单代码才需要这样做,比如get/set
双击shift,可以查找项目中的文件。
Ctrl + Tab,切换tab页,比如你要在两个类之间频繁切换,用这个最好,理论上说,还可以*选择切换到哪个tab,但是这样还不如用鼠标找,tab页太多的时候,反而会眼花缭乱。这个快捷键应用很广,在QQ,plsql中也是支持的。所以Alt+Tab 和 Ctrl+Tab,可以在系统窗口和应用窗口之间迅速切换,效率很高。
Ctrl+Alt+S,打开设置对话框。
重构神器:Alt+Shift+Ctrl+T

该神器配合《重构,改善既有代码的设计》食用更佳。其中Method可以把选中的代码抽到一个单独的方法中,你只需要写一个见名知意的方法名,参数和返回值都会给你封装好。特别方便。
如果你发现方法中有一段代码你要写个注释,说明一下这里是循环,这里是封装,这里是打印,之类的,都可以使用方法抽取,这样原先一个200行的方法,可能变成了3个50行的方法和5个10行的代码,虽然代码总行数未必会有显著优化,但是方法细分之后,重用性能够得到大大的提高,而且原先的200行方法经过简化,结构会变得非常清晰。
而Method Object 方法对象抽取,是指你抽取方法时,发现有两个以上的局部变量的值被改变,也就是说方法需要返回两个以上的值。当然写一个Object[]也能够做到,但是Object[0]代表什么意思就变得模棱两可。所以这种情况,就把这多个变量作为某个Object的成员变量,这样将代码封装到新的method object 的初始化代码里,然后直接get就可以了。具体大家用一用就了然了。
idea的其他设置:
dataBase工具,简单的数据库工具,如果右侧底边没有这些标签,试一试双击Alt。

或者Shift+F12,还原默认布局,Ctrl+Shift+F12,隐藏/恢复所有窗口

然后按照弹出窗口的提示操作即可,不过还是没有plsql好用。
要想找项目的文件编码设置,maven设置,webService设置,编辑器样式设置,都可以在setting里设置。


