安利一个好用的IDEA插件 object-helper-plugin
更多精彩博文请关注:听到微笑的博客
一. 插件背景
object-helper 插件是一个日常开发工具集插件,提供丰富的功能,最开始是基于 GenerateO2O 插件开发而来,它提供了对象之间值拷贝代码自动生成的能力,就像这样:

因为它很早之前就停止维护了,新版本IDEA无法使用该插件,所以自己参考它的交互模式,基于新版本API开发了初版 object-helper-plugin插件,再次感谢 GenerateO2O 的作者。
根据日常开发中的痛点,object-helper-plugin 插件不断迭代,提供着我们的开发效率。
欢迎大家在 Issues 中提出宝贵意见,也可以联系我成为一名插件开发者,共同完善插件的功能。
object-helper插件源码:object-helper-plugin
二. 插件下载
方式一:
官网下载:ObjectHelper - IntelliJ IDEs Plugin | Marketplace (jetbrains.com)
方式二:
插件市场搜索 “ObjectHelper”

方式三:
Github下载最新安装包,拖入IDEA即可:object-helper-plugin
二. 插件功能
2.1 对象复制代码生成

有些场景下,我们需要快速写一个对象值复制的方法,我们只需要写一个空方法,就像这样:
pulibc User dtoToModel(UserDTO userDTO){
}
在方法内部使用 Alt+Insert 快捷键,点击 Object Copy Method 就可以自动生成对象拷贝的代码。
Alt+Insert 是IDEA默认快捷键,如果无效,可以在settings->keymap中搜索“Generate”关键字查看具体的快捷键:
2.2 Class类转JSON字符串
有时候我们写接口文档时,或者和第三方对接接口格式时,如果我们已经有了接口返回对象结构,就不需要Mock数据,手动转成JSON了,只需要鼠标轻轻一点就可完成:

2.3 Class类转 Thrift IDL
有些公司的RPC框架可能是基于Thrift开发的,有些场景下我们定义好WEB接口后,还需要将类似的结构转成IDL语言再写一遍,有了插件的帮助,小手点一下就能完成:

2.4 Class类转XML字符串

三. 插件配置
因为插件功能比较杂,大家可以自定义开启其中常用的功能:
File->settings->Tools->Object Helper 即可进入插件的配置页面

