13
5

More than 3 years have passed since last update.

VSCodeのVimプラグインが重いと感じた時に行った設定

Posted at

概要

普段、VSCodeのVimプラグインを使って開発しているが、どうにも動作が遅いと感じた。
特に、大きめのファイルにおいて文字入力するともっさりするというか、
文字をタイプして、いくらか間を置いてから動作が行われるような感覚があった。

その時に設定を見直したら、ある程度マシになったので同種で困っている人のためにメモを残しておこうと思う。

結論

  • Bracket Pair Colorizer のプラグインを2系から1系に戻した
  • 各種設定を見直して、描画負荷のかかりそうなところの実行を切ったり間引いたりした
setting.json
{
    "editor.minimap.enabled": false,
    "editor.quickSuggestionsDelay": 600,
    "indentRainbow.updateDelay": 800,
    "bracketPairColorizer.timeOut": 800,
    "cSpell.spellCheckDelayMs": 200,
}

間引く系の設定は editor.quickSuggestionsDelay 以外は入れているプラグインによって異なるはずなので、各々確認すること。

内容

Bracket Pair Colorizer のプラグインを2系から1系に戻す

GitHubのIssueを追うと、 Bracket Pair Colorizer2 のプラグインを併用していると遅くなる、という情報があった1ので、これを2から1に戻したらかなり快適になった。
特に日本語入力環境においてあまりにも違いが出たので、それぞれの入力の様子を以下に貼っておく。

Bracket Pair Colorizer2を併用した場合

実際には連続でタイピングしているにも関わらず、Enterで確定したポイントで入力がとぎれとぎれになる。
VSCodeVim_with_bracket_pair_colorizer_2.gif

Bracket Pair Colorizer (オリジナル版)を併用した場合

特に問題なくスムーズに入力できた。
vsCodeVim_with_bracket_pair_colorizer_original.gif

よって、VSCodeの利用プラグイン一覧からBracket Pair Colorizer 2の方はアンインストールし、オリジナル版の方をインストールし直した。

Bracket Pair Colorizer (オリジナル版)は以下からインストールできる。
Bracket Pair Colorizer - Visual Studio Marketplace

各種設定の見直し

設定を見直して、遅くなっていそうなところで不要な項目は切ったり間引いたりした。
主にやったことは以下の2つ。

  • ミニマップをオフにする
  • 他のプラグインの **Delay**timeOut 系の設定値を調整する

ミニマップをオフにする

setting.json
{
    "editor.minimap.enabled": false,
}

デフォルト設定のまま使っていたのでミニマップが表示されていたが、これをオフにすることで少しだが入力がもたつかなくなった。
特に、deleteキーで文字を削除する時のカクつきが和らいだように感じた。
現状ミニマップを有効利用していなかったので、オフにした。

他のプラグインの **Delay**timeOut 系の設定値を調整する

設定に "editor.quickSuggestions": false を記述すると良い、という情報があった2ため、
そのように設定すると、確かに動作が快適になった。

だが、Suggestionsを切ってしまうのは自分にとって使いづらくなってしまうので、
妥協案として表示されるまでの時間間隔に少し間を置くことで、入力直後のカクつきを和らげることにした。

setting.json
{
    "editor.quickSuggestionsDelay": 600,
}

またどれくらい効果があるかは正直わからないが、
各プラグインの実行タイミングについても、遅くしても問題ないものは少し遅くしておいた。

設定項目は各プラグインによって異なるので、
ショートカット ⌘ , (Macの場合) で設定画面を開き、 上部のsearch settings のところに delay やら time やらのキーワードで入れて検索、間引いたほうが良さそうなものを一つづつ確認しながら手動で設定していった。

vscode_settings.png

自分の場合は、以下を設定するとまぁまぁいい感じに思えたので設定しておいた。

setting.json
{
    "indentRainbow.updateDelay": 800,
    "bracketPairColorizer.timeOut": 800,
    "cSpell.spellCheckDelayMs": 200,
}

その他

"vim.statusBarColorControl": false を加えると良い、という内容の記載もあったが
自分の環境では特に記述しなくてもデフォルトで false となっているようだったので設定には加えなかった。

感想

そもそも導入しているプラグインの数多すぎでは? という話はあるように思うが、
どれも自分にとっては開発を助けてくれる、必要なツールだった。
これを機会にそれぞれの設定を見直して、快適でよくばりな環境に整えられてよかった。

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5