编程语言
首页 > 编程语言> > Java-Eclipse RCP:文件关联(–launcher.openFile)

Java-Eclipse RCP:文件关联(–launcher.openFile)

作者:互联网

我正在开发蚀产品,我需要将文件扩展名与我的编辑器关联.
我遵循了几个示例(例如this
this),但似乎编辑器曾经收到过SWT OpenDocument事件.

如fileAssociation示例中所述,我创建了一个eventListener类来处理SWT.OpenDocument事件,并在调用PlatformUI.createAndRunWorkbench()方法之前将其添加到我的Application类中,以显示在屏幕上.

public Object start(IApplicationContext context) throws Exception {
Object args = context.getArguments().get(IApplicationContext.APPLICATION_ARGS); 
OpenDocumentEventProcessor eProc = new OpenDocumentEventProcessor();
Display display = PlatformUI.createDisplay();
display.addListener(SWT.OpenDocument, eProc);
try{
    if(!handleWorkspace(display)){
        System.exit(0);
        return IApplication.EXIT_OK;
    }
int returnCode = PlatformUI.createAndRunWorkbench(display, new XVRWorkbenchAdvisor(args, eProc));

在产品文件中,我添加了以下程序参数:

--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-name
XVR Studio Developer

如果我在一个新的空RCP项目中使用相同的代码,它的工作原理就像一个魅力.

我不知道这可能是问题.

你能帮助我吗?

非常感谢!!

解决方法:

这种方法对我来说是未知的,但是由于您粘贴的代码中没有显式的编辑器调用,我想您仍然依靠eclipse来决定必须打开哪个编辑器.因此,我想您仍然必须声明性地定义内容类型和文件关联.为此,请为“ org.eclipse.core.contenttype.contentTypes”扩展名添加一个“文件关联”(文件扩展名…).在插件xml中获取编辑器声明,并添加先前创建的“ contentTypeBinding” ID.

标签:eclipse,eclipse-plugin,eclipse-rcp,swt,java
来源: https://codeday.me/bug/20191202/2086658.html