如何在向导中使用 Eclipse 帮助

How To Use Eclipse Help In a Wizard

我发现了两种据称可以使 Eclipse 向导发挥作用的方法。

首先是在我的 Wizard 实例上设置 setHelpAvailable(true) 并让 WizardPage 覆盖方法:

public void performHelp() { 
  PlatformUI.getWorkbench().getHelpSystem().displayHelp(CONTEXT_ID); 
}

它在 "Back" 按钮旁边显示一个没有图标的帮助按钮,但从未调用方法 performHelp

第二种方式是直接在TrayDialog上设置,像这样:

WizardDialog dialog = new WizardDialog(myShell, myWizard);
dialog.create();
WorkbenchHelp.setHelp(dialog.getShell(), CONTEXT_ID);
dialog.setHelpAvailable(true);
dialog.open();

这会在左下角显示一个带有图标的按钮,但单击它时没有任何反应。

帮助系统已设置(如果我自己这么说的话,文档很简单),但我不知道如何使这些解决方案中的任何一个起作用。我想知道他们中的一个是否应该比另一个更受欢迎?

随着 WizardDialog 只需调用

 dialog.setHelpAvailable(true);

在每个WizardPage调用帮助系统的createControl方法中setHelp:

public void createControl(Composite parent)
{
  Composite composite = new Composite(parent, SWT.NONE);

  PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, "help id");

  ... other code

为了完整起见:在我的例子中,问题与记录很少的帮助功能无关,而是因为 Eclipse Mars 不能再进行热代码替换。