[
  {
    "key": "shift+[Tab]",
    "command": "acceptAlternativeSelectedSuggestion",
    "when": "suggestWidgetVisible && textInputFocus && textInputFocus"
  },
  {
    "key": "shift+[Enter]",
    "command": "acceptAlternativeSelectedSuggestion",
    "when": "suggestWidgetVisible && textInputFocus && textInputFocus"
  },
  {
    "key": "tab",
    "command": "acceptSelectedSuggestion",
    "when": "suggestWidgetVisible && textInputFocus"
  },
  {
    "key": "enter",
    "command": "acceptSelectedSuggestion",
    "when": "acceptSuggestionOnEnter && suggestWidgetVisible && suggestionMakesTextEdit && textInputFocus"
  },
  {
    "key": "ctrl+shift+[Space]",
    "command": "editor.action.triggerParameterHints",
    "when": "editorHasSignatureHelpProvider && editorTextFocus"
  },
  {
    "key": "ctrl+k ctrl+i",
    "command": "editor.action.showHover",
    "when": "editorTextFocus"
  },
  {
    "key": "",
    "command": "workbench.action.showErrorsWarnings",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+n",
    "command": "workbench.action.files.newUntitledFile"
  },
  {
    "key": "ctrl+[Slash]",
    "command": "editor.action.commentLine",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "shift+alt+a",
    "command": "editor.action.blockComment",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "",
    "command": "editor.action.smartSelect.grow",
    "when": "editorTextFocus"
  },
  {
    "key": "shift+alt+[ArrowLeft]",
    "command": "editor.action.smartSelect.shrink",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+[Period]",
    "command": "editor.action.quickFix",
    "when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
  },
  {
    "key": "shift+alt+f",
    "command": "editor.action.formatDocument",
    "when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
  },
  {
    "key": "ctrl+k ctrl+f",
    "command": "editor.action.formatSelection",
    "when": "editorHasDocumentSelectionFormattingProvider && editorHasSelection && editorTextFocus && !editorReadonly"
  },
  {
    "key": "shift+[Delete]",
    "command": "editor.action.clipboardCutAction"
  },
  {
    "key": "ctrl+x",
    "command": "editor.action.clipboardCutAction"
  },
  {
    "key": "shift+alt+[ArrowDown]",
    "command": "editor.action.copyLinesDownAction",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "",
    "command": "editor.action.duplicateSelection",
    "when": "editorTextFocus && !editorReadonly && editorHasSelection"
  },
  {
    "key": "ctrl+shift+k",
    "command": "editor.action.deleteLines",
    "when": "textInputFocus && !editorReadonly"
  },
  {
    "key": "",
    "command": "editor.action.joinLines",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "",
    "command": "lineBreakInsert",
    "when": "textInputFocus && !editorReadonly"
  },
  {
    "key": "ctrl+[Enter]",
    "command": "editor.action.insertLineAfter",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+[Delete]",
    "command": "deleteWordRight",
    "when": "textInputFocus && !editorReadonly"
  },
  {
    "key": "ctrl+backspace",
    "command": "deleteWordLeft",
    "when": "textInputFocus && !editorReadonly"
  },
  {
    "key": "ctrl+shift+]",
    "command": "editor.unfold",
    "when": "editorTextFocus && foldingEnabled"
  },
  {
    "key": "ctrl+shift+[",
    "command": "editor.fold",
    "when": "editorTextFocus && foldingEnabled"
  },
  {
    "key": "ctrl+k ctrl+]",
    "command": "editor.unfoldRecursively",
    "when": "editorTextFocus && foldingEnabled"
  },
  {
    "key": "ctrl+k ctrl+[",
    "command": "editor.foldRecursively",
    "when": "editorTextFocus && foldingEnabled"
  },
  {
    "key": "ctrl+k ctrl+j",
    "command": "editor.unfoldAll",
    "when": "editorTextFocus && foldingEnabled"
  },
  {
    "key": "ctrl+k ctrl+[Digit0]",
    "command": "editor.foldAll",
    "when": "editorTextFocus && foldingEnabled"
  },
  {
    "key": "ctrl+w",
    "command": "workbench.action.closeActiveEditor"
  },
  {
    "key": "ctrl+[F4]",
    "command": "workbench.action.closeActiveEditor"
  },
  {
    "key": "ctrl+d",
    "command": "editor.action.addSelectionToNextFindMatch",
    "when": "editorFocus"
  },
  {
    "key": "ctrl+u",
    "command": "cursorUndo",
    "when": "textInputFocus"
  },
  {
    "key": "alt+[ArrowDown]",
    "command": "editor.action.moveLinesDownAction",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "alt+[ArrowUp]",
    "command": "editor.action.moveLinesUpAction",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "",
    "command": "editor.action.toggleColumnSelection"
  },
  {
    "key": "f3",
    "command": "editor.action.nextMatchFindAction",
    "when": "editorFocus"
  },
  {
    "key": "enter",
    "command": "editor.action.nextMatchFindAction",
    "when": "editorFocus && findInputFocussed"
  },
  {
    "key": "shift+[F3]",
    "command": "editor.action.previousMatchFindAction",
    "when": "editorFocus"
  },
  {
    "key": "shift+[Enter]",
    "command": "editor.action.previousMatchFindAction",
    "when": "editorFocus && findInputFocussed"
  },
  {
    "key": "ctrl+h",
    "command": "editor.action.startFindReplaceAction",
    "when": "editorFocus || editorIsOpen"
  },
  {
    "key": "ctrl+shift+f",
    "command": "workbench.action.findInFiles"
  },
  {
    "key": "ctrl+shift+h",
    "command": "workbench.action.replaceInFiles"
  },
  {
    "key": "shift+alt+[F12]",
    "command": "references-view.findReferences",
    "when": "editorHasReferenceProvider"
  },
  {
    "key": "",
    "command": "editor.action.referenceSearch.trigger",
    "when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor"
  },
  {
    "key": "ctrl+shift+b",
    "command": "workbench.action.tasks.build"
  },
  {
    "key": "",
    "command": "workbench.action.tasks.reRunTask"
  },
  {
    "key": "ctrl+shift+d",
    "command": "workbench.view.debug"
  },
  {
    "key": "ctrl+[F5]",
    "command": "workbench.action.debug.run",
    "when": "debuggersAvailable"
  },
  {
    "key": "f10",
    "command": "workbench.action.debug.stepOver",
    "when": "debugState == 'stopped'"
  },
  {
    "key": "f11",
    "command": "workbench.action.debug.stepInto",
    "when": "debugState != 'inactive'"
  },
  {
    "key": "shift+[F11]",
    "command": "workbench.action.debug.stepOut",
    "when": "debugState == 'stopped'"
  },
  {
    "key": "",
    "command": "editor.debug.action.runToCursor",
    "when": "debugState == 'stopped'"
  },
  {
    "key": "ctrl+shift+y",
    "command": "workbench.debug.action.toggleRepl",
    "when": "debuggersAvailable"
  },
  {
    "key": "",
    "command": "editor.debug.action.selectionToRepl",
    "when": "debuggersAvailable && editorHasSelection"
  },
  {
    "key": "f5",
    "command": "workbench.action.debug.continue",
    "when": "inDebugMode"
  },
  {
    "key": "f9",
    "command": "editor.debug.action.toggleBreakpoint",
    "when": "debuggersAvailable && editorTextFocus"
  },
  {
    "key": "ctrl+shift+d",
    "command": "workbench.view.debug"
  },
  {
    "key": "ctrl+t",
    "command": "workbench.action.showAllSymbols"
  },
  {
    "key": "ctrl+e",
    "command": "workbench.action.openPreviousEditorFromHistory",
    "when": "inQuickOpen"
  },
  {
    "key": "ctrl+e",
    "command": "workbench.action.openRecent",
    "when": "!inQuickOpen"
  },
  {
    "key": "ctrl+p",
    "command": "workbench.action.quickOpen"
  },
  {
    "key": "ctrl+shift+o",
    "command": "workbench.action.gotoSymbol",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+[PageUp]",
    "command": "workbench.action.previousEditor"
  },
  {
    "key": "ctrl+[PageDown]",
    "command": "workbench.action.nextEditor"
  },
  {
    "key": "ctrl+b",
    "command": "workbench.action.toggleSidebarVisibility"
  },
  {
    "key": "ctrl+shift+m",
    "command": "workbench.actions.view.problems"
  },
  {
    "key": "ctrl+`",
    "command": "workbench.action.terminal.toggleTerminal"
  },
  {
    "key": "ctrl+g",
    "command": "workbench.action.gotoLine"
  },
  {
    "key": "",
    "command": "workbench.action.quickOpenNavigateNext",
    "when": "inQuickOpen"
  },
  {
    "key": "ctrl+r",
    "command": "workbench.action.quickOpen"
  },
  {
    "key": "alt+[ArrowLeft]",
    "command": "workbench.action.navigateBack"
  },
  {
    "key": "alt+[ArrowRight]",
    "command": "workbench.action.navigateForward"
  },
  {
    "key": "ctrl+k ctrl+q",
    "command": "workbench.action.navigateToLastEditLocation"
  },
  {
    "key": "",
    "command": "editor.action.goToDeclaration",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+[F12]",
    "command": "editor.action.goToImplementation",
    "when": "editorHasImplementationProvider && editorTextFocus && !isInEmbeddedEditor"
  },
  {
    "key": "",
    "command": "editor.action.previewDeclaration"
  },
  {
    "key": "",
    "command": "editor.action.goToTypeDefinition",
    "when": "editorTextFocus"
  },
  {
    "key": "",
    "command": "outline.focus"
  },
  {
    "key": "ctrl+shift+o",
    "command": "workbench.action.gotoSymbol",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+[F8]",
    "command": "editor.action.marker.next",
    "when": "editorFocus"
  },
  {
    "key": "shift+alt+[F8]",
    "command": "editor.action.marker.prev",
    "when": "editorFocus"
  },
  {
    "key": "alt+[F3]",
    "command": "editor.action.dirtydiff.next",
    "when": "editorTextFocus"
  },
  {
    "key": "shift+alt+[F3]",
    "command": "editor.action.dirtydiff.previous",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+[Home]",
    "command": "cursorTop",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+[End]",
    "command": "cursorBottom",
    "when": "textInputFocus"
  },
  {
    "key": "f2",
    "command": "editor.action.rename",
    "when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+[F2]",
    "command": "editor.action.changeAll",
    "when": "editorTextFocus && editorTextFocus && !editorReadonly"
  },
  {
    "key": "f2",
    "command": "renameFile",
    "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
  },
  {
    "key": "",
    "command": "git.commitAll",
    "when": "!inDebugMode && !terminalFocus"
  },
  {
    "key": "",
    "command": "git.pushTo",
    "when": "!inDebugMode && !terminalFocus"
  },
  {
    "key": "",
    "command": "git.sync"
  },
  {
    "key": "ctrl+k ctrl+r",
    "command": "git.revertSelectedRanges",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+shift+m",
    "command": "workbench.actions.view.problems"
  },
  {
    "key": "ctrl+shift+e",
    "command": "workbench.view.explorer"
  },
  {
    "key": "ctrl+b",
    "command": "workbench.action.toggleSidebarVisibility"
  },
  {
    "key": "ctrl+b",
    "command": "workbench.action.toggleSidebarVisibility"
  },
  {
    "key": "ctrl+shift+g",
    "command": "workbench.view.scm"
  },
  {
    "key": "ctrl+k s",
    "command": "workbench.action.files.saveAll"
  },
  {
    "key": "f11",
    "command": "workbench.action.toggleFullScreen"
  },
  {
    "key": "",
    "command": "workbench.action.maximizeEditor"
  },
  {
    "key": "ctrl+k ctrl+t",
    "command": "workbench.action.selectTheme"
  },
  {
    "key": "",
    "command": "workbench.action.openGlobalSettings"
  },
  {
    "key": "",
    "command": "workbench.action.tasks.configureTaskRunner"
  },
  {
    "key": "f1",
    "command": "workbench.action.showCommands"
  },
  {
    "key": "ctrl+shift+p",
    "command": "workbench.action.showCommands"
  },
  {
    "key": "",
    "command": "workbench.action.quickOpenNavigateNext"
  },
  {
    "key": "alt+[F5]",
    "command": "workbench.action.compareEditor.nextChange",
    "when": "textCompareEditorVisible"
  },
  {
    "key": "shift+alt+[F5]",
    "command": "workbench.action.compareEditor.previousChange",
    "when": "textCompareEditorVisible"
  },
  {
    "key": "ctrl+shift+[Enter]",
    "command": "editor.action.insertLineBefore",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+[Enter]",
    "command": "editor.action.insertLineAfter",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "",
    "command": "workbench.action.terminal.focus"
  },
  {
    "key": "ctrl+`",
    "command": "workbench.action.terminal.toggleTerminal"
  },
  {
    "key": "ctrl+shift+l",
    "command": "editor.action.selectHighlights",
    "when": "editorFocus"
  },
  {
    "key": "",
    "command": "workbench.action.terminal.focusPrevious",
    "when": "terminalFocus"
  },
  {
    "key": "",
    "command": "workbench.action.terminal.focusNext",
    "when": "terminalFocus"
  },
  {
    "key": "",
    "command": "workbench.action.focusNextGroup",
    "when": "editorFocus"
  },
  {
    "key": "",
    "command": "workbench.action.focusPreviousGroup",
    "when": "editorFocus"
  },
  {
    "key": "enter",
    "command": "list.select",
    "when": "listFocus && !inputFocus"
  },
  {
    "key": "ctrl+shift+[Semicolon]",
    "command": "breadcrumbs.focus",
    "when": "breadcrumbsPossible"
  },
  {
    "key": "shift+alt+c",
    "command": "copyFilePath",
    "when": "!editorFocus"
  },
  {
    "key": "ctrl+i",
    "command": "editor.action.triggerSuggest",
    "when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
  },
  {
    "key": "ctrl+[Space]",
    "command": "editor.action.triggerSuggest",
    "when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
  },
  {
    "key": "ctrl+shift+f",
    "command": "workbench.action.findInFiles"
  },
  {
    "key": "ctrl+[Insert]",
    "command": "editor.action.clipboardCopyAction"
  },
  {
    "key": "ctrl+c",
    "command": "editor.action.clipboardCopyAction"
  },
  {
    "key": "shift+[Insert]",
    "command": "editor.action.clipboardPasteAction"
  },
  {
    "key": "ctrl+v",
    "command": "editor.action.clipboardPasteAction"
  },
  {
    "key": "ctrl+shift+z",
    "command": "redo"
  },
  {
    "key": "ctrl+y",
    "command": "redo"
  },
  {
    "key": "ctrl+z",
    "command": "undo"
  },
  {
    "key": "",
    "command": "compareFiles"
  },
  {
    "key": "",
    "command": "merge-conflict.accept.current",
    "when": "isInDiffEditor"
  },
  {
    "key": "",
    "command": "merge-conflict.accept.incoming",
    "when": "isInDiffEditor"
  },
  {
    "key": "",
    "command": "git.openChange"
  },
  {
    "key": "ctrl+k o",
    "command": "workbench.action.files.showOpenedFileInNewWindow",
    "when": "emptyWorkspaceSupport"
  },
  {
    "key": "",
    "command": "cursorLineEnd",
    "when": "textInputFocus"
  },
  {
    "key": "",
    "command": "cursorLineEndSelect",
    "when": "textInputFocus"
  },
  {
    "key": "",
    "command": "cursorLineStart",
    "when": "textInputFocus"
  },
  {
    "key": "",
    "command": "cursorLineStartSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+[End]",
    "command": "cursorBottom",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+shift+[End]",
    "command": "cursorBottomSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+[Home]",
    "command": "cursorTop",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+shift+[Home]",
    "command": "cursorTopSelect",
    "when": "textInputFocus"
  },
  {
    "key": "",
    "command": "cursorWordRight",
    "when": "textInputFocus"
  },
  {
    "key": "",
    "command": "cursorWordRightSelect",
    "when": "textInputFocus"
  },
  {
    "key": "pagedown",
    "command": "cursorPageDown",
    "when": "textInputFocus"
  },
  {
    "key": "shift+[PageDown]",
    "command": "cursorPageDownSelect",
    "when": "textInputFocus"
  },
  {
    "key": "pageup",
    "command": "cursorPageUp",
    "when": "textInputFocus"
  },
  {
    "key": "shift+[PageUp]",
    "command": "cursorPageUpSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+[ArrowLeft]",
    "command": "cursorWordLeft",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+shift+[ArrowLeft]",
    "command": "cursorWordLeftSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+n",
    "command": "workbench.action.files.newUntitledFile"
  },
  {
    "key": "shift+alt+h",
    "command": "references-view.showCallHierarchy",
    "when": "editorHasCallHierarchyProvider"
  },
  {
    "key": "shift+alt+o",
    "command": "editor.action.organizeImports",
    "when": "editorTextFocus && !editorReadonly && supportedCodeAction =~ /(\\s|^)source\\.organizeImports\\b/"
  },
  {
    "key": "",
    "command": "java.action.showTypeHierarchy",
    "when": "editorLangId == java && editorTextFocus"
  }
]