 
     @activeTabView.showPaneByIndex index + 1
 
+  goToTabNumber: (keyEvent) ->
+    keyEvent.preventDefault()
+    keyEvent.stopPropagation()
+
+    keyCodeMap    = [ 49, 50, 51, 52, 53, 54, 55, 56, 57 ]
+    requiredIndex = keyCodeMap.indexOf keyEvent.keyCode
+    tabView       = @activeTabView.getPaneByIndex requiredIndex
+
+    @activeTabView.showPaneByIndex requiredIndex
+
   forEachSubViewInIDEViews_: (callback = noop) ->
     for ideView in @ideViews
       for pane in ideView.tabView.panes

      'expand sidebar'     : 'expandSidebar'
      'go to left tab'     : 'goToLeftTab'
      'go to right tab'    : 'goToRightTab'
    keyBindings: [
      { command: 'split vertically',   binding: 'ctrl+alt+v', global: yes }
      { command: 'split horizontally', binding: 'ctrl+alt+h', global: yes }

      { command: 'expand sidebar',     binding: 'ctrl+alt+e', global: yes }
      { command: 'go to left tab',     binding: 'ctrl+alt+[', global: yes }
      { command: 'go to right tab',    binding: 'ctrl+alt+]', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+1', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+2', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+3', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+4', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+5', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+6', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+7', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+8', global: yes }
      { command: 'go to tab number',   binding: 'ctrl+alt+9', global: yes }
    ]

  constructor: (options = {}, data) ->
