idea p3c 自定义_IntelliJ IDEA 常用插件一览,让效率成为习惯-程序员宅基地

技术标签: idea p3c 自定义  

一、官方工具

IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。

1. REST client

在日常开发过程中,我们或多或少都涉及到 API 接口的测试。例如,有的小伙伴使用 Chrome 的 Postman 插件,或者使用火狐的 restclient 等工具。事实上,这些工具是测试 API 接口非常有效的方式之一,笔者之前也一直使用 Postman 完成 API 接口的测试工作。今天,笔者推荐另外一个非常好用的小工具,能够帮助读者快速测试 API 接口。这个工具就是 IDEA 的 Editor REST Client。IDEA 的 Editor REST Client 在 IntelliJ IDEA 2017.3 版本就开始支持,在 2018.1 版本添加了很多的特性。事实上,它是 IntelliJ IDEA 的 HTTP Client 插件。详细使用文档,参考:http://blog.720ui.com/2018/restclient_use/

2. UML Support

未完待续。。。

二、市场插件阿里代码规约检测

快捷键提示工具:Key promoter X

代码注解插件: Lombok

代码生成工具:CodeMaker

单元测试测试生成工具:JUnitGenerator

Mybatis 工具:Free Mybatis plugin

Maven辅助神器:Maven Helper

JSON转领域对象工具:GsonFormat

领域对象转JSON工具:POJO to JSON

时序图生成工具:SequenceDiagram

字符串工具:String Manipulation

代码作色工具:Rainbow Brackets

RESTful 服务开发辅助工具集: RestfulToolkit

日志工具:Grep Console

生成对象set方法:GenerateAllSetter

Redis可视化:Iedis

K8s工具:Kubernetes

中英文翻译工具:Translation

1. 阿里代码规约检测

《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结, 经历了多次大规模一线实战的检验及不断完善, 系统化地整理成册。当然,规范只能提供参考,我们还需要工具来帮忙我们实现了实时检测。目前,Alibaba Java Code Guidelines 插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection 实现了实时检测功能。部分规则实现了 Quick Fix 功能。目前,插件检测有两种模式:实时检测、手动触发。详细使用文档,参考:https://github.com/alibaba/p3c/blob/master/idea-plugin/README_cn.md

此外,类似的插件还有 FindBugs 和 CheckStyle。

2. 快捷键提示工具:Key promoter X

Key Promoter X 是一个快捷键提示插件,如果鼠标操作是能够用快捷键替代,Key Promoter X 会提示可以用什么快捷键替代。详细使用文档,参考:https://plugins.jetbrains.com/plugin/9792-key-promoter-x

3. 代码注解插件: Lombok

lombok 的使用,参考 :https://projectlombok.org/。我们需要在代码中引入二方库,然后安装 lombok 插件即可。

org.projectlombok

lombok

最新版本号

4. 代码生成工具:CodeMaker

开发过程中,经常手工编写重复代码。现在,可以通过 CodeMaker 来定义 Velocity 模版来支持自定义代码模板来生成代码。目前,CodeMaker 自带两个模板。Model:根据当前类生成一个与其拥有类似属性的类,用于自动生成持久类对应的领域类。Converter:该模板需要两个类作为输入的上下文,用于自动生成领域类与持久类的转化类。详细使用文档,参考:https://github.com/x-hansong/CodeMaker

5. 单元测试测试生成工具:JUnitGenerator

单元测试是必不可少的!我们可以使用 JUnitGenerator 插件来自动创建了单元测试。我们可以使用提供的 velocity 模板定制单元测试输出代码。如果在已经存在单元测试的地方创建了单元测试,则会提示用户进行覆盖或合并操作。合并操作允许用户有选择地创建目标文件内容。详细使用文档,参考:https://plugins.jetbrains.com/plugin/3064-junitgenerator-v2-0

6. Mybatis 工具:Free Mybatis plugin

现在,MyBatis 框架已占领半壁江山。因此,围绕着 MyBatis 的插件和工具越来越多。Free Mybatis plugin 非常方便进行 Mapper 接口和 XML 文件之间跳转。详细使用文档,参考:

https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin。此外,收费版的还有 Mybatis plugin。

对于 Mybatis 的工具还有很多,比如 mybatis-log-plugin、codehelper.generator。此外,非 IDEA的工具有: Mybatis 分页插件 Mybatis-PageHelper、Mybatis 代码生成工具 mybatis-generator 等。地址:http://www.mybatis.org/generator/

7. Maven辅助神器:Maven Helper

如果 Maven 引入的 jar 包有冲突,可以使用 Maven Helper 插件来帮助分析。详细使用文档,参考:https://plugins.jetbrains.com/plugin/7179-maven-helper

