文档章节

Eclipse插件开发Java快速修复

素人派
 素人派
发布于 2016/12/31 20:44
字数 327
阅读 10
收藏 0
  • 介绍
在Eclipse中在有报错的地方,使用快捷键Ctrl+1就会弹出几种解决问题的方案,这时候只要选择一种就可能快速地修复该问题。 这些常见的问题,有些可能是通用的,例如:没有导入包。另外,有一些问题可能是在当前项目中的常见问题,是很容易解决但是又很容易犯错的地方;这时候也许可以使用QuickFix来实现。
  • org.eclipse.jdt.ui.quickFixProcessors
这个使用快捷键Ctrl+1会弹出快速修复方案,但是在当前Java源文件有编译错误的情况下。 [codesyntax lang="xml"]
<extension point="org.eclipse.jdt.ui.quickFixProcessors">
	<quickFixProcessor
		class="org.suren.quickfix.text.correction.GboatQuickFixProcessor"
		id="org.suren.quickfix.text.correction.GboatQuickFixProcessor">
	</quickFixProcessor>
</extension>
[/codesyntax]
  • org.eclipse.jdt.ui.quickAssistProcessors
这个快速修复的扩展点是在没有编译错误的情况下发生。 [codesyntax lang="xml"]
<extension point="org.eclipse.jdt.ui.quickAssistProcessors">
	<quickAssistProcessor name="QuickAssistProcessor"
		class="org.suren.quickfix.text.correction.QuickAssistProcessor"
		id="org.suren.quickfix.text.correction.QuickAssistProcessor">
	</quickAssistProcessor>
</extension>
[/codesyntax]
  • org.eclipse.jdt.ui.classpathFixProcessors
通过查看org.eclipse.jdt.ui的源码,可以看到默认的实现类是org.eclipse.jdt.internal.ui.text.correction.DefaultClasspathFixProcessor,它的父类是个抽象类org.eclipse.jdt.ui.text.java.ClasspathFixProcessor。 [codesyntax lang="xml"]
<extension point="org.eclipse.jdt.ui.classpathFixProcessors">
	<classpathFixProcessor name="SuRenQuickFix"
		class="org.suren.quickfix.SuRenQuickFixProcessors" id="org.suren.quickfix" />
</extension>
[/codesyntax] 需要添加依赖:org.eclipse.ltk.core.refactoring(这是Eclipse中对代码重构的框架)
  • org.eclipse.jdt.internal.ui.text.correction.GetterSetterCorrectionSubProcessor
该类是用来快速添加getter和setter方法的。如下图所示: [caption id="attachment_4240" align="aligncenter" width="300"] encapsulate_field encapsulate_field[/caption] 未完待续。。。

本文转载自:http://surenpi.com/2015/10/09/eclipse_plugin_dev_java_quick_fix/

素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问

暂无文章

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

writeademo
23分钟前
2
0
Allegro快捷键设置-PCB环境

立题简介: 内容:简单介绍Allegro绘制的PCB环境下的快捷键; 来源:实际使用得出; 作用:对Allegro绘制PCB快捷键进行介绍; PCB环境:Cadence 16.6; 立题详解: 对“allegro”板而言,其在...

demyar
24分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

之前还好好的,重启一下idea就报这个错了,大概率是tomcat没杀掉端口被占用了,在tomcat配置中更换一下sever端口就好了

宇辰OSC
28分钟前
2
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 查询可是个复杂的话题了,可能我们80%的数据库处理都在查询。 今天先...

刘之西东
28分钟前
3
0
【Android JetPack系列】数据绑定:DataBinding

参考MVVM

Agnes2017
37分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部