仅仅因为圣诞节并不意味着骆驼停滞不前。
在23日晚上,我花了一些时间进行研究,并开始研究IDEA的Apache Camel插件的小原型。 它已经存在了很长时间。
原因是Apache Camel为目录提供了有关工具的大量有用信息。 该目录包含有关每个Camel组件,EIP,数据格式,语言等的所有小细节。
我一直希望有一个IDEA(如果可能的话,还有Eclipse)的小插件,以提供代码帮助来设置Camel端点-换句话说,要有ctrl +空格来显示可在任何给定的Camel端点上使用的Camel选项列表。
故事开始了……
因此,在漆黑的夜晚,我发现自己回到了Intellij IDEA插件领域。 自从我上次入侵IDEA插件以来已经有很长时间了。 这么多年前,我记不清了,但是大约是在2002年。我创建了一个名为Generate toString的小插件,它将为您的POJO类生成漂亮的toString方法,例如您可以生成equals / hashCode等。我维护了插件,并将其升级为较新的IDEA版本,这常常会破坏插件,或者他们已经移动/更改了API。 当时几乎没有文档记录插件API,而且编辑器本身也没有源代码,因此试图弄清楚如何使其再次工作或如何使用一些现有的IDEA对话框等都没有意思。但是最后还是有可能的,实际上我不得不使用Java Swing等来进行一些对话。该插件后来在Jetbrains上找到了一个新家,他们接管了该插件,并在IDEA中提供了该插件。 谢谢Jetbrains。 您是地球上最好的编辑器。
您可以在以下博客文章中阅读有关此故事的更多信息:
- Intellij IDEA插件兼容性
- 生成捆绑在IDEA 8中的toString()
快进到2016年,我回到了熟悉的水域,AST模型仍然命名为PsiSomething。
……故事结束了。
但是,做一个挂接到IDEA Java语言的插件花了一段时间才找出来,因为我走错了路,试图找到一个
关于智能完成的扩展点 。
因此,相反,我查看了一些现成的插件,可以找到它们的源代码,并最终找到了一个与Java语言挂钩的插件,这使我走上了正确的道路。
所以过了一会儿,我开始工作了,这真是令人惊奇地看到,智能完成建议列表包括给定组件的Camel端点选项。 在圣诞节的早晨,我入侵了一些黑客,并在第一条屏幕截图中发布了一条推文
今天在12月25日,我还有更多时间来完善代码并将其发布在github上。
我在github上创建了一个新项目,我们可以在其中破解代码,以使该插件很棒,很棒。 目的是将代码最终捐赠给Apache Camel。 但是现在我们可以将其分开,这样更容易,因为只有插件代码,而并非所有其他Camel源代码。
Github项目: https : //github.com/davsclaus/camel-idea-plugin
您可以在github页面上找到更多详细信息,其中包含有关如何尝试/运行和构建插件的说明。 还有一个问题跟踪器,其中包含我们需要处理的事情的票证。
欢迎任何人为该插件提供帮助。 遗憾的是,我目前没有太多时间来证明花几天时间在插件上进行黑客攻击,甚至认为这真的很有趣。 我必须集中精力完成《 骆驼在行动》第二版 。 我完成了微服务一章的工作已达到85%,然后在2017年初尽快完成另一章的工作。但是我也是一个人,希望获得一些有趣的黑客技术,所以我会不时地进行一些黑客研究。时间在插件上。
这本书是一个无耻的插件,在假期期间有40%的折扣代码。 折扣代码是camiach (“骆驼在行动”中获得40%的折扣,第二版,所有格式,有效期:2017年1月7日)
要结束此博客文章,请参见以下Camel IDEA插件的最新屏幕截图:
该插件还支持值的智能补全,例如,基于枚举的选项显示了哪些选择(如果有默认值,则默认为哪个)
参考: | 我们的JCG合作伙伴 Claus Ibsen在Apache Camel博客的Claus Ibsen 上开始了Apache Camel Intellij IDEA插件的工作 。 |
翻译自: https://www.javacodegeeks.com/2016/12/work-started-apache-camel-intellij-idea-plugin.html