Eclipse插件“未启用操作”

时间:2011-04-24 20:53:21

标签: java refactoring eclipse-plugin

我正在努力使用Java Refactoring - 我需要编写一个Eclipse插件来重构一些代码。这对我来说真的很难,如果我可以一步一步地遵循工作代码,那将会更容易。我能找到的唯一相似的例子是样本Introduce Indirection

不幸的是我无法让它真正起作用。我尝试的时候,我得到“选择的操作当前不可用”的信息。

我导入了代码,“Run As - > Eclipse App”,并尝试使用Eclipse文章中的Introduce Ind。我做错了什么?

我会很高兴有任何帮助:)。

4 个答案:

答案 0 :(得分:7)

检查处理程序类是否有isEnabled()方法。我想在创建新处理程序时,此方法的默认值返回false。这可能是问题所在。

答案 1 :(得分:1)

您应该能够将该示例(如已编写的)工作,或者您可能需要打开错误。当您在运行方式中启动它们的示例时,错误日志中是否有任何错误?

您可以尝试的其他方法是查看一些工作台重构。请参阅设置移动资源重构的org.eclipse.ltk.internal.ui.refactoring.actions.MoveResourcesHandler,如果需要使用CTRL + SHIFT + T跟踪SDK类的帮助,请http://wiki.eclipse.org/FAQ_How_do_I_find_a_particular_class_from_an_Eclipse_plug-in%3F

答案 2 :(得分:1)

我设法运行它。对于其他将面临同样问题的人:

检查基础知识: 请记住,您只能选择一种方法: 它必须存在于模型中(http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IJavaElement。 HTML)

一定不能有任何错误

不能是构造函数

不得连接到注释声明

并且:在编辑器大纲或Package Explorer中选择一个Java方法

很明显:)

答案 3 :(得分:0)

动作处理程序类应该是相关接口的障碍(检查错误控制台以识别缺少的接口,最有可能是'IActionDelegate')。