IContributionRoot 类型的方法 addContributionItem(IContributionItem, Expression) 指的是缺少的类型 Expression

The method addContributionItem(IContributionItem, Expression) from the type IContributionRoot refers to the missing type Expression

我正在尝试编写一个带有菜单和子菜单的 eclipse 插件,但是当我写的时候:

additions.addContributionItem(item, null);

我有这个错误:

The method addContributionItem(IContributionItem, Expression) from the type IContributionRoot refers to the missing type Expression

上网查了一下,没有找到好的解决办法。另外我不完全理解这个错误。如果有人能向我解释并帮助我,那就太好了!

您尝试过使用 IMenuManager 吗?

IMenuManager manager = new MenuManager();
manager.add(contributionItem);
Menu menu = manager.createContextMenu(getControl());

您需要在 MANIFEST.MF 文件的 Require-Bundle 部分下添加 org.eclipse.core.expressions