前言

前段时间有小伙伴在群里聊天,说到 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. JVM Attach实现原理剖析

    本文转载自JVM Attach实现原理剖析 前言 本文旨在从理论上分析JVM 在 Linux 环境下 Attach 操作的前因后果,以及 JVM 为此而设计并实现的解决方案,通过本文,我希望能够讲述清 ...

  2. oracle创建和删除序列

    创建序列语法: CREATE SEQUENCE 序列名 [START WITH n] [INCREMENT BY n] [{MINVALUE n}] [{MAXVALUE n|NOMAXVALUE}] ...

  3. SpringBoot接收map类型的参数

    如果某个controller的某个接口的参数特别多,也可以使用map的方式来接收参数,接收之后使用get方法获取即可. 1)get请求方式,定义map接收方式 @RequestParam(requir ...

  4. NodeJs 入门到放弃 — 入门基本介绍(一)

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14450905.html 目录 码文不易啊,转载请带上本文链接呀,感谢感谢 https ...

  5. Svelte v2 已经过时了!

    带你走马观花,细看新版变化. 注意:原文发表于2018-04-18,随着框架不断演进,部分内容可能已不适用. 大约是一年之前,我们首次在 Svelte 的 issue 跟踪器上讨论过 v2 版本,现在 ...

  6. C#测试--内部类测试

    C#测试--内部类测试 在被测试的代码库的AssemblyInfo.cs中添加"[assembly: InternalsVisibleTo("UnitTest项目名称") ...

  7. jQuery实现游戏推荐

    1.需求:点击添加游戏按钮实现添加游戏,点击删除按钮,删除游戏. 2.实现思路:分别给添加按钮和删除按钮添加click事件. 3.遇到的问题:自己添加的游戏不能进行删除. 4.原因分析:文档加载完毕后 ...

  8. 剑指 Offer 51. 数组中的逆序对 + 归并排序 + 树状数组

    剑指 Offer 51. 数组中的逆序对 Offer_51 题目描述 方法一:暴力法(双层循环,超时) package com.walegarrett.offer; /** * @Author Wal ...

  9. POJ-3080(KMP+多个字符串的最长公共子串)

    Blue Jeans HDOJ-3080 本题使用的是KMP算法加暴力解决 首先枚举第一个字符串的所有子串,复杂度为O(60*60),随后再将每个子串和所有剩下的m-1个字符串比较,看是否存在这个子串 ...

  10. ubantu16与windows下——redis的安装与使用

      (1) 打开ubantu16,使用如下命令下载安装包 wget http://download.redis.io/releases/redis-2.8.3.tar.gz (2)解压缩命令: tar ...