😊

Visual Studio Codeでカーソル行を常に画面の中心にする

2023/02/13に公開

はじめに

普段、ドキュメント(READMEファイル等のマークアップ言語による原稿)をVisual Studio Codeで書いたりしています。
その際に長い文章になるとそのうちカーソルが画面の下側に行ってしまい、常に頭が下側を向いてしまうような状態になって良くないので、カーソル行を常に真ん中にしたいと思ったのですが、その方法をどうやって見つけたらいいのかよくわからくて四苦八苦したので、ここにメモします。

1. 拡張を使う

VimやEmacsなどでは、カーソル行を画面の中心に持ってきたいときに、特定のショートカットでそれを実現したりできますが(たとえばVimでは zz、Emacsでは Ctrl+L )、それを実現するショートカットを提供する専用の拡張があるようです。

これを導入するとデフォルトではEmacsと同様に Ctrl+L のキーバインドでセンタリングができるようです。

ですが、自分はこのためだけに拡張を入れるのは嫌だったのと、自動でスクロールしてほしかったので別の方法を探りました。

2. カーソル前後の行数のバッファを大きくする

2つめの方法としては、カーソルがスクロールする際の前後のバッファ行の数をすごく大きくすることで、カーソル位置が画面の真ん中に来るようにするというワークアラウンドを試しました。設定項目としては editor.cursorSurroundingLines です。

前後に100行設定する

これを設定したら、一応期待していた動作になったので良いのですが、ワークアラウンド感が否めません。
とりあえず、当面はこの設定を使い続けます。

補足

なお本体ではサポートする意向は無いようです。

Discussion