四. 未来功能支持计划及优化
4.1 未来支持功能
- Class 转 Proto Buffer IDL
- All Setter
4.2 待优化点
- Class转XML多模式,以及循环依赖检测
- Class转JSON、Class转XML功能支持数据类型默认值设定,以及根据字段名称,智能动态生成默认值。
- 菜单分组展示
安利一个好用的IDEA插件 object-helper-plugin的更多相关文章
- 安利一个十分实用的IDEA插件--RestfulToolkit
官网链接:http://plugins.jetbrains.com/plugin/10292-restfultoolkit,英汉双语的帮助文档. 一套 RESTful 服务开发辅助工具集. 1.根据 ...
- 开源一个跨平台运行的服务插件 - TaskCore.MainForm
本次将要很大家分享的是一个跨平台运行的服务插件 - TaskCore.MainForm,此框架是使用.netcore来写的,现在netcore已经支持很多系统平台运行了,所以将以前的Task.Main ...
- 一个强大的jquery分页插件
点击这里查看效果 这个分页插件使用方便,引用keleyidivpager.js和keleyidivpager.css文件,然后在htm(或者php,aspx,jsp等)页面中对分页总数,参数名,前缀后 ...
- 大流量网站性能优化:一步一步打造一个适合自己的BigRender插件
BigRender 当一个网站越来越庞大,加载速度越来越慢的时候,开发者们不得不对其进行优化,谁愿意访问一个需要等待 10 秒,20 秒才能出现的网页呢? 常见的也是相对简单易行的一个优化方案是 图片 ...
- 自己改写了一个图片局部放大的jquery插件页面里面的html代码少了,同一个页面可以调用多个
自己改写了一个图片局部放大的jquery插件页面里面的html代码少了,同一个页面可以调用多个,兼容ie8以上浏览器,别忘了引用jquery,我用的jquery/1.11.0/其他版本没有测试,另外需 ...
- 安利一个vps,7美元/年。
黑色星期五.给大家安利一个vps,7美元/年.配置如下:2 个虚拟化 CPU 2 GB (2048 MB) 专属内存 50 GB RAID-10 受保护硬盘存储 3000 GB (3TB) 月流量 1 ...
- 安利一个很火的 Github 滤镜项目
安利一个很火的 Github 滤镜项目 园长 1 个月前 简评:通过深度学习,一秒钟让你的照片高大上,这是康奈尔大学和 Adobe 的工程师合作的一个新项目,通过卷积神经网络把图片进行风格迁移.项目已 ...
- 利用HttpWebRequest模拟表单提交 JQuery 的一个轻量级 Guid 字符串拓展插件. 轻量级Config文件AppSettings节点编辑帮助类
利用HttpWebRequest模拟表单提交 1 using System; 2 using System.Collections.Specialized; 3 using System.IO; ...
- 一个简单的MariaDB认证插件demo
代码地址如下:http://www.demodashi.com/demo/13076.html 一.前言 众所周知(其实可能很多人不知道)MariaDB支持插件认证.在MariaDB中新建用户,常见的 ...
- [转载]一个支持Verilog的Vim插件——前言
原文地址:一个支持Verilog的Vim插件--前言作者:hover 随着设计复杂度的增加,在书写代码中枯燥的重复性的劳动会越来越多.例如,例化若干个有上百个端口的子模块,这个工作没有任何创造性可言, ...
随机推荐
- Linux程序崩溃自启动方法
linux进程挂掉后,可以通过配置 systemd 来自动启动服务 1.创建 systemd 服务文件,例如:huyang.service,需要放置在系统文件夹 /etc/systemd/system ...
- win7电脑IE浏览器开发人员工具中不能切换浏览器版本
win7电脑 IE浏览器 开发人员工具,不能切换IE版本 这个是IE浏览器的问题,需要安装个微软件东西就可以解决这个问题了.亲测有效 64位下载地址:https://wwi.lanzoui.com/i ...
- Jenkins首次启动慢
场景描述启动Jenkins后,打开网站,发现一直卡在这个启动页面,慢,很慢,非常慢 解决方法 进入Jenkins的安装目录,找到"hudson.model.UpdateCenter.xml& ...
- Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板
系列文章 Grafana 系列文章 ️强烈推荐 强烈推荐使用 GitHub 上的 monitoringartist/grafana-aws-cloudwatch-dashboards 仪表板.该 re ...
- HarmonyOS Codelab 优秀样例——购物应用,体验一次开发多端部署魅力
一. 样例介绍 本篇Codelab基于自适应布局和响应式布局,实现购物应用在手机.折叠屏.平板不同屏幕尺寸设备上按不同设计显示.通过三层工程结构组织代码,实现一次开发,多端部署 . 手机运行效果如图所 ...
- Python 爬虫初探
准备部分 0x01 爬虫的简介和价值 a. 简介 自动抓取互联网数据的程序,是基础技术之一 b. 价值 快速提取网络中有价值的信息 0x02 爬虫的开发环境 a. 环境清单 Python3.7 开发环 ...
- CentOS 6.5快速部署HTTP WEB服务器和FTP服务器
CentOS 6.5快速部署HTTP WEB服务器和FTP服务器 时间:2014-03-29 来源:服务器之家 投稿:root 点击:210次 [题记]本文使用CentOS 6.5m ...
- MVC 下拉选项实现的几种方式
主要介绍4种方式 硬编码方式: ViewBag.hard_value = new List<SelectListItem>() { new SelectListItem(){Value=& ...
- 利用PyTorch训练模型识别数字+英文图片验证码
利用PyTorch训练模型识别数字+英文图片验证码 摘要:使用深度学习框架PyTorch来训练模型去识别4-6位数字+字母混合图片验证码(我们可以使用第三方库captcha生成这种图片验证码或者自己收 ...
- Greenplum Jdbc 调用 SETOF refcursor
最近公司需要用Greenplum,在调用 jdbc的时候遇到了一些问题.由于我们前提的业务都是使用 sqlserver,sqlserver的 procedure 在前端展示做数据源的时候才用的非常多, ...
