如何将参数传递给eclipse插件中的context.xml文件?

时间:2013-10-11 10:32:22

标签: java xml eclipse eclipse-plugin

我有一个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:我不想从用户那里获取输入,而是信息将在一个变量中,从文件中获取。

1 个答案:

答案 0 :(得分:0)

看起来你想根据配置文件提供一系列不同的搜索引擎。

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

我主要看两个选项:

  1. 您希望在不同的网站中搜索,您可以定义 多个网络引擎,每个都在现场。

                      %search.Eclipse.desc                                  

  2. 有关此内容的更多信息: 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   用替换符号替换实际搜索字符串   '{expression}',如下例所示:

         

    http://eclipse.org/search/search.cgi?q= {表达}&安培; UL =安培; PS = 20安培; M =所有   Web搜索结果显示为将打开Web的一个链接   在url参数中替换搜索字符串的浏览器。

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

                                   XYZ搜索实例搜索XYZ站点。                               

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