事象

前提

  • vscode-neovimを使っている
  • VsCode version: June 2025(1.102)
  1. iでinsert modeに入る
  2. IMEで日本語入力に切り替え
  3. 入力がおかしくなる

調査

  • 最近になるようになったので何かしらの直近の修正の影響である
  • neovim

Vscode-neovimの影響か調査

  1. バージョンを9ヶ月前のものに戻す

方法は特定のバージョンをインストール…を選択で可能

  1. 事象が発生するか確認 →発生しているため、vscode-neovimの影響ではない可能性が高い

自分のneovimの設定の影響か調査

init.luaでほとんどをコメントアウトしてほとんど何も設定していない状態に修正 →事象が発生するため、neovimの自分の設定の影響ではない

vscode-vimでも発生するか調査

  • vscode-vimをインストール →同じ事象が発生

→vscodeの原因そうなことが確定

Vscodeでissue調査

vscode-copilot-chatで質問

  • Agent
  • Claude Sonnet4
vscodeにてuser inputからレンダリングする技術に直近で変更が入ったかgithubを参照して確認してください。
調べたいのはiでinsertモードに入った直後IMEで日本語入力に変更してから直後の入力がおかしくなっている事象についてです。
vscode-neovim,vim拡張機能どちらでも発生しているのでvscode自体に修正が入ったのではないかと推測しています

回答結果が返ってきていたので確認

## 調査結果のまとめ

VSCodeでのIME(日本語入力)とVim拡張機能の組み合わせで発生している問題について、以下のことが判明しました:

### 問題の原因

1. **VSCode 1.101.0(2025年5月)での回帰**: Edit Context機能の導入により、IME composition中の入力処理に問題が発生
    
2. **Inline Completion無効化の副作用**: 2024年12月のPR #235375で、composition中はinline completionを無効化する機能が追加されたが、これがVim拡張機能との相互作用で予期しない動作を引き起こす可能性
    
3. **Edit Context機能との競合**: 新しいEdit Context機能とVim拡張機能のテキスト処理ロジックが競合し、IME入力時に文字の重複や異常な動作が発生
    

### 具体的な修正

- **2025年6月23日のコミット 449da857d2a**: Edit Context機能でのIME入力時の重複問題を修正
- **回避策**: `experimentalEditContextEnabled`設定を無効化することで問題を回避可能

### 推奨対応

1. **設定での回避**: `settings.json`に以下を追加
    
    {
    
      "editor.experimentalEditContextEnabled": false
    }
    
2. **VSCode更新**: 最新版のVSCodeにアップデートして修正済みバージョンを使用
    
3. **根本的解決**: この問題はVSCode本体の問題であり、Vim拡張機能を変更しても解決しない

上記を参考に修正

{
  //"editor.experimentalEditContextEnabled"がstableになりeditContextに変更されていた
  "editor.editContext":false
}

一旦修正改善はされた。 現在editContext:trueになった場合でも正常に起動できるようにするためのissueが別である。