IntelliJ IDEA 享受高效开发

        大学阶段使用的是eclipse,工作后开始接触idea,在使用了一段idea之后,完全被它的强大之处深深吸引,尤其是它的代码智能提示补全。此外它的debug模式和插件安装上用起来也是非常的方便。总之idea的合理使用将会大大的提高程序员的开发效率。最近有空,就把idea的常规操作设置总结了一下。

一.IntelliJ IDEA介绍与常规设置

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 IDEA是JetBrains公司的产品,其官方网址http://www.jetbrains.com/

语言支持:Java、scala、Groovy,安装插件后可以支持更多语言

数据库支持:mysql、oracle、Sql Server、PostgreSQL

框架支持:springMVC、GWT、paly、webservice、Jsp、struts、hibernate

前端框架支持:html5、css3、sass、less、node.js

1.IDEA的安装及基本配置

1.1安装目录

IntelliJ IDEA 享受高效开发

主要关注bin目录下的idea64.exe(启动)、idea64.exe.vmoptions(虚拟机参数配置,可以配置堆内存的初始化和最大值等)和idea.properties(属性配置)。

IntelliJ IDEA 享受高效开发

1.2基本设置

1)主题设置(File >> Settings)

 

IntelliJ IDEA 享受高效开发

2)字体设置

Appearance&Behavior >> Appearance >> Override Default fonts

IntelliJ IDEA 享受高效开发

3)文件编码

Editor >> File Encodings, 可以对Global Encoding、Project Encoding、PropertiesFiles 编码进行设置,如下:

IntelliJ IDEA 享受高效开发

  1. 区分大小写设置

  IntelliJ IDEA 享受高效开发

IntelliJ IDEA的代码提示与补充功能有一个特性:区分大小写。如上图所示,默认就是 First letter 区分大小写的。

区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer, IntelliJ

IDEA是不会帮我们提示或是代码补充的,但是如果我们输入 StringBuffer 就可以进行代码提示和补充。

如果想不区分大小写的话,改为 None 选项即可。

5)开启自动 import 包的功能

IntelliJ IDEA 享受高效开发

 

标注1:在我们书写代码的时候,自动帮我们优化导入的包,比如去掉一些没有用到的包

标注2:在我们书写代码的时候,自动帮我们导入需要的包,但是对于那些同名的包,只能进行手动选择导入,idea不能只能帮我们选择

  1. 设置指定代码类型进行默认折叠或是展开

IntelliJ IDEA 享受高效开发

 

勾选上的表示该类型的代码在文件被打开的时候默认是被折叠的,去掉勾选则反之。

7)设置IntelliJ IDEA显示内存

IntelliJ IDEA 享受高效开发

 如图所示,IDEA 默认是不显示内存使用情况的,对于大内存的机器来讲不显示也无所谓,但是如果是内存小的机器最好还是显示下。点击后可以进行部分内存的回收。

8)设置代码检查等级,针对当前文件

IntelliJ IDEA 享受高效开发

IntelliJ IDEA 对于编辑大文件并没有太大优势,很卡,原因就是它有各种检查,这样是非常耗内存和 CPU 的,所以为了能加快大文件的读写,一般会暂时性设置为 None

 标注1:Inspections 为最高等级检查,可以检查单词拼写,语法错误,变量使用,方法之间调用等。

 标注2:Syntax 可以检查单词拼写,简单语法错误。

 标注3:None 不设置检查。

9)设置Ctrl + 滚轮缩放文件

IntelliJ IDEA 享受高效开发

10)类代码模板自定义(注释)

在默认情况下我们新建一个class 对象,在对象顶部是没有注释的,但实际多人开发中,我们可能需要加一些说明,来说明这个class做什么,以及这个class对象的作者等信息

Settings>>Editor >> File and Code Templates

IntelliJ IDEA 享受高效开发

11)设置方法注释模板

IntelliJ IDEA 享受高效开发

1设置模板名称,建议就是 * 号

2模板描述,可以没有

