       @resizeActiveTerminalPane()
 
     @localStorageController = kd.getSingleton('localStorageController').storage 'IDE'
+
+
+  prepareIDE: ->
+
+    panel     = @workspace.getView()
+    appView   = @getView()
+    ideView   = panel.getPaneByName 'editorPane'
+
+    @setActiveTabView ideView.tabView
+    @registerIDEView  ideView
+
+    splitViewPanel = ideView.parent.parent
+    @createStatusBar splitViewPanel
+    @createFindAndReplaceView splitViewPanel
+
+    appView.emit 'KeyViewIsSet'
+
+    @createInitialView()
+    @bindCollapseEvents()
+
+    {@finderPane, @settingsPane} = @workspace.panel.getPaneByName 'filesPane'
+
+    @bindRouteHandler()
+    @initiateAutoSave()
+    @emit 'ready'
 
 
   bindRouteHandler: ->

    {windowController} = kd.singletons
    windowController.addFocusListener @bound 'setActivePaneFocus'

    workspace.once 'ready', =>
      panel = workspace.getView()
      appView.addSubView panel

      panel.once 'viewAppended', =>
        ideView = panel.getPaneByName 'editorPane'
        @setActiveTabView ideView.tabView
        @registerIDEView  ideView

        splitViewPanel = ideView.parent.parent
        @createStatusBar splitViewPanel
        @createFindAndReplaceView splitViewPanel

        appView.emit 'KeyViewIsSet'

        @createInitialView()
        @bindCollapseEvents()

        {@finderPane, @settingsPane} = @workspace.panel.getPaneByName 'filesPane'

        @bindRouteHandler()
        @initiateAutoSave()
        @emit 'ready'

    kd.singletons.appManager.on 'AppIsBeingShown', (app) =>



    $('body').addClass 'dark' # for theming

    @workspace = new IDEWorkspace { layoutOptions }
    @ideViews  = []

    # todo:
    # - following two should be abstracted out into a separate api
