2009-11-10 52 views
2

我需要能够双击桌面上的文件并使Eclipse(或更具体地说Lotus Notes)启动我的自定义操作,以处理并显示它。我发现将DXL与日食/笔记相关联,并启动处理

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

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

回答

1

我没有带与

EclipseEnvironmentInfo.getDefault().getCommandLineArgs() 

帮助下,你可以在命令行参数日食开始得到(“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)); 
} 

} 
+0

感谢堆这一点。我会在星期一尝试...并欢迎来到stackoverflow! – 2009-11-14 11:41:24