0

我有一个 Eclipse 插件,它的扩展名为:

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

contexts.xml 有:

<contexts>
   <context id="test_context" title="About Contexts">
      <description>This is written by me.</description>
      <topic href="http://www.google.com" label="Search about me" />
   </context>
</contexts>

我将其用作:

PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "my.plugin.id.test_context");


一切正常,但现在我想将参数传递给 contexts.xml,这样我就可以更改 href。例如现在是 www.google.com ,通过传递参数我想将其更改为 www.yahoo.com 并且我想在 java 代码中传递参数。这可能吗?如果有怎么办?
PS:我不想从用户那里获取输入,而是信息将在一个变量中,从文件中获取。

4

1 回答 1

0

看起来您想提供基于配置文件的不同搜索引擎的集合。

正如“dgolovin”所指出的,“org.eclipse.help.ui.searchEngine”可能具有您正在寻找的功能。从 Eclipse 3.1 开始,您可以定义各种风格的搜索引擎(本地搜索、信息中心和 Web 搜索)

我主要看到两个选项:

  1. 虽然您想在不同的站点中搜索,但您可以定义多个 Web 引擎,每个引擎都在站点上。

    %search.Eclipse.desc

有关此的更多信息: http ://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_help_ui_searchEngine.html

在 Eclipse 文档中,您可以阅读:

Web 搜索引擎类型的引擎 ID 为 org.eclipse.help.ui.web 并接受一个参数 url,该参数表示一个具体的搜索查询,其中实际的搜索字符串替换为替换符号“{表达式}”,如下例所示:

http://eclipse.org/search/search.cgi?q= {expression}&ul=&ps=20&m=all Web 搜索结果显示为一个链接,该链接将打开 Web 浏览器,并在 url 参数中替换搜索字符串。

  1. 其他选项是通过实现“org.eclipse.help.search.ISearchEngine”创建您自己的引擎类型,并使用“org.eclipse.help.ui.searchEngine”扩展点贡献它。

    XYZ 搜索的实例搜索 XYZ 站点。

有关此的更多信息: http ://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fua_help_search_types.htm

于 2013-10-12T10:46:02.583 回答