Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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 EclipseIDE-Perspective被缓存,更改没有任何影响_Java_Eclipse_Ide - Fatal编程技术网

Java EclipseIDE-Perspective被缓存,更改没有任何影响

Java EclipseIDE-Perspective被缓存,更改没有任何影响,java,eclipse,ide,Java,Eclipse,Ide,我已经用邮件客户端的默认模板创建了新的EclipseIDE(插件项目,EclipseKepler,rel.1) 第一次运行应用程序后,透视图将被存储和记住(在某处?),对Perspective.java的任何更改都不会产生任何影响!即使我从Perspective.java中删除createInitialLayout(IPageLayout布局)的内容,所有内容都会再次恢复 顺便说一句:将此代码添加到ApplicationWorkbenchHadvisor.java没有帮助: @Override

我已经用邮件客户端的默认模板创建了新的EclipseIDE(插件项目,EclipseKepler,rel.1)

第一次运行应用程序后,透视图将被存储和记住(在某处?),对Perspective.java的任何更改都不会产生任何影响!即使我从Perspective.java中删除createInitialLayout(IPageLayout布局)的内容,所有内容都会再次恢复

顺便说一句:将此代码添加到ApplicationWorkbenchHadvisor.java没有帮助:

@Override
public void initialize(IWorkbenchConfigurer configurer) {
    super.initialize(configurer);
    configurer.setSaveAndRestore(false);
}

如何强制应用程序不记住布局?

您可以调用
IWorkbenchPage.resetPerspective()
重新初始化透视图,可能是在
WorkbenchIndowadvisor.postWindowRestore()方法中。

谢谢。我在菜单中添加了以下代码。现在我可以随时重置透视图

public class ApplicationActionBarAdvisor extends ActionBarAdvisor {

    private IWorkbenchAction resetPerspectiveAction;

    @Override
    protected void makeActions(IWorkbenchWindow window) { 
        // ...
        // create and register the actions
        resetPerspectiveAction = ActionFactory.RESET_PERSPECTIVE.create(window);
        register(resetPerspectiveAction);
        // ...
    }

    @Override
    protected void fillMenuBar(IMenuManager menuBar) {
        // ...
        // create and fill the window menu
        MenuManager windowMenu = new MenuManager("&Window", WorkbenchActionConstants.M_WINDOW);
        menuBar.add(windowMenu);
        windowMenu.add(resetPerspectiveAction);
        // ...
     }
}