我正在努力使用Java Refactoring - 我需要编写一个Eclipse插件来重构一些代码。这对我来说真的很难,如果我可以一步一步地遵循工作代码,那将会更容易。我能找到的唯一相似的例子是样本Introduce Indirection。
不幸的是我无法让它真正起作用。我尝试的时候,我得到“选择的操作当前不可用”的信息。
我导入了代码,“Run As - > Eclipse App”,并尝试使用Eclipse文章中的Introduce Ind。我做错了什么?
我会很高兴有任何帮助:)。
答案 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')。