我需要能够双击桌面上的文件并让 Eclipse(或更具体地说是 Lotus Notes)启动我的自定义操作,以处理和显示它。我找到了
它描述了如何在 eclipse 中设置内容类型并将其绑定到编辑器。这不是我所需要的。我们将电子邮件存储为 DXL (Domino XML),虽然我可以在内部打开它们(通过我的自定义函数),但我找不到有关如何在外部启动它们的信息。我希望以前有人这样做过。
我需要能够双击桌面上的文件并让 Eclipse(或更具体地说是 Lotus Notes)启动我的自定义操作,以处理和显示它。我找到了
它描述了如何在 eclipse 中设置内容类型并将其绑定到编辑器。这不是我所需要的。我们将电子邮件存储为 DXL (Domino XML),虽然我可以在内部打开它们(通过我的自定义函数),但我找不到有关如何在外部启动它们的信息。我希望以前有人这样做过。
我以前没有做过,但是......在
EclipseEnvironmentInfo.getDefault().getCommandLineArgs()
您可以在命令行参数处获取 eclipse 的启动方式(“org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo”是一个内部类,但您无论如何都可以访问它……风险自负;))。一个快速测试表明,如果您使用 eclipse 启动一个文件,最后一个参数是该文件的路径。
正常启动:
-os,win32,-ws,win32,-arch,x86,-product,org.eclipse.epp.package.rcp.product
带文件:
-os,win32,-ws,win32,-arch,x86,-product,org.eclipse.epp.package.rcp.product,D:\Programme\Eclipse3.5-RCP\readme\readme_eclipse.html
您可以扩展扩展点“org.eclipse.ui.startup”并实现“org.eclipse.ui.IStartup”以检查命令行参数并调用您自己的命令。
这是我的测试课:
import java.util.Arrays;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo;
import org.eclipse.ui.IStartup;
import test.Activator;
public class Test implements IStartup {
@Override
public void earlyStartup() {
String message = "Arguments: " + Arrays.toString(EclipseEnvironmentInfo.getDefault().getCommandLineArgs());
Activator.getDefault().getLog().log(new Status(IStatus.INFO, "Test", message));
}
}