【问题标题】:Launch Eclipse Product File Programmatically?以编程方式启动 Eclipse 产品文件?
【发布时间】:2018-01-10 17:32:32
【问题描述】:

我想编写一个 Eclipse 插件,列出工作空间中的所有产品文件并能够启动它们。有没有办法以编程方式启动 eclipse .product 文件?

在 Eclipse ide 中的文件上有一个启动按钮。该文件也可以通过右键单击并选择:“Run as Eclipse Application”来启动。

【问题讨论】:

  • 这是一个非常广泛的领域。阅读Program debug and launch support 帮助中的所有内容。
  • @greg-449 我在该帮助部分中没有看到对 .product 文件的任何引用。您是说无法以编程方式运行 .product 文件,而这是执行类似操作的替代方法?
  • @mapeters 这显然必须是可能的,因为 .product 文件编辑器概览页面有一个“启动 Eclipse 应用程序”按钮。但其工作原理并未包含在文档中,并且可能会使用很多内部类。

标签: eclipse-plugin eclipse-rcp


【解决方案1】:

查看 Eclipse 命令行的 -application 标志

请看这里:https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html

请注意,您还需要设置特定于平台的启动器

【讨论】:

    【解决方案2】:

    代码可以在 org.eclipse.pde.ui.launcher.EclipseLaunchShortcut 中找到

    我是这样使用代码的:

    import org.eclipse.core.resources.IFile;
    import org.eclipse.core.runtime.CoreException;
    import org.eclipse.pde.internal.core.iproduct.IProduct;
    import org.eclipse.pde.internal.core.iproduct.IProductModel;
    import org.eclipse.pde.internal.core.product.WorkspaceProductModel;
    import org.eclipse.pde.internal.ui.PDEPlugin;
    import org.eclipse.pde.internal.ui.launcher.LaunchAction;
    
    @SuppressWarnings("restriction")
    public class LaunchExecutor {
    
        private void launchProduct(IFile productFile) {
            String mode = "debug";
            IProductModel workspaceProductModel = new WorkspaceProductModel(productFile, false);
            try {
                workspaceProductModel.load();
            } catch (CoreException e) {
                PDEPlugin.log(e);
            }
            IProduct product = workspaceProductModel.getProduct();
            new LaunchAction(product, productFile.getFullPath().toOSString(), mode).run();
        }
    
    }
    

    【讨论】:

    • 那里有很多你不应该使用的内部类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    相关资源
    最近更新 更多