3模板,注意开头是没有 /* 的

4添加模板生成的地方,点开选择java或者全部都可以

5设置模板快捷键,我设置为回车

6编辑模板中的参数

IntelliJ IDEA 享受高效开发

7点apply完成

8用法:跟原来的一样: /** + 回车 即可,这就是为什么取名为 * 的好处

  1. 编码快捷设置
  1. Idea设置sosy

  IntelliJ IDEA 享受高效开发

  1. idea设置main

IntelliJ IDEA 享受高效开发

  1. idea设置生成常量

IntelliJ IDEA 享受高效开发

 

  1. idea设置快速生成方法模板

IntelliJ IDEA 享受高效开发

 

 

二.IntelliJ IDEA 缓存和索引的介绍及清理方法

    对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,大型项目在创建索引的过程中可能会出现卡顿的现象,因此强烈建议在 IntelliJ IDEA 创建索引的过程中不要动项目。”那么,索引到底是干什么用的呢?

IntelliJ IDEA 的缓存索引主要是用来加快文件查询的速度,从而提高各种查找、代码提示等操作的速度,因此索引对 IntelliJ IDEA 的高效性来说,具有至关重要的作用。但是,IntelliJ IDEA 的缓存和索引并不一定总是起到积极的作用,有的时候,反而会因为缓存和索引的损坏,例如突然断电、蓝屏引起的强制关机等等,造成 IntelliJ IDEA 出现一些莫名其妙的问题,例如项目打不开、个性化设置还原等等。接下来,就让我们一起看一看如何清理缓存和索引:

File >>Invalidate Caches / Restart就是清理缓存和索引的入口  

IntelliJ IDEA 享受高效开发


 

 

三.IntelliJ IDEA 编译方式介绍及编译器的设置和选择

1.编译方式介绍

相对于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也可以通过设置开启实时编译,但是太浪费资源了,因此不建议这样做。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还可以在“容器”运行之前配置一个编译事件,先编译后运行。在默认情况下,IntelliJ IDEA 也都是这样设置的,因此在实际开发中,咱们也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译(未设置时),但是这并不影响代码的自动检查。但是对于多个类之间的关联关系,还是要等Build或Rebuild触发的时候才会做相关检查的。

IntelliJ IDEA 享受高效开发

标注1:Build Project,编译项目

标注2:Build Module,编译模块

标注3:Recomplie,重新编译类文件

标注4:Rebuild Project 重新编译项目

如上图所示,在 IntelliJ IDEA 中,编译方式有以上 3 种,分别为:

Build:对选定的目标(Project 或 Module)进行编译,但只编译修改过的文件,没有修改过的文件则不会进行编译。

Recompile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。

Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 它的目标只有 Project,因此每次 Rebuild 花的时间都比较长。

IntelliJ IDEA 享受高效开发

如上图所示,IntelliJ IDEA 默认在运行项目之前先进行Build操作。

 

2. 编译器的设置和选择

IntelliJ IDEA 享受高效开发

标注1:设置自动编译项目;

标注2:设置编译时heap大小;

标注3:设置编译时的VM参数。

如上图所示,定位到“ Build,Execution,Deployment > Complie ”页面,通过勾选 标注1 所示的Build project automatically,咱们可以设置 IntelliJ IDEA 进行自动编译;标注2 表示设置编译heap大小,默认为 700,如果使用 64 位的机器,在内存足够的情况下,可以尝试修改为 1500 或以上,此外,如果咱们在编译的时候报出OutOfMemoryError的错误,也可以来修改(减小)这个参数;标注3 表示设置编译时的虚拟机参数,这个可以根据需求进行个性化设置,一般情况下,默认就可以。

IntelliJ IDEA 享受高效开发

如上图所示,定位到“ Build,Execution,Deployment > Compiler > Excludes ”页面,可以通过点击 标注1 所示的+和-,任意添加或删减目录(或文件)进行编译排除。在编译项目的时候,如果任何一个可编译的文件没有编译通过,那么 IntelliJ IDEA 就无法运行起来,必须等全部问题解决并且编译通过之后,IntelliJ IDEA 才能运行起来。不过有可能在开发过程中,某一个包目录的文件编译无法通过,但是咱们又不急着改,这时咱们就可以考虑把该包加入到排除编译列表中,这样的话,项目就可以运行起来。

IntelliJ IDEA 享受高效开发

 

标注1:Use compile;

标注2:Project bytecode version;

标注3:Per-module bytecode version.

如上图所示,咱们定位到“ Build、Execution、Deployment > Compiler > Java Compiler ”页面,标注1 所示为 IntelliJ IDEA 支持的编译器,包括 Javac、Eclipse、Ajc 等,默认是 Javac,也推荐使用 Javac;标注2 所示为针对项目字节码编译版本,一般选择的是当前项目主 JDK 的版本;标注3表示可以针对Project下各个Module的特殊需求单独设置不同的bytecode version,当然,前提是咱们的电脑上必须事先安装对应的 JDK 版本。

  • IntelliJ IDEA插件的安装

File >> Settings >> Plugins  进入插件安装界面

IntelliJ IDEA 享受高效开发

标注 1:显示 IntelliJ IDEA 的插件分类,

All plugins:显示 IntelliJ IDEA 支持的所有插件;

Enabled:显示当前已启用的插件;

Disabled:显示当前未启用的插件;

Bundled:显示 IntelliJ IDEA 所有自带的插件;

Custom:显示我们自己安装的插件。

标注 2:打钩√表示为已经启用的插件;

标注 3:安装 JetBrains 开发的插件;

标注 4:安装插件仓库提供的插件;

标注 5:安装本地已经下载完的插件。

 

常用插件

 

插件名称

插件介绍

官网地址

Alibaba Java Coding Guidelines

阿里巴巴代码规范检查插件

https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines

Key promoter

快捷键提示插件

https://plugins.jetbrains.com/plugin/4455?pr=idea

Grep Console

自定义控制台输出格式插件

https://plugins.jetbrains.com/idea/plugin/7125-grep-console

CheckStyle-IDEA

代码规范检查插件

https://plugins.jetbrains.com/plugin/1065?pr=idea

FindBugs-IDEA

潜在 Bug 检查

https://plugins.jetbrains.com/plugin/3847?pr=idea

MetricsReloaded

代码复杂度检查

https://plugins.jetbrains.com/plugin/93?pr=idea

Statistic

代码统计插件

https://plugins.jetbrains.com/plugin/4509?pr=idea

JRebel Plugin

热部署插件

https://plugins.jetbrains.com/plugin/?id=4441

CodeGlance

显示代码地图插件

https://plugins.jetbrains.com/plugin/7275?pr=idea

Markdown Navigator

Markdown 编辑器插件

https://plugins.jetbrains.com/plugin/7896?pr=idea

Eclipse Code Formatter

Eclipse 代码风格格式化插件

https://plugins.jetbrains.com/plugin/6546?pr=idea

Jindent-Source Code Formatter

自定义模板插件

http://plugins.jetbrains.com/plugin/2170?pr=idea

Maven Helper

Maven 辅助插件

https://plugins.jetbrains.com/plugin/7179-maven-helper

Properties to YAML Converter

Properties 转 YAML 格式插件

https://plugins.jetbrains.com/plugin/8000-properties-to-yaml-converter

Git Flow Integration

Git Flow 集成插件

https://plugins.jetbrains.com/plugin/7315-git-flow-integration

 

 

  • IntelliJ IDEA快捷键

需要记住的快捷键:

搜索全部文件名:Shift + Shift

查找:Ctrl + F

全文检索:Ctrl + Shift + F

显示意向行动和快速修复:Alt + Enter

生成代码:Alt + Insert(生成get、set、hashCode等方法)

方法的参数信息提示:Ctrl + P

选择代码块:Ctrl + W 或双击鼠标

最近文件弹出窗口:Ctrl + E

文件Revert:Ctrl + Alt + Z

光标位置移动:Ctrl + Alt + 箭头

去除多余的包:Ctrl + Alt + o

常规:

打开相应工具窗口:Alt + #[0-9]

编辑器最大化:Ctrl + Shift + F12

打开设置对话窗口:Ctrl + Alt+ S

打开项目结构对话窗口:Ctrl + Alt +Shift + S

 

调试:

跳出函数/单步执行:F8/F7

运行至光标:Alt + F9

继续运行程序:F9

切换断点:Ctrl + F8

查看断点:Ctrl + Shift + F8

搜索替换:

查找:Ctrl + F

查找上一个/下一个:F3 / Shift + F3

替换:Ctrl + R

指定路径查找:Ctrl + Shift + F

指定路径替换:Ctrl + Shift + R

选择下次出现:Alt + J

不选择出现:Alt + Shift + J

选择全部出现:Ctrl + Alt +Shift + J

 

编辑:

完成语句:Ctrl + Shift + Enter

参数查询:Ctrl + P

简要信息:Ctrl + mouse

显示光标所在位置的错误说法:Ctrl + F1

生成代码:Alt + insert

重载方法:Ctrl + O

实现方法:Ctrl + I

把代码包在一个块内,例如:try/catch  Ctrl+Alt+T

行注释/取消注释:Ctrl + /

块注释/取消注释:Ctrl + Shift + /

重新格式化代码:Ctrl + Alt + L

自动行缩进:Ctrl + Alt + I

剪切当前行:Ctrl + X,  Shift + Delete

删除当前行:Ctrl + Y

复制当前行到粘贴板:Ctrl + C, Ctrl + Insert

从最新缓冲区粘贴:Ctrl + Shift + V

另起一行:Shift + Enter

光标所在位置大小写转换:Ctrl + Shift + U

删除至文字结束:Ctrl + Delete

删除至文字开始:Ctrl + BackSpace

展开/收缩代码块:Ctrl + -  /   Ctrl + +

全部展开/收缩:Ctrl + Shift + - / +

关闭标签页:Ctrl + F4

 

重构:

重命名:Shift + F6

提取方法:Ctrl + Alt + M

提取变量:Ctrl + Alt + V

提取字段:Ctrl + Alt + F

提取参数:Ctrl + Alt + P

提取常量:Ctrl + Alt + C

 

导航:

跳转到类:Ctrl + N

跳转到文件:Ctrl + Shift + N

跳转到符号:Ctrl + Alt + Shift + N

跳转到上一个/下一个编辑器标签:Alt + Right/Left

跳转到上一个下一个方法:Alt + Up/Down

跳转到上一个工具窗口:F12

从工具窗口跳转到编辑器:Esc

隐藏最后活动的窗口:Shift + Esc

跳转到指定行:Ctrl + G

最近文件弹出窗口:Ctrl + E

跳转到上次编辑位置:Ctrl + Shift + BackSpace

跳转到定义:Ctrl + B

跳转到实现:Ctrl + Alt + B

打开快速查找定义:Ctrl + Shift + I

跳转到类型定义:Ctrl + Shift + B

跳转到超方法/类:Ctrl + U

光标移动到代码块结束/开始:Ctrl + ]/[

当前文件结构弹出窗口:Ctrl + F12

类型层次:Ctrl + H

方法层次:Ctrl + Shift + H

调用层次:Ctrl + Alt + H

下一个/上一个高亮错误显示:F2/Shift + F2

显示导航栏:Alt + Home

添加/去除书签:Ctrl + F11 / F11

跳转到书签:Ctrl + [0-9]

显示书签:Shift + F11

 

编译和运行

生成项目(编译修改和依赖项):Ctrl + F9

编译选择的文件、包或模块:Ctrl + Shift + F9

选择配置并运行/调试:Alt + Shift + F10/F9

运行/调试:Shift + F10/F9

从编辑器运行上下文配置:Ctrl + Shift + F10

 

搜索使用:

高亮显示文件中的使用:Ctrl + Shift + F7

显示使用:Ctrl + Alt + F7

版本控制/本地历史记录:

提交代码:Ctrl + K

更新代码:Ctrl + T

提交(push):Ctrl + Shift + K

快速弹出VCS:Alt + BackQuote(`)