Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启动workbench时跳过缺少的编辑器文件_Java_Eclipse Plugin_Eclipse Rcp - Fatal编程技术网

Java 启动workbench时跳过缺少的编辑器文件

Java 启动workbench时跳过缺少的编辑器文件,java,eclipse-plugin,eclipse-rcp,Java,Eclipse Plugin,Eclipse Rcp,Eclipse工作台的标准行为是在调用之间保留打开的文件集,并在重新启动时尝试重新打开这些文件。如果缺少任何文件,则会出现占位符编辑器,显示有关缺少文件的错误消息。我们希望将EclipseRCP应用程序的行为更改为只以静默方式跳过任何丢失的文件 我们已经在编写自己的iaapplication,workbenchhadvisor,等等;这些类可以将各种行为注入到平台中,但我还没有找到通过这些类实现这些行为的方法。我们如何实现所需的行为?我处理这一问题的方式实际上是在创建的编辑器中:重写setInp

Eclipse工作台的标准行为是在调用之间保留打开的文件集,并在重新启动时尝试重新打开这些文件。如果缺少任何文件,则会出现占位符编辑器,显示有关缺少文件的错误消息。我们希望将EclipseRCP应用程序的行为更改为只以静默方式跳过任何丢失的文件


我们已经在编写自己的
iaapplication
workbenchhadvisor
,等等;这些类可以将各种行为注入到平台中,但我还没有找到通过这些类实现这些行为的方法。我们如何实现所需的行为?

我处理这一问题的方式实际上是在创建的编辑器中:重写
setInput
,通过调用
editorInput.exists()
(在FileEditorInput的情况下,检查文件是否存在)来检查传入的IEditorInput是否有效或者,如果您使用的是自定义编辑器输入,则需要任何其他验证

如果editorInput验证失败,则异步关闭编辑器(Eclipse不喜欢编辑器在完成打开之前关闭):

处理此问题的另一种方法是禁用启动时重新打开编辑器-请参阅

public void close () {
    Display.getDefault().asyncExec(new Runnable () {
        public void run () {
            getSite().getPage().closeEditor(YourEditorClass.this, false);
        }
    });
}