Eclipse plugin 以编程方式启动Eclipse产品文件?

Eclipse plugin 以编程方式启动Eclipse产品文件?,eclipse-plugin,eclipse-rcp,Eclipse Plugin,Eclipse Rcp,我想编写一个Eclipse插件,列出工作区中的所有产品文件,并能够启动它们。有没有办法以编程方式启动eclipse.product文件 在EclipseIDE中的文件上有一个启动按钮。也可以通过右键单击并选择“作为Eclipse应用程序运行”来启动该文件。查看Eclipse命令行的应用程序标志 请看这里: 注意,您需要将特定于平台的启动器也设置为eclipse命令行的look-at-application标志 请看这里: 注意:您还需要设置特定于平台的启动器代码可以在org.eclipse.pd

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


在EclipseIDE中的文件上有一个启动按钮。也可以通过右键单击并选择“作为Eclipse应用程序运行”来启动该文件。

查看Eclipse命令行的应用程序标志

请看这里:


注意,您需要将特定于平台的启动器也设置为eclipse命令行的look-at-application标志

请看这里:


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

代码可以在org.eclipse.pde.ui.launcher.eclipselaunch快捷方式中找到

我这样使用代码:

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();
    }

}

代码可以在org.eclipse.pde.ui.launcher.eclipselaunch快捷方式中找到

我这样使用代码:

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();
    }

}

这是一个非常广泛的领域。阅读“帮助”中的所有内容。@greg-449我在“帮助”部分中没有看到任何对.product文件的引用。您是说无法以编程方式运行.product文件,而这是执行类似操作的另一种方法吗?@mapters这显然是可能的,因为.product文件编辑器概述页面上有一个“启动Eclipse应用程序”按钮。但是文档中并没有介绍它是如何工作的,可能会用到很多内部类,这是一个非常广泛的领域。阅读“帮助”中的所有内容。@greg-449我在“帮助”部分中没有看到任何对.product文件的引用。您是说无法以编程方式运行.product文件,而这是执行类似操作的另一种方法吗?@mapters这显然是可能的,因为.product文件编辑器概述页面上有一个“启动Eclipse应用程序”按钮。但是文档中并没有介绍它是如何工作的,可能会用到很多内部类。很多内部类是你不应该用到的。很多内部类是你不应该用到的。