智能提示

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

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



代码生成

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


sout:


System.out.println();

fori


for (int i = 0; i < ; i++) {

}

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



查找打开

类似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就会自动为你过滤。




其他辅助

以上这些神键配上一些辅助快捷键,即可让你的双手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进入到列模式进行按列选中。


 最终榜单

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

Ø  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


下面以表格的形式进行归类:


动作

快捷键

说明

Move Caret to Code Block End

Ctrl+]

诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处

Move Caret to Code Block Start

Ctrl+[

同上,快速跳至代码块的开始出

Complete Current Statement

Ctrl+Shift+Enter

将输入的if、for、函数等等补上{}或者;使代码语句完整

Start New Line

Shift+Enter

在当前行的下方开始新行

Start New Line Before Current

Ctrl+Alt+Enter

在当前行上方插入新行

Delete to Word End

Ctrl+Delete

删除光标所在至单词结尾处的所有字符

Delete to Word Start

Ctrl+BackSpace

删除光标所在至单词开头的所有字符

Move Caret to Previous Word

Ctrl+向左箭头

将光标移至前一个单词

Move Caret to Next Word

Ctrl+向右箭头

将光标移至后一个单词

Scroll Up

Ctrl+向上箭头

向上滚动一行

Scroll Down

Ctrl+向下箭头

向下滚动一行

Extend Selection

Ctrl+W

选中整个单词

Toggle Case

Ctrl+Shift+U

切换大小写

———————————————Edit——————————————————–

动作

快捷键

说明

Undo

Ctrl+Z

撤销

Redo

Ctrl+Shift+Z

重做

Cut

Ctrl+X

剪切

Copy

Ctrl+C

复制

Paste

Ctrl+V

粘贴

Join Lines

Ctrl+Shift+J

将选中的行合并成一行

—————-Find—————–

动作

快捷键

说明

Find

Ctrl+F

在当前文件中查找

Replace

Ctrl+R

替换字符串

Find in Path

Ctrl+Shift+F

在全局文件中查找字符串

Replace in Path

Ctrl+Shift+R

在全局中替换字符串

Find Usages

Alt+F7

查找当前变量的使用,并列表显示

Show Usages

Ctrl+Alt+F7

查找当前变量的使用,并直接对话框显示

Find Usages in File

Ctrl+F7

在文件中查找符号的使用

Highlight Usages in File

Ctrl+Shift+F7

在文件中高亮显示变量的使用

这里的快捷键用的频率还是很高的,但是之前用的最多的是Ctrl+F和Ctrl+Shift+F,后面相关的Find Usages基本上没有用过,后面应该多使用,有的时候相对Ctrl+F在文件内按字符串查找,还是更好用一些

—————————————–Navigate————————————————

动作

快捷键

说明

Class…

Ctrl+N

查找类文件

File…

Ctrl+Shift+N

查找文件

Line…

Ctrl+G

定位到文件某一行

Back

Alt+向左箭头

返回至上次光标位置

Forward

Alt+向右箭头

返回至后一次光标位置

Last Edit Location

Ctrl+Shift+Backspace

返回上次编辑位置

Next Edit Location

Ctrl+Shift+反斜杠

返回后一次编辑位置

Declaration

Ctrl+B

定位至变量定义的位置

Implementation(s)

Ctrl+Alt+B

定位至选中类或方法的具体实现

Type Declaration

Ctrl+Shift+B

直接定位至光标所在变量的类型定义

Super Method

Ctrl+U

直接定位至当前方法override或者implements的方法定义处

File Structure

Ctrl+F12

显示当前文件的文件结构

File Path

Ctrl+Alt+F12

显示当前文件存放在的路径,并可以方便的将相关父路径目录打开

Type Hierarchy

Ctrl+H

显示当前类的继承层次

Method Hierarchy

Ctrl+Shift+H

显示当前方法的继承层次

Call Hierarchy

Ctrl+Alt+H

显示当前方法的调用层次

Next Highlighted Error

F2

定位至下一个错误处

Previous Highlighted Error

Shift+F2

定位至前一个错误处

Previous Occurrence

Ctrl+Alt+向上箭头

查找前一个变量共现的地方

Next Occurrence

Ctrl+Alt+向下箭头

查找下一个变量共现的地方

目前还不知道Previous Occurrence 和 Next Occurrence是怎么用的,在变量上使用没有反应。不过在Edit–Find菜单下有几个菜单项:Find Next \/ Move to Next Occurrence、Find Previous \/ Move to Previous Occurrence等。当选中变量的时候,需要首先点击“Find Word at Caret”,然后再点击上述选项才有用

————————————————-Code———————————————–

动作

快捷键

说明

Override Methods…

Ctrl+O

重写基类的方法

Implement Methods…

Ctrl+I

实现基类或接口中的方法

Generate…

Alt+Insert

产生构造方法、getter/setter等方法

Surround With…

Ctrl+Alt+T

将选中的代码使用if、while、try/catch等包装

Unwrap/Remove…

Ctrl+Shift+Delete

去除相关的包装代码

—————————————–Completion——————————————

动作

快捷键

说明

Basic

Alt+/

自动完成

SmartType

Alt+Enter

自动提示完成

—————————————-Folding————————————————-

动作

快捷键

说明

Expand

Ctrl+=

展开代码

Collapse

Ctrl+-

收缩代码

Expand Recursively

Ctrl+Alt+=

递归展开代码

Collapse Recursively

Ctrl+Alt+-

递归收缩代码

Expand All

Ctrl+Shift+=

展开所有代码

Collapse All

Ctrl+Shift+-

收缩所有代码

———————————

动作

快捷键

说明

Insert Live Template

Ctrl+J

插入Live Template

Surround with Live Template

Ctrl+Alt+J

使用Live Template包装

Comment with Line Comment

Ctrl+/

使用//进行注释

Comment with Block Comment

Ctrl+Shift+/

使用/**/进行注释

Reformat Code

Ctrl+Alt+L

格式化代码

Auto-Indent Lines

Ctrl+Alt+I

自动缩进行

Optimize Imports

Ctrl+Alt+O

优化import

———————————

动作

快捷键

说明

Move Statement Down

Ctrl+Shift+向下箭头

将光标所在的代码块向下整体移动

Move Statement Up

Ctrl+Shift+向上箭头

将光标所在的代码块向上移动

Move Element Left

Ctrl+Alt+Shift+向左箭头

将元素向左移动

Move Element Right

Ctrl+Alt+Shift+向右箭头

将元素向右移动

Move Line Down

Alt+Shift+向下箭头

将行向下移动

Move Line Up

Alt+Shift+向上箭头

将行向上移动

————————————-Refactor——————————————–

动作

快捷键

说明

Rename

Shift+F6

重命名

Change Signature

Ctrl+F6

更改函数签名

Type Migration

Ctrl+Shift+F6

更改类型

!!!!重要!!!!常用插件

!!!!重要!!!!所谓工欲善其事必先利其器,有牛逼的插件,让你写代码时更加得心应手,现在介绍几款常用的插件

ACE jump



Alibaba Java Coding Guidelines

阿里巴巴于10月14号在杭州云栖大会上,正式发布《阿里巴巴Java开发规约》的扫描插件。该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,该插件还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能。


github地址

https:///alibaba/p3c

效果图如下: 

插件的安装方式

最低版本 JDK1.7+

打开AndroidStudio Setting–> Plugins–> Browse repositories

输入Alibaba 可以看到插件 点击安装

重启as

这里我已经做了安装

使用方法

鼠标右键即可:

运行可以看到编辑器底部提示信息:

代码提示:

完整提示



JUnitGenerator V2.0

JUnitGenerator V2.0插件,可以帮助我们自动生成测试代码。如果搜索junit没有JUnitGenerator V2.0时,如下图操作(下载添加):

idea flink 使用_Line

配置

idea flink 使用_快捷方式_02

idea flink 使用_idea flink 使用_03

根据maven目录结构,修改为:${SOURCEPATH}/../../test/java/${PACKAGE}/${FILENAME}


idea flink 使用_idea flink 使用_04