IntelliJ IDEA详细配置和使用教程

前言

正所谓工欲善其事必先利其器,对开发人员而言若想提高编码效率,一款高效的开发工具是必不可少的,相信看到该博客的朋友们都已经对IntelliJ IDEA有所了解了,所以此处就不对IntelliJ IDEA进行介绍,而是直接阐述在实际开发中应用场景。博主使用的IntelliJ IDEA版本为IntelliJ IDEA 2017,因为博主是一名Java开发工程师,所以以下内容均以Java为主。(相信有不少人和我一样是从Eclipse转粉IntelliJ IDEA,在学习IntelliJ IDEA前请尽量忘记Eclipse有关知识)在学习过程中主要参考了https://github.com/judasn/IntelliJ-IDEA-Tutorial,该教程对IntelliJ IDEA介绍十分详细,你们可以直接点击以上链接进行学习。至于为什么写这篇博文,我的目的是想把自己的个性化配置记录下来,当然如果与此同时能帮助到其他人,岂不美哉,本文将持续更新,由于本文内容较多建议读者从目录树上定位想要获取的配置信息

关闭Intellij IDEA自动更新

在File->Settings->Appearance & Behavior->System Settings->Updates下取消Automatically check updates for勾选

隐藏.idea文件夹和.iml等文件

IntelliJ IDEA项目会自动生成一个.idea文件夹和.iml文讲,看着实在是碍眼,所以对以上文件进行隐藏处理

在File->Settings->Editor->File Types下的”Ignore files and folders”一栏添加 *.idea;*.iml;等配置如下图所示

代码编辑器主题风格

编辑器风格修改个人并不推荐完全由自己来配置,因为网上提供了很多优秀的主题风格,我们可以导入自己喜欢的主题,然后在其基础上进行微调,推荐主题下载网站http://www.riaway.com,安装下载主题步骤:

1.从主菜单打开你的编辑器选择File->ImportSetting.选择你下载的Jar文件;

2.等待重启之后进行配置打开File->Settings->Editor->Colorsandfonts 然后选择你安装的主题即可完成;

设置第一字体和第二字体,修改字体大小:

自行去网上下载相应字体安装后重启Intellij IDEA,在主菜单下选择File->Settings->Editor->Colors & Fonts -> Font

show only monospaced fonts表示筛选显示系统上的等宽字体,由于Windows系统上等宽字体并不多,勾选此选项出现的下拉字体可选择就很少,取消勾选之后,就可以显示系统上所有已安装的字体。我是按教程推荐配置,英文字体选择Monaco,此字体不支持中文,所以把这个设置为第一字体,第二字体使用Yahei Consolas Hybrid,该字体含有中文。字体大小我是修改为20,配置如下图所示:

控制台输出字体和上述类似 此处不进行说明(控制台输出乱码即通过配置字体解决)

文件编码设置

File->Settings->Editor->File Encodings

推荐设置

GlobalEncoding:UTF-8

ProjecttEncoding:UTF-8

Defaultencodingforpropertiesfiles:UTF-8

勾选上Transparentnative-to-ascii conversion

Transparent native-to-ascii conversion属性主要用于转换ascii,不然Properties文件的中文会被转码,IntelliJ IDEA除了支持对整个Project设置编码之外,还支持对目录、文件进行编码设置。如果你要对目录进行编码设置的话,可能会出现需要Convert编码的弹出操作选择,强烈建议在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原。对单独文件的编码修改还可以点击右下角的编码设置区,如果代码内容中包含中文,则会弹出演示中的操作选择,Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么,Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。个人编码配置如下图所示:

类和方法注释模板

1.修改类注释模板

在File->Settings->Editor->File and Code Templates下分别修改Class,Interface,Enum等注释模板,Class模板部分修改如下,其余的举一反三进行修改。以下所示的${DESCRIPTION}是自定义变量,会在创建类时请求输入

/**

  * Copyright (C), 2015-${YEAR}, XXX有限公司

  * FileName: ${NAME}

  * Author:  ${USER}

  * Date:    ${DATE} ${TIME}

  * Description: ${DESCRIPTION}

  * History:

  * <author>          <time>          <version>          <desc>

  * 作者姓名          修改时间          版本号              描述

  */

#if(${PACKAGE_NAME} && ${PACKAGE_NAME} !="")

package${PACKAGE_NAME};

#end

/**

* 〈一句话功能简述〉<br>

* 〈${DESCRIPTION}〉

*

*@author ${USER}

*@create ${DATE}

*@since 1.0.0

*/

