Eclipse gef Eclipse上下文帮助
现在我可以在Eclipse向导对话框/编辑器中注册上下文帮助了 1) 我创建了一个help_contexts.xml文件Eclipse gef Eclipse上下文帮助,eclipse-gef,Eclipse Gef,现在我可以在Eclipse向导对话框/编辑器中注册上下文帮助了 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
<?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>
注:本问题原包含两个问题。我已经删除了第一个(未回答的部分)要发布到其他地方。对于主要问题,我不确定setHelp第二个参数。见: 在方法调用中 第二个参数是
contextID
它应该以
pluginID
作为前缀,比如:“pluginID.contextID
”现在我不确定在哪里可以找到我的插件的插件ID。
因此,我使用了这个属性的值:
Bundle Name
Bundle Symbolic Name
fromMANIFEST.MF
作为插件ID。现在它起作用了
对于侧注(向导对话框的帮助),可能会有所帮助(来自David Kyle) 和他的博客“): 我们在向导页面中设置上下文id 我们为向导对话框设置帮助 我们不重写
performHelp()
至于帮助上下文id,请在插件中定义上下文xml文件
我的向导帮助。
在你的插件中
一个常见的问题是混淆了插件和上下文帮助ID。你可以设置
两个断点以查看请求的上下文id
以下是您的操作方法:
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>
对于第一部分,我无意中在其中输入了一个伪字符串,但我仍然不确定如何将其应用于其他部分。对于第二部分,关键是在向导页面中添加引用。谢谢注意:您想使用Bundle SymbolicName而不是Bundle Name。@Jason:谢谢您的反馈。我已经根据自我提示更新了我的答案:1)使用包含句点的上下文ID是灾难的秘诀。my.plugin.help.general不起作用。引用“帮助\常规”时,必须使用my.plugin.help\常规。2) 不能在help_contexsts.xml文件中指定插件名称。使用“帮助\概述”。@Jason:如果你已经设法回答了(部分)你的问题,你可以发布一个实际的答案(甚至选择你自己的帖子作为正式答案-本案例不涉及代表利益)@VonC回答了它,并在这里更直接地创建了我的原始问题优秀的反馈(+1)。谢谢:)
public void createPartControl(Composite parent) {
...
PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
"my.plugin.help.general");
}
PlatformUI.getWorkbench().getHelpSystem().setHelp()
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");
<?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>
<?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>
<extension
point="org.eclipse.help.contexts">
<contexts file="help_contexts.xml">
</contexts>
</extension>
public class MyWizardPage extends WizardPage
public void createControl(Composite parent) {
PlatformUI.getWorkbench.getHelpSystem.setHelp(parent, "my.plugin.help_general");
}
}