5

これで、Eclipse WizardDialog/Editorにコンテキストヘルプを登録できますか。

1)help_contexts.xmlファイルを作成しました。

<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<contexts>
   <context  id="my.plugin.help.general" >
        <description>test</description>
        <topic label="test" href="http://domain.com/help.html"/>
   </context>
</contexts>

2)plugin.xmlでこのファイルを参照しました

  <extension
         point="org.eclipse.help.contexts">
         <contexts file="help_contexts.xml" plugin="my.plugin.MainEditor">
         </contexts>
   </extension>

3)build.propertiesに行を追加して、このファイルをbinディレクトリに含めました(bin.includes = help_contexts.xml、...)

4)GEFベースのプラグインを実行すると、動的ヘルプの下に「「my.plugin.MainEditor」に一致するものが見つかりません」と表示されます。

このようなものをどこかに作成する必要があることはわかっていますが、WizardDialogまたは少なくともエディター全体でこれをどこに設定すればよいかわかりません。

  public void createPartControl(Composite parent) {
      ...
      PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, 
         "my.plugin.help.general");
   }

注:この質問には、元々2つの質問が含まれていました。他の場所に投稿された最初の(未回答の部分)を削除しました。

4

2 に答える 2

10

1) help_contexts.xml ファイルを作成しました。コンテキスト ID にピリオドを含めないでください。そこにプラグイン名を含めないでください。

<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<contexts>
   <context  id="help_general" >
        <description>test</description>
        <topic label="test" href="http://domain.com/help.html"/>
   </context>
</contexts>

2) このファイルを plugin.xml で参照しました。独自のプラグインを参照している場合は、plugin-id を含めないでください。

 <extension
         point="org.eclipse.help.contexts">
         <contexts file="help_contexts.xml">
         </contexts>
   </extension>

3) build.properties に行を追加して、このファイルを bin ディレクトリに含めました (bin.includes = help_contexts.xml, ... )。Manifest.MF の Bundle-SymbolicName に注意してください (plugin.xml エディターにも表示されます)。例: my.plugin

4) WizardPage でコンテキスト ID を設定します (クレジットは @VonC に送られます)

public class MyWizardPage extends WizardPage
    public void createControl(Composite parent) {
        PlatformUI.getWorkbench.getHelpSystem.setHelp(parent, "my.plugin.help_general");
    }
}
于 2009-06-20T14:25:22.580 に答える
3

主な質問については、setHelpの2番目のパラメーターについてはよくわかりません。このスレッドを参照してください:

メソッド呼び出しで

PlatformUI.getWorkbench().getHelpSystem().setHelp()

2番目のパラメータはcontextIDです。接頭辞はlike:" "
である必要があります。 プラグインのプラグインIDがどこにあるかわかりませんでした。 だから私はこのプロパティの値を使用しました: pluginIDpluginID.contextID

Bundle-Name Bundle-Symbolic-NameMANIFEST.MFプラグインIDとしてから。
今では動作します。


WizardDialog補足(のヘルプ)については、このスレッドが役立つ可能性があります( DavidKyleと彼のブログ「EclipseRCP」から

ウィザードページでコンテキストIDを設定します。

public class MyWizardPage extends WizardPage
    public void createControl(Composite parent) {
        PlatformUI.getWorkbench.getHelpSystem.setHelp(parent, 
MyPluginActivator.ID + ".mycontexthelpid");
    }
}

ウィザードダイアログのヘルプを設定します。

WizardDialog dialog = new WizardDialog(.....);
PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), 
"mycontexthelp.id");

オーバーライドしませんperformHelp()

ヘルプコンテキストIDについて。プラグインでコンテキストxmlファイルを定義します。

<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<contexts>
    <context id="mycontexthelpid" >
        <description>My wizard help.</description>
        <topic label="Wizard help" href="reference/wizard/help.xhtml"/>
    </context>
</contexts>

プラグインで

<plugin>
    <extension point="org.eclipse.help.contexts">
        <contexts file="mywizard.xml" plugin="com.mypluginid"/>
    </extension>
</plugin>

一般的な問題は、プラグインとコンテキストヘルプIDを台無しにすることです。いくつかのブレークポイントを設定して、要求されているコンテキストIDを確認できます。

于 2009-06-18T16:15:47.830 に答える