记录一些 IntelliJ IDEA 中的常用配置

一、概述

毋庸置疑 IntelliJ IDEA 已经成为 Java 开发最好用的开发工具,这篇文章主要记录自己使用 idea 开发过程中的一些常用配置,主要是根据自己的开发习惯进行的配置,记录这篇文章的目的是为了便于自己查询配置,并且希望对看这篇文章的小伙伴提供一些参考。

说明:我这里使用的 idea版本是 IntelliJ IDEA 2021.1.1 (Ultimate Edition),不同的版本配置稍有不同,可以根据自己使用的具体版本进行更改。

二、idea 常用配置

这里就不介绍 idea 的下载或者激活的方法了,百度一下你就知道。这里对 idea 的设置原则是尽量保持默认设置,除了自己需要的设置,其他设置一律保持默认,个人觉得 idea 只是一个开发工具,怎么用的顺手怎么设置,但是要以提高自己的开发效率为目的。

1、设置 idea 的主题颜色

点击 File --> Settings --> Appearance --> Theme
个人喜欢白色的主题颜色,可以根据自己的喜好选择对应的主题色,如下图所示:


2、设置字体大小和字符编码

  • 设置字体大小
    点击 File --> Settings --> Editor --> Font
    字体大小根据个人电脑的屏幕进行设置,我这里设置的大小是:18。


  • 设置文件编码
    点击 File --> Settings --> Editor --> File Encodings

从上图可以看到配置编码的地方有4个:

1、Global Encoding:UTF-8
2、Project Encoding: UTF-8
3、File/Directory Encoding: UTF-8
4、Properties files Encoding:UTF-8

前三个是配置项目中文件的编码,不包括 properties 配置文件,这三个选项存在优先级,高优先级的覆盖低优先级的,也就是说如果文件有指定编码就使用指定的编码,如果没有指定,则使用父目录或者项目的编码。
可以看到File/Directory Encoding中配置了整个项目的根目录为UTF-8。
一般这三个配置我们一般都不用管,idea会自动配置File/Directory Encoding: UTF-8。
另外就是 properties 文件的单独配置,默认情况下跟随系统。

Transparent native-to-ascii conversion 这个选项是否勾选,官方文档说明如下图:

idea 官方文档说明地址:https://www.jetbrains.com/help/idea/encoding.html#file-encoding-settings

Transparent native-to-ascii conversion 直接翻译过来就是透明的将本地编码转换成 ascii 编码,从官方文档的说明好像没有看懂,查阅一些资料解释说明如下:
idea项目的 properties 文件编码默认跟随系统,windows 下为 gbk,但是 java 程序读取 properties 时以 UTF-8 格式读取,编码不兼容呈现出乱码,所以将 properties 文件改为 UTF-8 编码即可解决问题。 另一种解决方案是使用 native-to-ascii 功能,将输入的字符转换为 unico 码表中的码位,或者说 unico 值,例如 \u0041 表示英文字母 a。这些 unico 值均为 ascii 码表中的字符,因为 ascii 部分的字符编码在 gbk 和 unico 中是兼容的,所以即使 properties 文件是 gbk 编码的,java 程序也能正确的读取出这些 unico 值,并找到对应字符。 最简单的理解方式: 汉字字符转换成 unico 码位存储到 gbk 编码的文件中, java 再通过这些码位找到对应的汉字字符,从而解决编码兼容问题。

一般情况下我们需要同时设置文件编码为UTF-8并勾选复选框,或者设置文件编码为ISO-8859-1也是可以的。

3、设置自定义注释模板

定义类注释模板

点击 File --> Settings --> Editor --> File and Code Templates
选择 Class 查看如下图所示:


下图中的 File Header 就是对应上图中的 #parse("File Header.java"),默认情况下没有内容,下图是自定义的模板内容:

自定义模板内容如下:

/**
 * ${describe}
 * 
 * @name ${NAME}
 * @author ${USER}
 * @date ${YEAR}-${MONTH}-${DAY} ${TIME}
 */

上面的模板保存之后,创建一个新的 Java 文件,就会在文件头部显示注释信息,如下图所示:


输入描述信息

生成模板注释

这里的 @name@date 被 idea 标注为黄色,显示警告信息为 Wrong tag,也就是说 idea 不能识别这个标签,对于有强迫症的开发者来说,不能容忍这种提示标记,如何消除这个标记呢?可以根据提示点击 Add date to custom tags,之后这个黄色的标记就没有了,idea 将这个自定义的标签添加到了 Java doc 的自定义标签中,我们有自定义的标签也可以添加到这里,用逗号分隔,如下图所示:

定义方法注释模板

点击 File --> Settings --> Editor --> Live Templates
idea 默认提供了非常多的快捷方式,比如在程序中输入 sout ,实际上会输出 System.out.println(),使用这些快捷方式能够极大的提高我们的开发效率,具体使用可以查看快捷方式的具体实现,如下图所示:

定义方法注释模板

接下来介绍自定义方法的注释模板
模板内容 Template text 如下所示:

**
 * 
 * @author $user$
 * @date $date$ $time$
 $params$ 
 * @return $return$
 */
自定义方法注释模板

方法注释模板的可应用范围选择 Java 如下图所示:


模板中的变量定义如下图所示:


模板中的变量定义

其中 params 变量的 groovy 脚本的内容如下所示:

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

按照上面的步骤配置完成之后,就可以在方法上面输入 add 关键字,就会出现提示,效果如下图:


在方法上面输入 /add

生成的方法注释效果如下图:

生成方法注释

4、idea 安装常用插件

idea 常用插件说明:

  • GenerateAllSetter: 一键生成 getter/setter (选择创建的对象 -> alt + enter -> Generate all setter with no default value)。
  • GenerateSerialVersionUID: 一键生成序列化 ID (alt + insert -> SerialVersionUID)
  • JRebel: 热部署
  • Lombok: 提供非常丰富的注解,简化 getter/setter。
  • POJO to JSON: 一键复制实体类为 Json 格式(对实体类右键 -> POJO to Json )。
  • Easy code : 基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml),只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置,支持同时生成生成多张表的代码,每张表有独立的配置信息,完全的个性化定义,规则由你设置。
  • Kubernetes:k8s 的插件,在编写 yaml 文件时有检查和提示,非常方便。

三、总结

上面简单记录了关于 idea 的一些常用配置,这里记录的并不完整,如果大家发现有什么能够提高开发效率的配置或者插件,欢迎留言补充。

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