当前位置: 首页 > news >正文

【转】Popclip的JSON格式化扩展

http://liuyunclouder.github.io/2016/09/29/JSONizer:Popclip的JSON格式化扩展

 

作为一个MAC党,不好好利用MAC的神兵利器,简直就是罪过。Alfred、Dash、Ulysses、SnippetsLib、Mindnode等大名鼎鼎的效率神器自然不用提了,Popclip更是一个每天都会使用上百遍的好帮手。

Popclip?

简单来说,Popclip就是一个对选中的内容作快速处理的工具,比如直接搜索选中的内容、从选中的内容生成二维码、计算选中的内容的字数等,除此之外,还能自定义扩展来实现你想要的功能。

这是我的Popclip扩展:

如果你还没装Popclip,马上停下来,去安装一个,再继续看下去;

如果你不知道Popclip是什么,马上停下来,去看下这篇测评,再继续看下去。

JSONizer的来由

平时经常需要对一坨字符进行格式化,那时每次都需要复制、打开jsbeautifier.org、粘贴、点击格式化按钮,碰到网络不好的情况还要等半天,如果没网络,更是头疼。

后来改用sublime的插件CodeFormatter,也能比较方便地快速格式化,但还是有个点让我不开心:CodeFormatter要求必须先把需要格式化的内容保存在一个后缀为.json的文件中,才能识别并格式化。

由于用Popclip已经好一段时间了,很享受它提供的便利,于是就想装个JSON格式化扩展,搜了一下,发现竟然没有,于是就萌生了自己写一个的想法。

动手

JSON格式化的lib都已经很成熟了,正好在jsbeautifier.org上看到有提供python的一个lib。

Popclip的扩展没有Alfred的workflow能提供的功能多而复杂,相应地也容易上手。参照TUTS上的这篇教程,几分钟就搞定了大致框架。

接下来就简单了,把依赖的几个lib依赖配好,基本文件布局如下:

注:editorconfig、six.py是jsbeautifier的依赖项。

最后,测试效果完美:

下载入口 ,希望能帮到需要的朋友。

总结

目前,需要先将需要格式化的内容拷贝到编辑器中,然后再选中才能格式化。其实还能改进一下,不需要拷贝,直接在内容来源上,比如浏览器中,选中需要格式化的字符并格式化,直接把格式化后的内容写入系统剪贴板。后续有时间可以研究下。

相关文章:

  • datatables使用
  • 所有的软弱,都是昂贵的
  • SQL查询优化——数据结构设计
  • $(function(){})与(function($){....})(jQuery)的区别
  • zabbix监控多tomcat实例
  • 小小小游戏
  • ApacheHttpServer出现启动报错:the requested operation has failed解决办法
  • Inodes 清理
  • vmware虚拟化无法迁移虚拟机
  • Docker for windows10 配置阿里云镜像
  • Hadoop集群搭建步骤
  • 网站开发流程以及HTML5简介(九)
  • windows 下的tcping 小插件
  • 当数据库字段是图片URL时怎样在单元格中显示图片
  • 快速删除段落间多余的空行
  • ECMAScript6(0):ES6简明参考手册
  • Java Agent 学习笔记
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • uni-app项目数字滚动
  • 阿里云应用高可用服务公测发布
  • 回顾2016
  • 近期前端发展计划
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 山寨一个 Promise
  • 使用权重正则化较少模型过拟合
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 运行时添加log4j2的appender
  • 整理一些计算机基础知识!
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (SpringBoot)第七章:SpringBoot日志文件
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (转)ORM
  • (转)母版页和相对路径
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET 发展历程
  • .so文件(linux系统)
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [@Controller]4 详解@ModelAttribute
  • [AAuto]给百宝箱增加娱乐功能
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [C#]C# OpenVINO部署yolov8图像分类模型
  • [Latex] \bibitem{} | .bbl 格式参考文献转换与获得
  • [LeetCode] 596:超过5名学生的课
  • [LeetCode]-225. 用队列实现栈-232. 用栈实现队列
  • [linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)
  • [MongoDB]------windos下的安装部署与基础使用