前言

前段时间有小伙伴在群里聊天,说到 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. 手把手教你使用IDEA2020创建SpringBoot项目

    一.New Project 二.如图选择Spring Initalizr,选择jdk版本,然后点击Next(注意:SpringBoot2开始至少使用JDK1.8) 三.如图根据自己需要修改,然后点击N ...

  2. 必知必会之Java注解

    必知必会之Java注解 目录 不定期更新中-- 元注解 @Documented @Indexed @Retention @Target 常用注解 @Deprecated @FunctionalInte ...

  3. el-input输入框的readonly属性

    readonly属性是Boolean类型,默认值为false.readonly值为true表示只读. <el-col :span="12"> <el-form-i ...

  4. Static Proxy

    0.静态代理 静态代理的实现比较简单,代理类通过实现与目标对象相同的接口,并在类中维护代理对象.通过构造器塞入目标对象,赋值给代理对象,进而执行代理对象实现的接口方法,并实现前拦截,后拦截等所需的业务 ...

  5. 1.3 PHP+MYSQL+APACHE配置(序)

    本节对服务器端web服务进行配置.事实上,对于配置这个环境(WAMP)网上还是有很多教程的,大家可以通过网上的教程完成配置,也不必拘泥于本文.甚至网上有免费的服务器端软件可以选择,比如著名的phpst ...

  6. Hi3559AV100 SDK的详细安装过程及问题解决方法

    下面给出Hi3559AV100 SDK的安装的详细步骤(一些注意事项可以参照我之前写的随笔-<Hi3519 SDK搭建.问题总结及yolov3 RFCN的运行结果与测试 >): 1.开发环 ...

  7. HDOJ-1176(数塔问题变形)

    免费陷阱 HDOJ-1176 一开始正向推的时候,一直wa,后来采用逆向推得到正确结果. 初始化的时候dp数组都初始化为0. #include<bits/stdc++.h> using n ...

  8. Elasticsearch 为了搜索

    前言 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene 基础之上. Lucene 可以说是当下最先进.高性能.全功能的搜索引擎库--无论是开源还是 ...

  9. C#深度复制和浅度复制

    C#深度复制和浅度复制 复制一个值变量很简单,新建一个变量然后将原来的变量赋值过去就行,但是复制一个引用变量这种方法是不行的,如果不明白为什么可以先看看这篇解释 引用类型变量和值类型变量在赋值时的不同 ...

  10. Airbnb JavaScript代码规范(完整)

    类型Types 基本数据类型 string number boolean null undefined symbol const foo = 1; let bar = foo; bar = 9; co ...