Eclipse 已经有了非常令人印象深刻且有用的东西,我称之为“源代码修饰符”(请建议一个更好的名称)。
例如,它具有“快速修复”、“单词补全”、“外部化字符串”等通过菜单(或组合键)修改源代码的功能。
现在,我希望添加我自己的“源代码修饰符”功能:我想:
- 突出显示(选择)任意字符串。
- 右键单击它
- 使用我编写的函数(最好用 Java 编写)调用一个菜单项,将该字符串“翻译”为另一个字符串。类似于当前默认上下文菜单上的“快速修复”或“替换为”。
这在 Eclipse 中可能吗?
如果是这样,我需要做什么才能实现这一目标?
最佳答案
简短回答:
快速协助必须修改AST Java 代码。本质上,您必须将 org.eclipse.jdt.core.dom.SimpleName 节点替换为您想要的节点。
长答案:
org.eclipse.jdt.ui.quickAssistProcessors
扩展点使您能够贡献自己的 Java 代码快速辅助。
要为扩展点创建新扩展,您需要首先在plugin.xml 中提供所需的扩展。例如,JDT定义了以下处理器
<extension
point="org.eclipse.jdt.ui.quickAssistProcessors">
<quickAssistProcessor
name="%defaultQuickAssistProcessor"
class="org.eclipse.jdt.internal.ui.text.correction.QuickAssistProcessor"
id="org.eclipse.jdt.ui.text.correction.QuickAssistProcessor">
</quickAssistProcessor>
</extension>
(有关各个属性的说明,请参阅扩展点文档)
然后需要创建实现org.eclipse.jdt.ui.text.java.IQuickAssistProcessor
接口(interface)的类,并修改该类中的AST。 (该类与您在声明扩展时指定的类相同)
提供正确的 IJavaCompletionProposal
JDT 为纠正建议提供以下默认实现,可用于提供快速修复和快速帮助。
- 更改更正提案
- CU修正提案
- ASTRewriteCorrectionProposal
如果您使用 ASTRewrite,则应创建 ASTRewriteCorrectionProposal。
ASTView插件
这将帮助您可视化 Java 源文件的 AST http://www.eclipse.org/jdt/ui/astview/index.php
关于eclipse - 就地 ("Quick-Assist"或者更简单的东西)源代码修饰符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708758/