StreamingPro-Editor, 基于Intellij Idea 的编辑器插件发布

前言

StreamingPro在内部已经用在比较复杂的项目上了。所以导致配置文件巨复杂,之前同事提到这事,然后我自己把配置代码拉下来,看了下确实如此。一开始想着能否利用其它格式,比如自定义的,或者换成XML/Yaml等,后面发现JSON其实已经算是不错的了,项目大了,怎么着都复杂。后面反复思量,大致从编辑器这个方向做下enhance,可能可以简化写配置的人的工作量。所以有了这个项目。

已经开源

因为是StreamingPro的一个辅助工具,所以也就直接开源出来了。代码还比较粗糙,相信后续会不断完善。streamingpro-editor2

jar包下载,可到发布页面Release

安装

打开配置界面,选择plugins,然后点选红框,从disk进行安装:

WX20170405-115306@2x.png

选择你的jar然后restart idea intellij 即可。

使用示例

新建一文件,举个例子,叫做batch.streamingpro。 看标志,就可以发现这是一个标准的json格式文件。大家会发现菜单栏多了一个选项:

WX20170405-120006@2x.png

其实就是一个模板功能。

在batch.streamingpro里写填写batch,然后点选 expandCode(你也可以去重新设置一个快捷键),

WX20170405-120228@2x.png

然后就会自动扩展成:

WX20170405-120243@2x.png

把 your-name 换成你需要的job名字。 然后我们填写下数据源

WX20170405-120420@2x.png

运行expandCode,然后就会自动扩展为:

WX20170405-120548@2x.png

把鼠标移动到format后的双引号内,点击菜单 Code-> Completition -> Basic (你可以用你的快捷键),然后就会提示有哪些数据源可以用:

WX20170405-120607@2x.png

如果你大致知道数据源的名称,那么会自动做提示:

WX20170405-120822@2x.png

JDBC的参数其实很多,你也可以通过Code-> Completition -> Basic 来进行提示:

WX20170405-120937@2x.png

接着你可以通过相同的方式添加batch.sql,batch.outputs,batch.script,batch.script.df模块,操作也是大体相同的。

SQL编辑支持

另外streamingpro-editor2也支持sql的编辑。在SQL处点击右键:

WX20170405-213846@2x.png

点击第一个item, "sql editor",然后进入编辑界面:

WX20170405-213721@2x.png

目前支持高亮以及换行,双引号自动escape等功能。

规划

目前主要有配置模块自动生成,以及一些代码提示功能。除了持续完成前面提及的功能外,后续有如下几个重点:

  1. 可以在Intellij Idea 中直接运行streamingpro配置文件
  2. 完善SQL的编辑功能

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏魏琼东

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 系统管理使用教程

前言          所谓AgileEAS.NET平台系统管理即指AgiLeEAS.NET平台中用于完成插件的发现、安装、配置及组织管理功能的一组具体应用,以...

20960
来自专栏Java架构沉思录

一文读懂 HTTP 2.0 之服务器推送

原文:http://www.ruanyifeng.com/blog/2018/03/http2_server_push.html

11710
来自专栏章鱼的慢慢技术路

Linux操作系统的安装

44530
来自专栏Java面试笔试题

在VMware上安装CentOS版本的Linux虚拟机

2.点击“编辑虚拟机设置”,选择“CD/DVD”,点击"使用ISO映像文件"在本地找到合适的镜像文件;

17220
来自专栏遊俠扎彪

SVN Client常用命令

之前写过一篇关于如何安装SVN Server的内容,也亲在CentOS上实践过,可能对系统管理员比较有用,再写一篇对普通开发者有点帮助的SVN Client常用...

42470
来自专栏听雨堂

Python在VSCode中进入交互界面调试

VSCode非常强大,断点好用,美中不足,每次只能通过下面窄窄一行进行各种检查,而python的优点就在于交互式的调试,所以希望能够在断点时能够进入到正常的交互...

45180
来自专栏前端侠2.0

win2008部署webapi2的解决方法

把上周在家电脑上可以部署的webapi示例拿到服务器上,结果遇到许多问题。不过还算解决了,现记录一下方法。

27510
来自专栏代码小睿

静态页面如何实现 include 引入公用代码

  一直以来,我司的前端都是用 php 的 include 函数来实现引入 header 、footer 这些公用代码的,就像下面这样: <!-- index....

28660
来自专栏北京马哥教育

django实战:实现简单的文件上传功能

作者:风之清扬 来源: http://blog.csdn.net/a18852867035/article/details/66976028 如何利用Djang...

31440
来自专栏Java开发

使用Hexo+GitHub搭建免费个人博客

博主GitHub博客地址:https://joeybling.github.io/

1.7K20

扫码关注云+社区

领取腾讯云代金券