热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheCamelIntellijIDEA插件的工作已开始

仅仅因为圣诞节并不意味着骆驼停滞不前。在23日晚上,我花了一些时间进行研究,并开始研究IDEA的ApacheCamel插件的小原型。它已经存在了很长时间

仅仅因为圣诞节并不意味着骆驼停滞不前。

在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



推荐阅读
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • 行为设计模式:命令模式详解
    命令模式是一种行为设计模式,它通过将请求封装为对象,使得可以使用不同的请求来参数化客户端,支持请求的排队、日志记录以及提供命令的撤销和恢复功能。 ... [详细]
  • 2022年4月15日的算法练习题,包括最长公共子序列和线段树的应用。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • 本文详细介绍了如何在本地环境中安装配置Frida及其服务器组件,以及如何通过Frida进行基本的应用程序动态分析,包括获取应用版本和加载的类信息。 ... [详细]
  • 深入解析C++ Atomic编程中的内存顺序
    在多线程环境中,为了防止多个线程同时修改同一数据导致的竞争条件,通常会使用内核级同步对象,如事件、互斥锁和信号量等。然而,这些方法往往伴随着高昂的上下文切换成本。本文将探讨如何利用C++11中的原子操作和内存顺序来优化多线程编程,减少不必要的开销。 ... [详细]
  • 使用IntelliJ IDEA高效开发与运行Shell脚本
    本文介绍了如何利用IntelliJ IDEA中的BashSupport插件来增强Shell脚本的开发体验,包括插件的安装、配置以及脚本的运行方法。 ... [详细]
  • 深入解析Nacos服务自动注册机制
    本文将探讨Nacos服务自动注册的具体实现方法,特别是如何通过Spring事件机制完成服务注册。通过对Nacos源码的详细分析,帮助读者理解其背后的原理。 ... [详细]
  • SpringBoot底层注解用法及原理
    2.1、组件添加1、Configuration基本使用Full模式与Lite模式示例最佳实战配置类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断配置类组 ... [详细]
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 本文总结了在多人协作开发环境中使用 Git 时常见的问题及其解决方案,包括错误合并分支的处理、使用 SourceTree 查找问题提交、Git 自动生成的提交信息解释、删除远程仓库文件夹而不删除本地文件的方法、合并冲突时的注意事项以及如何将多个提交合并为一个。 ... [详细]
  • This article explores the process of integrating Promises into Ext Ajax calls for a more functional programming approach, along with detailed steps on testing these asynchronous operations. ... [详细]
  • [附源码]计算机毕业设计JAVAjsp医药管理信息系统
    [附源码]计算机毕业设计JAVAjsp医药管理信息系统项目运行环境配置:Jdk1.8Tomcat7.0MysqlHBuilderX(Webstor ... [详细]
author-avatar
饮娃_456
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有