🤖

VSCodeでcopilot+neovimを使っていると,IntelliSenseがうまく使えない問題の回避策

2022/08/17に公開

発生した問題

VSCodeにてcopilotを使用していると,意図していないのに補完が出てきてしまうことがよくありました。これだけならまだ許せたのですが,IntelliSense(エディタとかその他の拡張機能による補完,定義あってる?)が出なくなってしまっていて,class名とかの補完が効かなくなり結構困っていました。
oi

Copilotを無効化せずにCopilot自身のの補完を無視するには,Escを押すしかないみたいなのですが,Neovimを併用している都合上,Escを押すと問答無用でCopilot終了どころかinsertモードまで終了してしまい,エディタ補完の出番なくノーマルモードに戻り困っていました。
ノーマルモードに戻ってしまった
(↑ノーマルモードに戻ってしまう……)

その時の環境

  • VSCode 1.70.1
    • Github Copilot 1.41.6508
    • VSCode Neovim 0.0.89
    • Flutter拡張などなど

解決策

copilotのEscをそれ以外のキーに変えられれば本来はよかったのですが,ダメそうだったので,Neovim拡張(vimでも同じだと思う)からEscを無効化することにしました。
cmd+kcmd+sでキーボードショートカット一覧を表示し,「neovim esc」で検索しました。その上で,KeybindingがEscになっている箇所を,ctrl+[に変更することで,EscでCopilotの打消のみを行うようにしたことで,無事にIntelliSenseが動くようになりました。
fix
(↑SourceがUserとなっている部分が,いじった箇所)

わーい

一言

僕はVimのEscをctrl+[で普段から行っていたためよかったのですが,そうではないときついかなと思います…。根本的な解決策はあるのでしょうか…?

GitHubで編集を提案

Discussion