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.
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"
}
]
Most helpful comment
Just in case i'm using this to closing anything with
ctrl+cexcept parameter hints