前言

前段时间有小伙伴在群里聊天,说到 Toolkit 下载量到 4.9k 了。就突然想起来,很久没有更新这个插件。

PS:我是用它申请了 License,一般时候使用 Json 格式化功能。

趁着周末,更新了下版本,下面介绍直接介绍更新后的版本。

功能介绍

UI 界面

这次修改最大的就是 UI 界面,基本参考 Doc View 的 UI,全面进行改造,同时对代码也进行的一定程度上的重构。

同时增加快捷键 Control + Shift + T 直接唤起操作面板的功能。

UI 界面调整,以标签页的形式直接展示功能,方便使用。

Json Format

保留原有功能:

  1. 代码格式化;
  2. 压缩为一行;
  3. 移除文本中的转移符(\);
  4. 快捷生成实体类字段。

新增功能:

  1. 快捷复制;
  2. 原生查找。

动图演示:

  • 快捷键打开

  • Json 格式化

  • 压缩 Json 字符串为一行

  • 查找字段

因为直接使用的原生 Editor 当做面板,所以是支持 ⌘ + F 直接局内搜索的。

  • 生成字段

到这里关于 Json 工具的介绍基本就结束了,这也是我在开发过成功经常用到的几个功能。当然快捷复制移除转移符这些功能就需要小伙伴自己研究了。

Copy As Json

当在 Java 类中的时候,可以在右键菜单找到 Copy As Json 这个选项,顾名思义,就是将当前实体类转为 Json 字符串。

如果小伙伴仅仅想使用 Copy As Json 功能,可以在插件商城搜索,有一个插件仅支持将实体复制为 Json。

也有一个注意的地方, 如果 Control + Shift + T 唤起 Toolkit 面板的地方是 Java 实体,这时候 Toolkit 面包会多一个标签页—— Entity Json,可以直接查看当前实体对应的 Json 字符串。

如果焦点不在 Java 实体中,是没有这个标签页的!

其他功能

  • Base64
  • Url Encode/Decode

移除功能

  • 移除 XML 格式化:

XML 格式化使用场景越来越少,毕竟现在基本上不会有使用 XML 作为请求返回报文的了吧!

  • 移除 MyBatis Jump

现在 Toolkit 没有 Mapper 接口和 Mapper XML 之间进行互相跳转,以及检测 Mapper XML 内接口是否重复的功能了。不过可以在插件商城单独下载 MyBatis Jump

MyBatis Jump 仅有跳转和检测功能,如果小伙伴们已经使用了带跳转功能的其他 MyBatis 插件,就没必要额外安装这个了。

总结

以上就是这次的更新,主要是还是更方便工作开发。

比如经常性的对请求入参出参的 Json 字符串进行格式化

比如直接根据文档的 Json 串生成实体,省去一个一个定义字段的痛苦。

比如数据库表扩展字段存放的是Json 格式,需要压缩为一行。(IDEA 的 Control + Shift + J 也可以压缩一行)。

等等。

后续的话可能会有 SQL 格式化、Json 字符串对比(对比参数字段是不是少了)。

最后:

代码已经重构,相对比之前结构还是很清晰的。

有其他需要添加的功能可以提交 PR,也可以留言或者提 Issue。

项目地址

项目地址:https://github.com/liuzhihang/toolkit

插件地址:https://plugins.jetbrains.com/plugin/12384-toolkit

相关推荐