publicclass ${NAME} {

}


类注释模板修改配置图

类注释模板修改效果图

2.方法注释模板修改

在File->Settings->Editor->Live Templates下添加自定义Template Group,并在自定义Template Group下添加自定义Template,具体配置如下图所示

详细配置参数

Template text内容如下:

/**

* 功能描述: <br>

* 〈$END$〉

*

$param$

*@return:$return$

*@since: 1.0.0

*@Author:$user$

*@Date: $DATE$ $TIME$

*/

Edit Template Variables请求参数部分内容如下:

groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')}; return result", methodParameters())

在完成如上配置后,只需在方法内执行/**+Enter键即可生成注释,切记这里说的是方法内部,因为methodParameters()的作用域只在方法内部,这也是Intellij IDEA比较蛋疼的一点,博主在网上找了很久也没发现一个好的解决方案,网上也有人推荐使用JavaDOC插件生成注释,有兴趣的朋友也可以尝试一下

方法注释模板修改效果图

代码格式化

代码格式化的快捷键为Ctrl+Alt+L,如果在类中执行代码格式化则会对代码进行排版,若焦点在类或者文件夹上,则会弹出格式化选项提示框,弹出框如下图所示:

Includesubdirectories:是否对子目录也进行格式化

Optimizeimports:优化导入的类和包

Rearrangeenries:对代码顺序进行调整(将Filed放在Method前边)

Filters即配置过滤条件,表示对哪些文件进行格式化

自动导入所有包

在Intellij IDEA一次只能导入单个包,没有像Eclipse快速导入包的快捷键Ctrl+Shift+O,但是Intellij IDEA下有个自动导入包的功能。在File->Settings->Editor->General->Auto Import下进行配置,具体配置如下如所示:

Insertimportsonpaste:复制代码的时候,对于导入的包是否需要进行询问的一个选项。

    ASK(有需要导入的包名时会弹提示框,问你要不要导入)

NONE(有需要导入的包名时不会弹提示框,也不会自动导入)

ALL(有需要导入的包名时会自动导入,不会弹提示框)

Showimportpopup:当输入的类的声明没被导入时,会弹出一个选择的对话框

Optimizeimportsonfly:自动优化包导入,移除不需要的包

Addunambiguous importsonthe fly:这个就是自动导入功能了,当你输入类名后声明就被自动导入了

ExcludefromImportandCompletion:这个其实就是你自定义import,可以不用关注,一般来说你是用不上的

Maven配置

在File->Settings->Build,Execution,Deployment->Build Tools->Maven下对Maven进行配置,个人配置如下图所示

user settingsfile:指定Maven的settings.xml位置

localrepository:指定Maven的本地仓库位置,是读取settings.xml自动配置的

maven homedirectory:指定本地Maven的安装目录所在,因为我已经配置了MAVEN_HOME系统参数,所以直接这样配置IntelliJ IDEA 是可以找到的,但是假如你没有配置的话,这里可以选择你的Maven安装目录

VM optionsforimporter:可以设置导入的VM参数,一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数

ImportMaven projectsautomatically:表示IntelliJ IDEA会实时监控项目的pom.xml文件进行项目变动设置,建议进行勾选

Sources和Documentation:表示在Maven导入依赖包的时候是否自动下载源码和文档,默认是没有勾选的也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可,IntelliJ IDEA 支持直接从公网下载源码和文档的

Maven聚合工程搭建

1.创建父工程(不需要使用模板)

创建完父工程后删除父工程的src目录,该目录在聚合项目中无用

2.添加非web子模块

3.添加web子模块(使用maven web项目模板)

4.创建完查看工程目录结构如下

5.打开pom.xml文件 观察pom.xml文件的变化

生成serialVersionUID

默认情况下Intellij IDEA关闭了继承了Java.io.Serializable的类生成serialVersionUID的警告,如果需要提示生成serialVersionUID,那么需要做以下设置:在File->Settings->Editor->Inspections下勾选中Java->Serialization issues->Serializable class without ‘serialVersionUID’,将光标放到类名上按Atl+Enter键就会提示生成serialVersionUID了

代码提示忽略大小写

在File->Settings->Editor->General->Code Completion下设置Case sensitive completion为none

IDEA脱离版本控制

现在版本控制都有对应的优秀免费的开源客户端,而且稳定性更好。更多时候我们希望IDEA只是作为开发工具使用,而不参与版本控制,在File->Settings->Version Control下设置VCS为none即可脱离IDEA版本控制,配置如下

实用插件推荐

快捷键提示插件

Key promoter是在你通过非快捷键方式使用某功能时 为你提供快捷键建议 在开始记不住快捷键的情况下 强烈推荐安装

翻译插件

翻译插件 TranslationPlugin,支持支持中英互译、单词朗读,详细安装文档请参考:TranslationPlugin介绍与安装手册

热部署插件JRebel

JRebel热部署插件安装和使用请参考:JRebel热部署插件安装和使用

Maven Helper

Maven 辅助插件 用于查找Maven依赖冲突非常好用的一款插件 安装步骤请参考:Maven Helper安装使用

Properties to YAML Converter

在开发SpringBoot项目时,会需要把Properties的配置格式改为 YAML格式,Properties to YAML Converter提供了很好的支持

阿里巴巴代码规范插件p3c-pmd

详细安装和使用请参考:阿里巴巴代码规范插件p3c-pmd

开发必备快捷键

IntelliJ IDEA提供了丰富的快捷键组合来加快开发效率,但是快捷键太多琳琅满目也会给人无从下手的感觉。下面是我个人整理的在开发过程中必备的快捷键,(注:IDEA快捷键可能会与其他软件快捷键产生冲突,在开发过程中有必要进行取舍)此外IntelliJ IDEA 官方提供了学习IDEA快捷键的一个插件:IDE Features Trainer:https://plugins.jetbrains.com/plugin/8554?pr=idea,大家可以自行去插件库下载学习

Ctrl相关

快捷键介绍

Ctrl + B进入光标所在的方法/变量的接口或是定义处,等效于Ctrl + 左键单击

Ctrl + D复制光标所在行或复制选择内容,并把复制内容插入光标位置下面

Ctrl + F在当前文件进行文本查找

Ctrl + H查看类的继承结构

Ctrl + N通过类名定位文件

Ctrl + O快速重写父类方法

Ctrl + P方法参数提示

Ctrl + Y删除光标所在行或删除选中的行

Ctrl + W递进式选择代码块

Ctrl + Z撤销

Ctrl + 1,2,3…9定位到对应数值的书签位置 结合Ctrl + Shift + 1,2,3…9使用

Ctrl + F1在光标所在的错误代码出显示错误信息

Ctrl + F12弹出当前文件结构层,可以在弹出的层上直接输入进行筛选

Ctrl + Space基础代码补全默认在Windows系统上被输入法占用,需要进行修改,建议修改为Ctrl + 逗号

Ctrl + /注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号

Alt相关

快捷键介绍

Alt + Q弹出一个提示,显示当前类的声明/上下文信息

Alt + Enter根据光标所在问题,提供快速修复选择

Shift相关

快捷键介绍

Shift + F3在查找模式下,定位到上一个匹配处

Ctrl+Alt相关

快捷键介绍

Ctrl + Alt + B在某个调用的方法名上使用会跳到具体的实现处

Ctrl + Alt + L格式化代码 可以对当前文件和整个包目录使用

Ctrl + Alt + M快速抽取方法

Ctrl + Alt + O优化导入的类和包 可以对当前文件和整个包目录使用

Ctrl + Alt + T对选中的代码弹出环绕选项弹出层

Ctrl + Alt + V快速引进变量

Ctrl + Alt + F7寻找类或是变量被调用的地方,以弹出框的方式显示

Ctrl + Alt + 左方向键退回到上一个操作的地方

Ctrl + Alt + 右方向键前进到上一个操作的地方

Ctrl+Shift相关

快捷键介绍

Ctrl + Shift + F根据输入内容查找整个项目或指定目录内文件

Ctrl + Shift + H查看方法的继承结构

Ctrl + Shift + J自动将下一行合并到当前行末尾

Ctrl + Shift + N通过文件名定位打开文件/目录,打开目录需要在输入的内容后面多加一个正斜杠

Ctrl + Shift + R根据输入内容替换对应内容,范围为整个项目或指定目录内文件

Ctrl + Shift + U对选中的代码进行大/小写轮流转换

Ctrl + Shift + W递进式取消选择代码块

Ctrl + Shift + Z取消撤销

Ctrl + Shift + /代码块注释

Ctrl + Shift + +展开所有代码

Ctrl + Shift + -折叠所有代码

Ctrl + Shift + 1,2,3…9快速添加指定数值的书签

Ctrl + Shift + F7高亮显示所有该选中文本,按Esc高亮消失

Ctrl + Shift + Space智能代码提示

Ctrl + Shift + Enter自动结束代码,行末自动添加分号

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容