Vscode-neovim: Can't exit Intellisense/autocomplete dialog.

Created on 25 Jul 2020  路  3Comments  路  Source: asvetliakov/vscode-neovim

I switched to vscode-neovim from vscodevim about a week ago and I'm loving it! Thanks for all the work on this. One issue I'm having though is that I can no longer close the autocomplete suggestion dialog. Without vsc-neovim escape will close it. With neovim, esc will switch to normal mode as expected but leaves the autocomplete dialog open. Is there a workaround? Ctrl-space just invokes the autocomplete and then toggles the sub dialog box, but doesn't exit it.

question

Most helpful comment

Just in case i'm using this to closing anything with ctrl+c except parameter hints

[
  {
    "key": "ctrl+c",
    "command": "closeAccessibilityHelp",
    "when": "accessibilityHelpWidgetVisible && editorFocus"
  },
  {
    "key": "ctrl+c",
    "command": "closeBreakpointWidget",
    "when": "breakpointWidgetVisible && textInputFocus"
  },
  {
    "key": "ctrl+c",
    "command": "closeDirtyDiff",
    "when": "dirtyDiffVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeFindWidget",
    "when": "editorFocus && findWidgetVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeMarkersNavigation",
    "when": "editorFocus && markersNavigationVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeParameterHints",
    "when": "editorFocus && parameterHintsVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeReferenceSearch",
    "when": "inReferenceSearchEditor && !config.editor.stablePeek"
  },
  {
    "key": "ctrl+c",
    "command": "closeReplaceInFilesWidget",
    "when": "replaceInputBoxFocus && searchViewletVisible"
  },
  {
    "key": "ctrl+c",
    "command": "editor.closeCallHierarchy",
    "when": "callHierarchyVisible && !config.editor.stablePeek"
  },
  {
    "key": "ctrl+c",
    "command": "editor.cancelOperation",
    "when": "cancellableOperation"
  },
  {
    "key": "ctrl+c",
    "command": "workbench.action.closeQuickOpen",
    "when": "inQuickOpen"
  },
  {
    "key": "ctrl+c",
    "command": "cancelOnTypeRenameInput",
    "when": "editorTextFocus && onTypeRenameInputVisible"
  },
  {
    "key": "ctrl+c",
    "command": "cancelRenameInput",
    "when": "editorFocus && renameInputVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeReferenceSearch",
    "when": "editorFocus && referenceSearchVisible"
  }
]

All 3 comments

My autocomplete dialog seems to close fine when hitting escape although I did have a similar issue with parameterHints, my workaround was to add the following to my keybindings.json

    {
        "key": "f2",
        "command": "closeParameterHints",
        "when": "editorTextFocus && parameterHintsVisible"
    }

Now every time i hit f2 the popup closes, I'm sure you could do something similar

Thanks for the suggestion. I poked around and did see that Shift-Esc was also bound to hideSuggestWidget, and both had the same When condition of suggestWidgetVisible && textInputFocus. However, Shift-Esc worked even though Esc alone didn't. I disabled VSC-Neovim and it worked again, so I then modified the When condition for Esc to only have suggestWidgetVisible and now Esc alone is working with Neovim enabled. Maybe there's some issue with toggling neovim modes and textInputFocus bool state.

I haven't spent any time with this change yet, so I don't know that simplifying the conditional won't have side effects but I can't imagine what problems it would cause. Maybe there's some use case where you want the suggest widget to remain open? I can live without that.

[Edit] Okay, I _do_ think this is some sort of race condition. I notice now that if I'm in insert mode and have the suggest widget open, the first Esc only closes the suggestion but leaves me in insert mode. It takes another press of Esc to switch back to normal mode.

Just in case i'm using this to closing anything with ctrl+c except parameter hints

[
  {
    "key": "ctrl+c",
    "command": "closeAccessibilityHelp",
    "when": "accessibilityHelpWidgetVisible && editorFocus"
  },
  {
    "key": "ctrl+c",
    "command": "closeBreakpointWidget",
    "when": "breakpointWidgetVisible && textInputFocus"
  },
  {
    "key": "ctrl+c",
    "command": "closeDirtyDiff",
    "when": "dirtyDiffVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeFindWidget",
    "when": "editorFocus && findWidgetVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeMarkersNavigation",
    "when": "editorFocus && markersNavigationVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeParameterHints",
    "when": "editorFocus && parameterHintsVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeReferenceSearch",
    "when": "inReferenceSearchEditor && !config.editor.stablePeek"
  },
  {
    "key": "ctrl+c",
    "command": "closeReplaceInFilesWidget",
    "when": "replaceInputBoxFocus && searchViewletVisible"
  },
  {
    "key": "ctrl+c",
    "command": "editor.closeCallHierarchy",
    "when": "callHierarchyVisible && !config.editor.stablePeek"
  },
  {
    "key": "ctrl+c",
    "command": "editor.cancelOperation",
    "when": "cancellableOperation"
  },
  {
    "key": "ctrl+c",
    "command": "workbench.action.closeQuickOpen",
    "when": "inQuickOpen"
  },
  {
    "key": "ctrl+c",
    "command": "cancelOnTypeRenameInput",
    "when": "editorTextFocus && onTypeRenameInputVisible"
  },
  {
    "key": "ctrl+c",
    "command": "cancelRenameInput",
    "when": "editorFocus && renameInputVisible"
  },
  {
    "key": "ctrl+c",
    "command": "closeReferenceSearch",
    "when": "editorFocus && referenceSearchVisible"
  }
]
Was this page helpful?
0 / 5 - 0 ratings

Related issues

haberdashPI picture haberdashPI  路  3Comments

iansinnott picture iansinnott  路  4Comments

anhyeast picture anhyeast  路  5Comments

trkoch picture trkoch  路  3Comments

RAbraham picture RAbraham  路  4Comments