一、IDEA安装、实用配置、插件介绍
本文旨在介绍IDEA Ultimate
的安装以及本人在 IDEA 使用过程中发现的实用的配置和插件,特此记录,方便后续查阅。注意:后续介绍的 Setting 的位置在 IDEA 主界面左上角 Flie | Settings,或者快捷键 ctrl + alt + s。
二、实用配置
1、字体设置(建议)
Settings | Editor | Font,字体个人习惯默认的 Consolas,听说 JetBrains Mono 也不错。字体大小个人设置 14。
1.5、tab(标签页)多行显示
Settings | Editor | General | Editor Tabs,Show tabs in 选择 【Multiple rows】
1.6、修改 properties files 的编码
默认编码是 ISO-8859-1,Setting | Editor | File Encodings,修改为 UTF-8。
2、显示方法分隔线(建议)
Settings | Editor | General | Appearance,勾选【Show method separators】
3、滑轮调整字体大小(个人不需要)
Settings | Editor | General,勾选【Change font size with Ctrl + Mouse Wheel】选项,可通过【ctrl + 鼠标滚轮】实现调整字体大小。我个人没有这个习惯,没有设置,一般设置好合适的大小之后就不会再去调整了。
4、显示某个文件的提交记录(非必要,需要的时候打开)
在界面左侧空白区域(行号右边),勾选上 Annotate,即可显示对应文件的代码提交记录,包括提交人、提交日期等等。同样位置右键,勾选 close ... 即可关闭。
5、活动模板补全 - Live Template
Settings | Editor | Live Templates,点击“+”号,创建 Template Group,命名 gavin。
选中 gavin,点击“+”号,创建 Live Template,输入补全的指令、描述、模板内容、应用的上下文(作用域)。如图所示:
以下是我常用的活动模板(指令、描述、作用域、模板内容):
5.1 api、api方法、declaration
@RequestMapping("/$EXPR$.json")
public ResultJson $EXPR$() {
return GlobalUtil.buildResultJson();
}
5.2 author、顶部-作者信息、declaration
点击 Edit Variables...,弹窗中 Expression 一列,填写 className() 和 date()
/**
* $className$
*
* @author gavin
* date:$DATE$
*/
5.3 logger、日志模板、declaration
点击 Edit Variables...,弹窗中 Expression 一列,填写 className()
/**
* slf4j 日志对象
*/
private final static Logger logger = LoggerFactory.getLogger($className$.class);
5.4 rr、通用api返回、statement
return GlobalUtil.buildResultJson();
5.5 throw、抛出ServiceException、statement
throw GlobalUtil.buildServiceException("$END$");
6、自定义文件和代码模板 - File and Code Templates
Settings | Editor | File and Code Templates
6.1 创建 mybatis 模板 xml
点击“File”,点击“+”号,命名 gavin-mapper,Extension 设置为 xml,设置模板内容。如图所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${PACKAGE_NAME}.${NAME}">
</mapper>
注意:模板内容发生变化,和截图不一致,Enable Live Templates 不用勾选。
6.2 设置新建 java 文件的作者信息
点击“includes”,命名 File header,设置内容。
/**
* ${NAME}
*
* @author gavin
* date:${DATE}
*/
7、后缀补全 - Postfix Completion
Settings | Editor | General | Postfix Completion
以下是我常用的自定义补全设置。
1、log logger.info("$EXPR$ = {}", $EXPR$);
2、list List<$EXPR$> $END$ = new ArrayList<>();
3、isn
if (GlobalUtil.isEmptyString($EXPR$)) {
}
4、isnn
if (!GlobalUtil.isEmptyString($EXPR$)) {
}
三、插件
建议安装
1、Builder Generator (Michal Jedynak)
作用:生成指定类的 Builder 类
使用方式:Alt + Insert (推荐) / Alt + Shift + B
2、CamelCase (NetNexus)
作用:切换不同代码风格的命名,如小驼峰、大驼峰等。
使用方式:Alt + Shift + U
调整:Setting | Editor | Camel Case,保留 SNAKE_CASE、CamelCase、camelCase,其他勾选去掉。切换优先级也可按需调整。
3、GsonFormatPlus(sun-men)
作用:一键转换 JSON 到 实体类。
使用方式:Alt + Insert(推荐) / Alt + S
4、All Format 或者 Json Parser(Godwin Joseph)
作用:Json Parser 右侧边栏增加一栏,可以格式化 JSON;All Format 除了 JSON格式化,还包括 Xml格式化,生成二维码,base64,字符加密,翻译等功能。
使用方式:All Format 使用快捷键 Alt + F 呼出操作窗口。
5、JRebel ... (Perforce)
作用:热加载代码,收费插件,必装。激活以及使用请看另一篇文章JRebel 激活以及远程热更新
。
使用方式:①修改代码后等待片刻后自动热加载;②立即生效(推荐),选择文件后,ctrl + f9 立即编译,触发热加载,浏览器 f5 刷新接口即可。建议关闭自动编译,Settings | Build| Compiler,Build project automatically
一项取消勾选。
6、Free Mybatis plugin(wuzhizhan)
作用:xml 和 mapper之间跳转。
7、Mybatis Log Free(starxg)
作用:记录执行的 sql
使用方式:修改 logback xml 配置文件,将 控制台日志输出级别 level 改为 debug。然后 run 启动就行了,不用 debug 启动,日志 debug 和 程序 debug 概念不要搞混了。
注意:grep console 插件会拦截日志,如果打印不出日志,看下是不是它拦截了。
8、Maven Helper(Vojtech Krasa)
作用:查看 Maven 依赖冲突等情况,使用推荐的方式解决冲突。
使用方式:pom.xml 文件左下角,Dependency Analyzer。
9、Translation(Yii.Guxing)
作用:翻译
使用方式:选中单词,ctrl + shift + y。ctrl + shift + o 弹出翻译输入框。
调整:切换到百度翻译,翻译开放平台获取密钥填入。
10、One Dark theme(Mark Skelton)
作用:黑色主题,这是我比较喜欢的主题。
11、Spot Profile for Java and Kotlin(JetBrains)
作用:选择单行或者多行,检测运行时长。强烈推荐!!!
使用方式:选择单行或者多行,右键选择 Profile Code Fragment 打上标记,运行程序。标记快捷键:alt + p。另外,使用 run application 启动,每次打标记都要重启;使用 debug 启动,打标记后会重新编译,稍等片刻即可,不用重启;JRebel run 也支持打标记后动态编译。
选择安装
1、CodeGlance(Vektah)
作用:生成右侧代码缩略图,类似VSCode,可点击或者快速拖动浏览代码。
调整:Setting | Other Settings | Code Glance,一般无须调整。
2、POJO to JSON(李大麦)
作用:java POJO 生成 JSON,一般用于测试。
3、MybatisCodeHelperPro(MybatisCodeHelperPro)
作用:xml内对象属性的代码提示,日志功能和 Mybatis Log Free 冲突。暂时未研究出有什么实在的作用。
4、Key Promoter X(halirutan)
作用:提示当前操作的快捷键。
5、GenerateAllSetter(bruceGu)
作用:一键生成对象的所有 getter 或 setter 方法。一键实现两个对象相同属性的转换。
使用方式:Alt + Enter
6、GenerateSerialVersionUID
作用:生成类的序列化ID,一般用于网络传输使用。一般不会用上。
7、lombok(JetBrains)
作用:新版 IDEA 内置了,按需安装。
8、Grep Console(Vojtech Krasa)
作用:格式化控制台输出,我一般用于 main 调试,拦截 debug 日志的输出。
使用方式:拦截日志,Setting | Other Settings | Grep Console,中部 Filtering 框内增加一行,Expression = .*DEBUG.*,Action = Remove。顶部-勾选框 Filtering,用于控制是否生效。
9、SequenceDiagram(VanStudio)
作用:一键生成方法调用的时序图。
10、Resource Bundle Editor(JetBrains)
作用:编辑 Resource Bundle,常用于 i18n 多语言 Properties 编辑或者多环境配置 Properties 的编辑。
花里胡哨
1、HighlightBracketPair(qeesung)
作用:高亮括号。
2、Rainbow Brackets
作用:彩虹括号,多层嵌套时效果明显,白色主题看上去不明显。
3、Background Image Plus +(HNUHell)
作用:背景图,可设置定期切换。
4、Nyan Progress Bar(Dmitry Batkovich)
作用:彩虹进度条。
5、Power Mode II(Alexander Thom)
作用:酷炫的特效,如果使用它,建议保留 PARTICLES! 粒子效果即可。其他诸如 flames 火焰效果、抖动、BAM!(爆炸效果)都关闭。
四、安装激活 IDEA
1、安装 idea
卸载已安装的 idea,卸载前记得保留 Scratches 的文件(如果有的话),安装官网的最新版 idea,傻瓜式安装。
2、激活 idea
参考链接,找到激活教程中的激活文件,下载。(百度网盘和U盘都有保存,这里记录一下提醒我自己)。解压,找到方法3,进入。
复制 jetbra 目录到电脑的某个位置,进入 /jetbra/scripts,双击执行 install-current-user.vbs。如果执行过程被拦截,允许即可。
执行后会弹窗提醒,点击确认后,等待 10 - 30s 会再弹一次窗口,显示Done,表示激活成功。
脚本会将 jetbra 目录写到环境变量中,所以执行脚本后 jetbra 目录就不能更改了。
最后一步,打开或重启 idea,输入激活码:
6G5NXCPJZB-eyJsaWNlbnNlSWQiOiI2RzVOWENQSlpCIiwibGljZW5zZWVOYW1lIjoic2lnbnVwIHNjb290ZXIiLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiIiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJQU0kiLCJmYWxsYmFja0RhdGUiOiIyMDI1LTA4LTAxIiwicGFpZFVwVG8iOiIyMDI1LTA4LTAxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBEQiIsImZhbGxiYWNrRGF0ZSI6IjIwMjUtMDgtMDEiLCJwYWlkVXBUbyI6IjIwMjUtMDgtMDEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiSUkiLCJmYWxsYmFja0RhdGUiOiIyMDI1LTA4LTAxIiwicGFpZFVwVG8iOiIyMDI1LTA4LTAxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJQUEMiLCJmYWxsYmFja0RhdGUiOiIyMDI1LTA4LTAxIiwicGFpZFVwVG8iOiIyMDI1LTA4LTAxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBHTyIsImZhbGxiYWNrRGF0ZSI6IjIwMjUtMDgtMDEiLCJwYWlkVXBUbyI6IjIwMjUtMDgtMDEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFNXIiwiZmFsbGJhY2tEYXRlIjoiMjAyNS0wOC0wMSIsInBhaWRVcFRvIjoiMjAyNS0wOC0wMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQV1MiLCJmYWxsYmFja0RhdGUiOiIyMDI1LTA4LTAxIiwicGFpZFVwVG8iOiIyMDI1LTA4LTAxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBQUyIsImZhbGxiYWNrRGF0ZSI6IjIwMjUtMDgtMDEiLCJwYWlkVXBUbyI6IjIwMjUtMDgtMDEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFJCIiwiZmFsbGJhY2tEYXRlIjoiMjAyNS0wOC0wMSIsInBhaWRVcFRvIjoiMjAyNS0wOC0wMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQQ1dNUCIsImZhbGxiYWNrRGF0ZSI6IjIwMjUtMDgtMDEiLCJwYWlkVXBUbyI6IjIwMjUtMDgtMDEiLCJleHRlbmRlZCI6dHJ1ZX1dLCJtZXRhZGF0YSI6IjAxMjAyMjA5MDJQU0FOMDAwMDA1IiwiaGFzaCI6IlRSSUFMOi0xMDc4MzkwNTY4IiwiZ3JhY2VQZXJpb2REYXlzIjo3LCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-SnRVlQQR1/9nxZ2AXsQ0seYwU5OjaiUMXrnQIIdNRvykzqQ0Q+vjXlmO7iAUwhwlsyfoMrLuvmLYwoD7fV8Mpz9Gs2gsTR8DfSHuAdvZlFENlIuFoIqyO8BneM9paD0yLxiqxy/WWuOqW6c1v9ubbfdT6z9UnzSUjPKlsjXfq9J2gcDALrv9E0RPTOZqKfnsg7PF0wNQ0/d00dy1k3zI+zJyTRpDxkCaGgijlY/LZ/wqd/kRfcbQuRzdJ/JXa3nj26rACqykKXaBH5thuvkTyySOpZwZMJVJyW7B7ro/hkFCljZug3K+bTw5VwySzJtDcQ9tDYuu0zSAeXrcv2qrOg==-MIIETDCCAjSgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTIwMTAxOTA5MDU1M1oXDTIyMTAyMTA5MDU1M1owHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyMDEwMTkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUlaUFc1wf+CfY9wzFWEL2euKQ5nswqb57V8QZG7d7RoR6rwYUIXseTOAFq210oMEe++LCjzKDuqwDfsyhgDNTgZBPAaC4vUU2oy+XR+Fq8nBixWIsH668HeOnRK6RRhsr0rJzRB95aZ3EAPzBuQ2qPaNGm17pAX0Rd6MPRgjp75IWwI9eA6aMEdPQEVN7uyOtM5zSsjoj79Lbu1fjShOnQZuJcsV8tqnayeFkNzv2LTOlofU/Tbx502Ro073gGjoeRzNvrynAP03pL486P3KCAyiNPhDs2z8/COMrxRlZW5mfzo0xsK0dQGNH3UoG/9RVwHG4eS8LFpMTR9oetHZBAgMBAAGjgZkwgZYwCQYDVR0TBAIwADAdBgNVHQ4EFgQUJNoRIpb1hUHAk0foMSNM9MCEAv8wSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMCBaAwDQYJKoZIhvcNAQELBQADggIBABqRoNGxAQct9dQUFK8xqhiZaYPd30TlmCmSAaGJ0eBpvkVeqA2jGYhAQRqFiAlFC63JKvWvRZO1iRuWCEfUMkdqQ9VQPXziE/BlsOIgrL6RlJfuFcEZ8TK3syIfIGQZNCxYhLLUuet2HE6LJYPQ5c0jH4kDooRpcVZ4rBxNwddpctUO2te9UU5/FjhioZQsPvd92qOTsV+8Cyl2fvNhNKD1Uu9ff5AkVIQn4JU23ozdB/R5oUlebwaTE6WZNBs+TA/qPj+5/we9NH71WRB0hqUoLI2AKKyiPw++FtN4Su1vsdDlrAzDj9ILjpjJKA1ImuVcG329/WTYIKysZ1CWK3zATg9BeCUPAV1pQy8ToXOq+RSYen6winZ2OO93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0NxTulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOmVya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCoB15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onD
至此,激活完成,显示是到 2025年,但实际是永久。