8. JSON转领域对象工具:GsonFormat

在开发过程中,我们可能会遇到 json 格式的字符串转换成实体类参数的场景,这个插件可以根据 JSONObject 格式的字符串,自动生成实体类参数。详细使用文档,参考:https://github.com/zzz40500/GsonFormat

那么,如何使用呢?我们可以使用 GsonFommat 的快捷键,默认 option + s (mac), alt + s (win) 通过以下方式修改快捷键。或者点击工具栏的 Generate 来唤起生成工具。

9. 领域对象转JSON工具:POJO to JSON

为了测试需要,我们需要将简单 Java 领域对象转成 JSON 字符串方便用 postman 或者 curl 模拟数据。详细使用文档,参考:https://plugins.jetbrains.com/plugin/9686-pojo-to-json

10. 时序图生成工具:SequenceDiagram

有的时候,我们需要梳理业务逻辑或者阅读源码。从中,我们需要了解整个调用链路,反向生成 UML 的时序图是强需求。其中,SequenceDiagram 插件是一个非常棒的插件。详细使用文档,参考:https://plugins.jetbrains.com/plugin/8286-sequencediagram

11. 字符串工具:String Manipulation

String Manipulation 插件提供了非常丰富字符串工具,例如命名替换( (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snakecase, SCREAMINGSNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)等。详细使用文档,参考:https://plugins.jetbrains.com/plugin/2162-string-manipulation

12. 代码作色工具:Rainbow Brackets

事实上,代码作色之后,可以非常方便我们阅读。类似的工具还有:Grep Console 来自定义设置控制台输出颜色等。

13. RESTful 服务开发辅助工具集: RestfulToolkit

开发中,经过会根据 URI 的部分信息来查找对应的 Controller 中方法,RestfulToolkit 提供了一套 RESTful 服务开发辅助工具集,提供了如下功能:

根据 URL 直接跳转到对应的方法定义 ( Ctrl \ or Ctrl Alt N ); 提供了一个 Services tree 的显示窗口; 一个简单的 http 请求工具; 在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数... 其他功能: java 类上添加 Convert to JSON 功能,格式化 json 数据 ( Windows: Ctrl + Enter; Mac: Command + Enter )。

14. 日志工具:Grep Console

不同级别日志通过颜色区分,一路了然

高亮日志

便捷检索日志

15. 生成对象set方法:GenerateAllSetter

开发中,有时可以通过BeanUtil等工具类进行对象之间的属性拷贝,但有时候也需要手工进行赋值。通过GenerateAllSetter,可以一键生成对象的所有set语句。

16. Redis可视化:Iedis

17. K8s工具:Kubernetes

参考 https://plugins.jetbrains.com/plugin/10485-kubernetes 支持编辑 Kubernetes 资源文件,如下: 可以比较方便的查看yaml中的各项 placeholder 的默认值,且可以方便的链接到value位置。

18. 中英文翻译工具:Translation

最骚的操作是什么?帆哥在群里分享了一套「半中文编程」:说到了变量命名,先用中文写好,然后用 Translation 插件的 translate and replace 一键替换为英文,这样效率高而且准确。详细使用文档,参考:https://plugins.jetbrains.com/plugin/8579-translation

梁桂钊、陈同学、张帆、刁政欣(研习小组)| 作者

(本文版权归原作者所有。转载文章仅为传播更多信息之目的,如有侵权请与我们联系,我们将及时处理。)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_29072299/article/details/112955498

智能推荐

Linux驱动学习--DRM框架介绍及基于DRM框架的HDMI开发_嵌入式linux hdmi视频环出功能实现-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏19次。目录一、引言二、DRM框架介绍三、DRM框架的使用四、源码分析一、引言Android4开始,hdmi等视频输出框架开始由framebuffer想DRM迁移,今天我们就来简单分析下DRM框架二、DRM框架介绍DRM是一个内核级的设备驱动,具体的说是显卡驱动的一种架构源码位置因为Linux kernel内部接口和数据结构可能随时发生变化,所以DRI模块要针对特定的内核版本进行编译。kernel 2.6.26之后的版本,DRM(DRI kernel模块)源码存放在kernel/drivers/_嵌入式linux hdmi视频环出功能实现

homebrew安装后路径只可用一次的解决办法:添加环境变量_homebrew path-程序员宅基地

文章浏览阅读2.8k次。homebrew安装后路径只可用一次的解决办法在上次安装后遇到了找不到路径的问题,虽然通过export解决了问题,但是在重启后,又出现了这个问题,现在给出:export PATH=/usr/local/bin:$PATH只能解决一次,重启后又失灵了,是因为没有写进系统环境变量中。下面将把/usr/local/bin路径写进系统环境变量中:1.执行管理权限,使用vim编辑sudo vim ~..._homebrew path

蚁群算法原理及其实现(python)_蚁群算法python代码-程序员宅基地

文章浏览阅读10w+次,点赞294次,收藏1.8k次。蚁群算法(AG)是一种模拟蚂蚁觅食行为的模拟优化算法,它是由意大利学者Dorigo M等人于1991年首先提出,并首先使用在解决TSP(旅行商问题)上。之后,又系统研究了蚁群算法的基本原理和数学模型.蚁群算法的基本思想:# -*- coding: utf-8 -*-import randomimport copyimport timeimport sysimport mathimpor..._蚁群算法python代码

ElasticSearch 8-程序员宅基地

文章浏览阅读740次,点赞24次,收藏21次。Port | LoadBalancer(外部负载均衡) | ExternalName (外部DNS解析)ports:

【数据结构】括号匹配(栈的应用)_括号匹配 栈应用-程序员宅基地

文章浏览阅读235次,点赞28次,收藏9次。括号匹配附栈基本操作_括号匹配 栈应用

css垂直居中最常用的八种布局方法_css常用垂直居中布局-程序员宅基地

文章浏览阅读531次。css垂直居中最常用的八种布局方法 首先定义两个盒子,然后进行下面操作! <body> <div class="box"> <div class="coco"></div> </div></body> 方法一 display:flex /* 1 display:flex */ .box{ width: 40..._css常用垂直居中布局

随便推点

虚拟机安装centos7网络配置_虚拟机centos7如何重装网络-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏12次。1、虚拟机网络设置,设置桥接模式,复制物理网络2、修改网络配置 启用网络vi /etc/sysconfig/network-scripts/ifcfg-ens33修改ONBOOT=yes3、安装网络工具 yum search ifconfig yum install net-tools4、测试ping www.baidu.com......_虚拟机centos7如何重装网络

postgres 空间坐标转换和获取geom中心点_pgsql 获取中心点-程序员宅基地

文章浏览阅读1.4k次。select st_x(st_centroid(geom)) AS x from table_pgsql 获取中心点

基于STM32单片机智能电能表市电抄表交流电费功率无线设计23-198_stm32 智能电表-程序员宅基地

文章浏览阅读233次,点赞6次,收藏3次。23-198、基于STM32单片机智能电能表市电抄表交流电表插座电费功率检测TFT彩屏显示无线蓝牙手机APP设计功能描述:本系统由STM32F103C8T6单片机核心板、TFT1.44寸彩屏液晶显示电路、交流电压互感器TV1005M、交流电流互感器TA1005M、继电器驱动电路、无线蓝牙模块、蜂鸣器报警驱动电路及电源组成。【1】220V市电经过互感器后产生微弱交流电信号,经过整流滤波后变为直流,然后通过单片机内容AD转换进行采集,单片机换算出实际值,最终获取到交流电压(单位V)、交流电流(单位A);由功率(_stm32 智能电表

LaTex中把下标置于文本正下方的方法_latex下标在正下方-程序员宅基地

文章浏览阅读10w+次,点赞118次,收藏178次。在使用LaTex进行排版时,一个常见的需求是要把下标放在某个文字或者符号的正下方:LaTex的数学模式下提供了\limits命令,形如expr1\limits_{expr2}^{expr3}中expr2会出现在expr1的正下方,而expr3会出现在expr1的正上方,例如命令$\sum\limits_{i=0}^n {x_i}$会生成效果但是\limits命令..._latex下标在正下方

ajax json 返回,ajax返回JSON时的处理方式-程序员宅基地

文章浏览阅读3k次。JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value)。json_encode()该函数主要用来将数组和对象,转换为json格式json_encode(PHP 5 >= 5.2.0, PECL json >= 1.2.0)json_encode — 对变量进行 JSON 编码Report a bug ..._ajax查询数据库以json返回

MQTT协议基本讲解(结合netty)_netty mqtt-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏9次。主要包含协议名,协议版本,连接标志,心跳间隔时间,连接返回码,主题名、是否有遗嘱、是否有用户名密码等等,这个自己定义,其中协议版本号一定要写对,否则在netty中使用会报错的,另外就是主题名了,这就相当于mq中的路由键一样,根据需求来写。127,但如果实际长度是128怎么办,那么一个字节就没办法表示了,那就把最后一位(前七位代表实际数字)改成1,然后再增加一个字节来表示,以此类推,如果第二个字节还无法表示这个数,那就继续往下,但是最多四个字节。这个就是消息服务质量等级了,有三个级别,级别越高,消息越精准。_netty mqtt

推荐文章

热门文章

相关标签