VSCodeでキーボードの長押しができなくなったときの対処方法

背景

最近会社で利用しているMacのリース期限が近づいてきたので、新しいMacにリプレースすることにしました。

VSCodeの環境はそのまま移行せずに1から綺麗な状態で作成しようと思い、初期設定を行いました。

いざ開発するとなって、Vimプラグインを入れ忘れていることに気づき、インストールしました(vscodevim)。

いざ実装しようと思って、jklhキーを使ってカーソルを移動させていたところ、長押ししてもカーソルが動かないことに気づきました。

これはとても不便です…なんとかしないといけません…その時の対応方法を記載します。

Macの設定を疑う

Macをリプレースしたこともあって、最初はMacの設定だと思っていました。

Macのキーボードの設定はシステム環境設定キーボードからキーボードタブで、リピート入力認識までの時間を一番短くしてみました。

結果、なにも変わらず、原因はここではないことがわかりました。

ググってみる

全くあてがなかったので、とりあえずググってみました。

VSCode 連打 offという謎のワードで検索したところ、以下のページが見つかりました。

VSCodeにMacVimから乗り換え!基本設定して使ったら快適だ…

このページ内で連打で検索したところ、原因がvimプラグインにあることがわかりました。プラグインのページにも記載されています。

To enable key-repeating execute the following in your Terminal and restart VS Code:

1
2
3
4
$ defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false         # For VS Code
$ defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false # For VS Code Insider
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false # For VS Codium
$ defaults delete -g ApplePressAndHoldEnabled # If necessary, reset global default

今回は上の2行のみ実行しました。

再起動、動作確認

コマンド実行すると、とくにメッセージは表示されないのですが、無事実行できたようです。

最後にVSCodeを再起動します(再起動しないと反映されません)。

起動後、長押しでカーソル移動できるようになりました。

まとめ

VSCodeで初めてハマりました。いろんなプラグインがあるからか、たまにこういうことが起こるかもしれません。VSCodeでなにか起こったらまず直近にインストールしたプラグインを調べるようにしようと思います。