Eclipse 欢迎页面插件:如何在外部浏览器上打开相对路径 Intro.xml

Eclipse Welcome-page plugin: How to open relative path on external browser from Intro.xml

如何使用自定义 Eclipse 欢迎页面插件的相对路径在外部浏览器上打开 url?

以下代码是我目前从 intro.xml 获得的示例,它在 Linux 上工作正常,但在 Windows.[=12 上不起作用=]

             <link 
                label="Documentation" 
                url="http://org.eclipse.ui.intro/openBrowser?url=file:../documentation/index.html"   
                id="link-img-documentation" 
                style-id="content-link">
              <text>Read documentation.</text>
             </link> 

另一种方法是使用 http://org.eclipse.ui.intro/runAction 并创建一个实现 IIntroAction 的 class 总体而言,您需要做两件事。

  • 添加实现 IIntroAction
  • 的 class
public class OpenFileInBrowser implements IIntroAction {
    @Override
    public void run(IIntroSite site, Properties params) {
        
        if (params.containsKey("filePath") ){
            String filePath = params.getProperty("filePath");
            String workingDir = System.getProperty("user.dir");
            String urlString = "file://" + workingDir + File.separator + filePath;
            
            try {
                IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport();
                IWebBrowser browser = browserSupport.getExternalBrowser();
                URL url = new URL(urlString);
                browser.openURL(url);
            } catch (Exception e) {
            }   
        }   
    }
}

  • 更新 link 标签中的 url 如下:
 url="http://org.eclipse.ui.intro/runAction?pluginId=x.y.z&amp;class=x.y.z.OpenFileInBrowser&amp;filePath=../documentation/index.html"