Eclipse下org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer自定义内容辅助不显示
问题排查与修复方案
1. plugin.xml 配置错误:categoryId 不匹配
你定义提案分类的扩展点id是codeandme_category,在引用categoryId时需要和你插件的Bundle-SymbolicName(即MANIFEST.MF中定义的插件ID)完全匹配。
如果你插件ID确实为com.codeandme.jsdt.contentassist才可以使用当前的categoryId,如果插件ID不一致,需要将categoryId修改为[你的插件ID].codeandme_category。
2. 代码错误:使用了错误的CompletionProposal实现类
你当前导入的是org.eclipse.jface.text.contentassist.CompletionProposal,但JSDT的补全提案要求实现org.eclipse.wst.jsdt.ui.text.java.IJavaCompletionProposal接口,你可以替换为JSDT提供的提案类:
// 替换原有导包语句即可 import org.eclipse.wst.jsdt.ui.text.java.CompletionProposal;
你也可以自定义实现IJavaCompletionProposal接口的提案类,避免被JSDT的默认过滤规则过滤。
3. 可选配置验证
- 打开Eclipse首选项→JavaScript→编辑器→内容辅助→高级,确认「Code and me proposals」分类已经被勾选,且在默认建议列表的排序中处于可见位置
- 检查测试运行配置的插件列表,确认你开发的插件已经被勾选启用,且没有启动错误
- 可以在
computeCompletionProposals方法第一行加断点调试,确认方法是否被触发:如果没有触发说明扩展点配置错误,如果触发了但是提案不显示说明提案实现或过滤规则存在问题
内容的提问来源于stack exchange,提问作者steven
相关产品推荐
相关产品推荐

