You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Eclipse RCP应用的帮助插件在浏览器中打开?

问题:如何让Eclipse RCP帮助插件在浏览器中打开?

我开发了一个附加了帮助插件的Eclipse RCP应用,点击「Open Help」按钮时,帮助内容会在新窗口中打开。请问是否可以配置让该帮助插件在浏览器窗口中打开?

我的help plugin.xml代码如下:

<?xml version="1.0"?>
<plugin>
   <extension
         point="org.eclipse.help.toc">
         <toc file="toc_Concepts.xml" />
         <toc file="toc_Ref.xml" />
         <toc file="toc_Tasks.xml" />
      <toc
            file="toc.xml">
      </toc>
      <toc
            file="testToc.xml"
            primary="true">
      </toc>
   </extension>
      <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:org.eclipse.ui.main.menu">
         <command
               commandId="org.eclipse.ui.help.displayHelp"
               label="Open Help"
               tooltip="Open the Eclipse Help System">
         </command>
      </menuContribution>
   </extension>
</plugin>

可以配置,下面是两种实用方案:

方案一:通过偏好设置开启外部浏览器

这是用户可自行配置的方式,也可以在代码中强制生效:

  • 手动配置:打开应用的「Window > Preferences」,找到「Help > Content」,勾选「Use external browser」即可。
  • 代码强制设置:在应用启动类的start方法中添加代码,默认开启外部浏览器:
import org.eclipse.help.ui.internal.HelpUIPlugin;
import org.eclipse.jface.preference.IPreferenceStore;

// 放在Application类的start方法里
IPreferenceStore store = HelpUIPlugin.getDefault().getPreferenceStore();
store.setValue("org.eclipse.help.ui.useExternalBrowser", true);

方案二:自定义命令强制在浏览器打开

替换默认的帮助命令,直接调用外部浏览器打开帮助页面:

  1. 修改plugin.xml,替换原有的菜单命令配置:
<extension point="org.eclipse.ui.commands">
   <command
         id="com.your.plugin.openHelpInBrowser"
         name="Open Help in Browser">
   </command>
</extension>
<extension point="org.eclipse.ui.handlers">
   <handler
         commandId="com.your.plugin.openHelpInBrowser"
         class="com.your.plugin.handlers.OpenHelpInBrowserHandler">
   </handler>
</extension>
<extension point="org.eclipse.ui.menus">
   <menuContribution locationURI="menu:org.eclipse.ui.main.menu">
      <command
            commandId="com.your.plugin.openHelpInBrowser"
            label="Open Help"
            tooltip="Open Help in External Browser">
      </command>
   </menuContribution>
</extension>
  1. 实现自定义处理器类OpenHelpInBrowserHandler:
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.help.IHelpSystem;
import org.eclipse.help.ui.internal.HelpUIPlugin;
import org.eclipse.swt.program.Program;

public class OpenHelpInBrowserHandler extends AbstractHandler {
    @Override
    public Object execute(ExecutionEvent event) throws ExecutionException {
        IHelpSystem helpSystem = HelpUIPlugin.getDefault().getHelpSystem();
        // 获取帮助根页面的URL,也可以指定具体帮助页面路径
        String helpUrl = helpSystem.getHelpURL(null);
        Program.launch(helpUrl);
        return null;
    }
}

根据你的需求选择方案:方案一灵活,用户可自行切换;方案二强制用浏览器打开,无需用户配置。


内容的提问来源于stack exchange,提问作者Alien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 03:35:09