2

我需要能够双击桌面上的文件并让 Eclipse(或更具体地说是 Lotus Notes)启动我的自定义操作,以处理和显示它。我找到了

http://www.developer.com/java/other/article.php/3648736/Eclipse-Tip-Define-Custom-Content-Types-to-Identify-Your-Data-Files.htm

它描述了如何在 eclipse 中设置内容类型并将其绑定到编辑器。这不是我所需要的。我们将电子邮件存储为 DXL (Domino XML),虽然我可以在内部打开它们(通过我的自定义函数),但我找不到有关如何在外部启动它们的信息。我希望以前有人这样做过。

4

1 回答 1

1

我以前没有做过,但是......在

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

}
于 2009-11-14T10:15:34.600 回答