Toolkit 大更新:UI 更美观,用起来更方便!的更多相关文章

  1. 【用户交互】APP没有退出前台但改变系统属性如何实时更新UI?监听系统广播,让用户交互更舒心~

    前日,一小伙伴问我一个问题,说它解决了半天都没解决这个问题,截图如下: 大概楼主理解如下: 如果在应用中有一个判断wifi的开关和一个当前音量大小的seekbar以及一个获取当前电量多少的按钮,想知道 ...

  2. (转).NET 4.5中使用Task.Run和Parallel.For()实现的C# Winform多线程任务及跨线程更新UI控件综合实例

    http://2sharings.com/2014/net-4-5-task-run-parallel-for-winform-cross-multiple-threads-update-ui-dem ...

  3. Android之Handler,举例说明如何更新UI

    方法一:(java习惯,在android不推荐使用) 刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { ...

  4. Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面

    Android应用的开发过程中需要把繁重的任务(IO,网络连接等)放到其他线程中异步执行,达到不阻塞UI的效果. 下面将由浅入深介绍Android进行异步处理的实现方法和系统底层的实现原理. 本文介绍 ...

  5. 转:探讨android更新UI的几种方法

    本文转自:http://www.cnblogs.com/wenjiang/p/3180324.html 作为IT新手,总以为只要有时间,有精力,什么东西都能做出来.这种念头我也有过,但很快就熄灭了,因 ...

  6. 【转】探讨android更新UI的几种方法----不错

    原文网址:http://www.cnblogs.com/wenjiang/p/3180324.html 作为IT新手,总以为只要有时间,有精力,什么东西都能做出来.这种念头我也有过,但很快就熄灭了,因 ...

  7. 关于Handler的理解,子线程不能更新UI的纠正和回调的思考

    开发Android这么久了,总会听到有人说:主线程不能访问网络,子线程不能更新UI.Android的主线程的确不能长时间阻塞,但是子线程为什么不能更新UI呢?今天把这些东西整理,顺便在子线程更新UI. ...

  8. UE4/Unity3d 根据元数据自动生成与更新UI

    大家可能发现一些大佬讲UE4,首先都会讲类型系统,知道UE4会根据宏标记生成一些特定的内容,UE4几乎所有高级功能都离不开这些内容,一般来说,我们不会直接去使用它. 今天这个Demo内容希望能加深大家 ...

  9. Android异步处理系列文章四篇之一使用Thread+Handler实现非UI线程更新UI界面

    目录: Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+L ...

随机推荐

  1. PAUL ADAMS ARCHITECT:费城东北区的房地产市场逆势而行

    根据Zillow.com的房产数据,大费城地区前三季度成交房产的平均价格为27.2万美元,较去年同期增长了13.4%,为10年同期最高.即使如此,27.2万的均价与纽约相比依然相距甚远,其中尤其是费城 ...

  2. Java线程池状态和状态切换

    摘要 介绍线程池的五种状态RUNNING.SHUTDOWN.STOP.TIDYING和TERMINATED,并简述五种状态之间的切换.   在类ThreadPoolExecutor中定义了一个成员变量 ...

  3. 三种远程部署war包检测

    简介 远程部署漏洞属于服务器.中间件配置问题,攻击者可通过远程部署漏洞获取系统权限,远程部署漏洞经常出现在Tomcat.Jboss.Weblogic等web容器之上. 0x01 ### tomcat部 ...

  4. 视频+图文串讲:MySQL 行锁、间隙锁、Next-Key-Lock、以及实现记录存在的话就更新,如果记录不存在的话就插入如何保证并发安全

    导读 Hi,大家好!我是白日梦!本文是MySQL专题的第 27 篇. 下文还是白日梦以自导自演的方式,围绕"如何实现记录存在的话就更新,如果记录不存在的话就插入."展开本话题.看看 ...

  5. Django的ORM封装接口详细

    [前言]Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句:所有使用Django开发的项目无需关心程序底层使用的是MySQL.Oracle.sqlite....,如果数据库迁 ...

  6. Chrome网页截图步骤

    按F12弹出开发者工具 切换到Console栏目 按Ctrl + p 快捷键弹出命令输入框 输入>cap或者>screenshot就会看到好几个截图选项,选择一种你需要的截图方式即可,然后 ...

  7. 基于CameraLink的逻辑综合和版图设计

    前期接口设计用的是Vivado18.3+Modelsim10.6,逻辑综合及版图生成的环境是Ubuntu16,逻辑综合用的工具Design Compiler,生成版图用的工具是Encounter. 下 ...

  8. 剑指 Offer 57. 和为s的两个数字 + 二分法 + 双指针

    剑指 Offer 57. 和为s的两个数字 Offer_57 题目详情 使用二分法 package com.walegarrett.offer; /** * @Author WaleGarrett * ...

  9. C语言中指针和多维数组

    指针和多维数组 数组名是特殊的指针 数组是一个特殊的指针,多维数组也是更为复杂的数组,它们的关系是什么样的呢? 我们通过一个简单的例子来比较形象的了解指针和多维数组: int a[2][3]; 这是一 ...

  10. 奇思妙想 CSS 文字动画

    之前有些过两篇关于字体的文章,是关于如何定义字体的: 你该知道的字体 font-family Web 字体 font-family 再探秘 本文将会和这篇 -- CSS 奇思妙想边框动画类似,讲一些文 ...