eclipse 插件开发相关

1378060-a5b41b0855ec0ce5.jpg

话说呀,eclipse的文档很不够用呀,写的简直是一个不容易理解,可能作者觉得显而易见的东西,到我这里就完全看不懂。显然=>懵逼

当然eclipse设计的非常好,优秀的面相对象设计和扩展性,为自己喜欢的开发工具写扩展真是兴奋的事情。

摘录一些片段,供大家欣赏。或者日后参考....

熟悉插件开发方法

用向导工具生成相应的代码,熟悉环境,参考官网的文档,一些方面写对不错。完整的工程在代码会放在github/yfor

开发基本用了一天的时间,当然看了两天的文档,用Google搜索,代码复制粘贴stackoverflow,抄各种博客。

语法高亮

extends RuleBasedScanner 增加rule


自定义我们的rule(实现IRule)

需要一些语法分析的基础。


自定义我们的颜色


智能提示

extends SourceViewerConfiguration


    @Override
    public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
        ContentAssistant assistant = new ContentAssistant();
        //可以增加shell控件,显示函数帮助信息。
assistant.setContentAssistProcessor(new JavaCompletionProcessor(), IDocument.DEFAULT_CONTENT_TYPE);
        assistant.setContentAssistProcessor(new JavaDocCompletionProcessor(), XMLPartitionScanner.XML_TAG);
        assistant.enableAutoActivation(true);
        assistant.setAutoActivationDelay(500);
        return assistant;
    }

implements IContentAssistProcessor

    @Override
    public ICompletionProposal[] computeCompletionProposals(ITextViewer arg0, int arg1) {
        ICompletionProposal[] result = new ICompletionProposal[3];
        IContextInformation info = new ContextInformation("http", "http request");
        result[0] = new CompletionProposal("http", arg1, 0, 4);
        info = new ContextInformation("ssh", "ssh con");
        result[1] = new CompletionProposal("ssh", arg1, 0, 3);
        info = new ContextInformation("sql", "sql test");
        result[2] = new CompletionProposal("sql", arg1, 0, 3);
        return result;
    }

右键弹出菜单

获取文件相关


运行命令

需要异步


重定向到console

增加console依赖


如果完全看不懂,那么不要担心,就在写这篇文章的前几个小时,我也不理解这些代码的作用,甚至可以确定,直到很久以后我也很难理解这些组件的组合原理。看看我们的达到的效果,足以激动人心但是没多大用处的功能

feature

  1. 语法高亮
  2. 右键执行命令
  3. 重定向输出到控制台组件
  4. 自动补全

最主要的是使用Google,阅读文档,你也可以开发出来自己的插件。

欢迎阅读我的其它文章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,260评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 字符串:string ; str.indexOf(); 根据字符串内容找位置; 从左往右第一个; str.la...
    BrightenSun阅读 1,313评论 0 2
  • 胸肌,一个新手老手都比较重视的部位。但兄弟的训练只是简简单单的推推杠铃,夹夹胸那么简单么? 6条练胸法则,让你少走...
    七大叔阅读 4,944评论 2 33
  • 元旦快乐。 不知道该怎样开始对14的总结。这一年,不知道经历了多少长大的历程。得到与失去也好,执着与坚守也好,快乐...
    最美锁骨阅读 2,812评论 0 2