目录
Key promoter X —— 会有这个操作的快捷键在界面的右下角进行告知。
Codota 使用最先进的机器学习模型来提高生产力并为开发人员节省时间。支持 IntelliJ、Android Studio、WebStorm 和 PhpStorm
SequenceDiagram —— 调用链路自动生成时序图
Jclasslib bytecode viewer--Java字节码查看器
Maven Helper ——方便maven项目解决jar冲突
Alibaba Java Coding Guidelines
插件虽小但非常有用!如果你重视好的代码和时间 - 你将毫不犹豫地安装这些插件。
界面美观
Rainbow Brackets
让你的括号从此有了不一样的颜色,防止括号
代码提示
Key promoter X —— 会有这个操作的快捷键在界面的右下角进行告知。
当你在 IDE 内的按钮上使用鼠标时,Key Promotion X 会显示你应该使用的键盘快捷键。这提供了一种学习如何用键盘键代替繁琐的鼠标工作的简单方法,并有助于过渡到更快的无鼠标开发。关键启动器 X 工具窗口向你显示了你最常使用的鼠标操作的列表,并直接为你提供了你可以使用的快捷方式。对于没有快捷方式的按钮,Key Promotion X 会提示你可以直接创建一个。
Codota/Tabnine— 代码智能提示
Codota 使用最先进的机器学习模型来提高生产力并为开发人员节省时间。支持 IntelliJ、Android Studio、WebStorm 和 PhpStorm
Codota 现在是 Tabnine!
Codota还包含一个网站:https://www.codota.com/code
代码分析
Arthas Idea
arthas idea - IntelliJ IDEs Plugin | Marketplace
Arthas 命令生成插件。Arthas 是阿里开源的 Java 在线诊断工具,该插件可以自动生成 Arthas 在线 Java 代码诊断命令,不用再到官网翻文档拼命令啦!
- 基于IntelliJ IDEA开发的Alibaba Arthas 命令生成插件,支持Alibaba Arthas 官方常用的命令。
- 官方的命令太复杂,此插件为了简化使用者的难度,提供了一些常用命令的支持
- 该插件支持Alibaba Arthas 常用命令,比如 watch、trace、ognl static、ognl bean method、field、monitor、stack 、tt等命令
- 支持设置static field、static final
- watch:能方便的观察到指定方法的调用情况,返回值、抛出异常、入参(特殊值、异常没有捕获排查)
- trace:方法内部调用路径,并输出方法路径上的每个节点上耗时(性能问题,调用链问题)
- ognl:执行表达式(方便获取静态变量,方法,获取spring context 为所欲为)
- monitor:方法执行监控(性能问题排查,一段时间内的性能指标)
- stack:获取方法从哪里执行的调用栈(用途:源码学习调用堆栈,了解调用流程)
- tt:方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测(可以重新触发,周期触发,唯一缺点对于ThreadLocal 信息丢失[隐含参数]、引用对象数据变更无效)
- 支持获取选择中的spring 环境变量的值获取,获取spring 上下文所有的环境变量按照优先级打印出来,方便排查环境问题
- logger:动态更新日志等级
- Async Profiler. https://github.com/jvm-profiling-tools/async-profiler 火焰图命令支持
SequenceDiagram —— 调用链路自动生成时序图
IntelliJ IDEA 的序列图 SequencePlugin | SequencePlugin for IntelliJ IDEA。
有了这个插件,你可以
- 生成简单序列图。
- 通过单击图表形状来导航代码。
- 从图中删除类。
- 将图表导出为图像。
- 将图表导出为 PlantUML 文件。
- 通过设置>工具>序列图从图中排除类
- 智能界面(实验性)
- Lambda 表达式(实验)
- Kotlin 支持(实验性,无代码导航)
右键 --> Sequence Diagaram 即可调出。
双击顶部的类名可以跳转到对应类的源码中,双击调用的函数名可以直接调入某个函数的源码。
Java Stream Debugger
在某些方面,Stream API 比传统的循环方法更好:它充分利用了现代多核架构,并让你以声明方式处理数据。还有一个好处是,这种方法有助于避免状态问题,并且用它编写的代码看起来更优雅。但是,它有一定的缺点:代码有时确实难以阅读、理解,当然也难以调试。
这个插件是为了修改它并为你可能遇到的问题提供解决方案。
它通过添加Trace Current Stream Chain按钮扩展了Debugger工具窗口,当调试器在 Stream API 调用链内停止时,该按钮变为活动状态。
如下代码:
使用插件调试:
单击它后,将评估当前数据流,您可以直观地了解从第一次调用到最后一次调用每个元素究竟发生了什么,随着它通过所有步骤,变化逐渐发生:
左下角的Split MOde按钮可让您选择是要一次查看所有操作还是单独查看所有操作:
在后一种模式下,您可以使用顶部的选项卡手动切换操作。
Jclasslib bytecode viewer--Java字节码查看器
jclasslib bytecode viewer是一个可以可视化已编译Java类文件和所包含的字节码的工具。
使用时直接选择 View --> Show Bytecode With jclasslib
注意:如果是自己项目的源码需要先编译
jclasslib Bytecode Viewer - IntelliJ IDEs Plugin | Marketplace
Statistic— 项目信息统计
可以非常直观地看到你的项目中所有类型的文件的信息
设置
Maven Helper ——方便maven项目解决jar冲突
使用 Maven 的必备插件。
- 分析和排除冲突依赖的简单方法
- 为包含当前文件或根模块的模块运行/调试 maven 目标的操作
- 在当前 Maven 模块路径上打开终端的操作
- 运行/调试当前测试文件的操作。
分析和排除冲突依赖
为包含当前文件或根模块的模块运行/调试 maven 目标的操作
在当前 Maven 模块路径上打开终端的操作
RestfulToolkit
一套 RESTful 服务开发辅助工具集。
1.根据 URL 直接跳转到对应的方法定义 ( 快捷键:Ctrl \ or Ctrl Alt N );
2.提供了一个 Services tree 的显示窗口;
3.一个简单的 http 请求工具;
4.在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数...
5.其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据 ( Windows: Ctrl + Enter; Mac: Command + Enter )。
支持 Spring 体系 (Spring MVC / Spring Boot 1.x,2.x)
支持 JAX-RS
支持 Java 和 Kotlin 语言。
自动编码
GenerateSerialVersionUID
代码生成插件。一键为实现 Serializable 接口的类生成 SerialVersionUID。
地址:https://plugins.jetbrains.com/plugin/185-generateserialversionuid/
RoboPOJOGenerator
从 JSON 生成 Java 和 Kotlin POJO 文件:GSON、FastJSON、AutoValue (GSON)、Logan Square、Jackson、Lombok、空注释模板。
支持:原始类型,多个内部 JSONArrays。关键词:JsonToPojo、Json2Pojo、Kotlin、GSON、FastJSON、AutoValue、Jackson、LoganSquare、Moshi、Parcelable、Lombok
一般使用说明
选择包 -> 新建 -> 从 JSON 生成 POJO
GsonFormat
类似RoboPOJOGenerator
POJO to Json
一个简单的Java bean转JSON插件GitHub:https://github.com/organics2016/pojo2json
支持 BigDecimal 和其他 Numeric 对象。
支持Java8时间类型。
支持枚举。
支持 Jackson 和 Fastjson 注释。
支持实体类中的List对象
支持 Jackson 和 Fastjson 注释。
使用
在“类文件”中右键,将看到一个“POJO To Json”。
生成的Json 代码将复制到剪贴板。
GenerateO2O- 自动填充参数的值
这个插件可以生成一个 Object 到另一个 Object 的传输方法。
MyBatis Log Plugin
收费
可以将mybatis sql 日志还原为原始完整的可执行sql。
插件生成带有替换的 sql 语句?到真正的参数值。
选择控制台sql日志,右键“恢复Sql”菜单,恢复sql。
在 Java 方法和 Mapper xml 之间相互导航。
MyBatisX
MybatisX 插件特点:
mapper和xml可以来回跳转
mybatis.xml,mapper.xml 提示
mapper 和 xml 支持类似 jpa 的自动提示(参考 MybatisCodeHelperPro)
集成 mybatis 生成器 Gui(从免费的 mybatis 插件复制)
String Manipulation 对字符串的处理
具备以下功能
切换
切换大小写(camelCase、kebab-lowercase、KEBAB-UPPERCASE、snake_case、SCREAMING_SNAKE_CASE、dot.case、单词小写、第一个单词大写、单词大写、PascalCase)
切换: SCREAMING_SNAKE_CASE / camelCase
切换:snake_case / camelCase
切换:kebab-case/snake_case
切换:kebab-case / camelCase
切换:dot.case/camelCase
切换:PascalCase / camelCase
切换:小写单词/camelCase
切换:第一个单词大写/camelCase
切换:大写的单词/camelCase
驼峰式
到snake_case
到 SCREAMING_SNAKE_CASE
大写
小写
大写
反转大小写
到 Spring Boot 系统环境变量
取消/转义:
取消/转义选定的 Java 文本
取消/转义选定的 JavaScript 文本
取消/转义选定的 C# 文本(常规、逐字、插值)
取消/转义选定的 HTML 文本
取消/转义选定的 JSON 文本
取消/转义选定的 XML 文本
取消/转义选定的 SQL 文本
取消/转义选定的 PHP 文本
将变音符号(重音)转换为 ASCII
将非 ASCII 转换为转义的 Unicode
将转义的 Unicode 转换为字符串
Unicode 规范化(NFD、NFC、NFKC、NFKD)
编码/解码:
将所选文本编码为 MD5 Hex
将所选文本编码为 SHA-1 Hex
将所选文本编码为 SHA-256 Hex
将所选文本编码为 SHA-512 十六进制
将所选文本编码为 SHA3-256 十六进制
将所选文本编码为 SHA3-512 十六进制
将所选文本解码/编码为 URL
将所选文本解码/编码为 Base64(+ zip/deflate)
将所选文本解码/编码为十六进制
ISO 时间戳到纪元毫秒
纪元毫秒到 ISO 时间戳
递增/递减:
增加/减少找到的所有数字。
重复选择并递增/递减找到的所有数字。
创建序列 - 保留第一个数字,通过递增替换所有其他数字
增加重复数字
按自然顺序或 Collator 排序:
颠倒行的顺序
洗牌线
排序区分大小写的 Az
对区分大小写的 zA 排序
排序不区分大小写的 AZ
排序不区分大小写的 ZA
按升序、降序对行长进行排序。
十六进制排序
按子选择对行进行排序 - 每行只处理一个选择/插入符号
排序标记(分隔文本)
对齐:
通过插入空格将插入符号/选择对齐成一条垂直线
通过选定的分隔符/分隔符将选定文本格式化为列/表格并按列排序
将文本左/中/右对齐
过滤/删除/修剪/缩小/转换...:
Grep 选定的文本,所有与输入文本不匹配的行都将被删除。(在列模式下不起作用)
倒置 Grep
修剪
用单个空格字符替换空格
删除所有空格
删除重复行
只保留重复的行
删除空行
删除所有换行符
缩小 JSON
缩小 JavaScript
在 JSON 和 YAML 之间转换
其他:
反向字母
交换字符/选择/行/标记
将双引号包裹或移动到单引号到反引号
在双引号和单引号之间交换
切换文件路径分隔符:Windows<->UNIX
排序
递增
对齐
对齐
使用
选中需要处理的内容后,按快捷键Alt + M,即可弹出工具功能列表。
google-java-format
使用 google-java-format 工具格式化源代码。
质量检查
FindBugs / QAPlug
提供静态字节码分析以从 IntelliJ IDEA 中查找 Java 代码中的错误。
FindBugs 是 Java 的缺陷检测工具,它使用静态分析来查找 200 多种错误模式,例如空指针取消引用、无限递归循环、Java 库的错误使用和死锁。
FindBugs 可以识别大型应用程序中的数百个严重缺陷(通常每 1000-2000 行非注释源语句大约有 1 个缺陷)。
Alibaba Java Coding Guidelines
阿里巴巴 Java 编码指南插件支持。
SonarLint
SonarLint 是一个免费的 IDE 扩展,可在您编写代码时查找和修复错误、漏洞和代码异味!就像拼写检查器一样,SonarLint 会即时突出显示问题,并提供明确的补救指导,因此您甚至可以在提交代码之前修复它们。凭借对多种流行和经典语言的支持,SonarLint 可帮助所有经验和技能水平的开发人员编写高效、安全的代码。
技能提升
Leetcode Editor
支持leetcode.com和leetcode-cn.com,可以测试和提交问题。
参考链接