VS Code スティッキースクロールの無効化
問題の現象
VS Codeでコード編集中にスクロールすると、ファイル上部の数行が固定表示され消えなくなる問題が発生します。これは「スティッキースクロール」機能が誤って有効化された状態で、次のような影響があります:
- 画面スクロール時にコード上部が追従して残る
- 表示領域が不自然に減少
- 誤操作により意図せず機能がONになるケースが多い
解決方法
スティッキースクロールを即時に無効化する手順:
- VS Codeエディタエリアに移動
- 固定表示されているコード行を右クリック
- 表示されるコンテキストメニューから:
🚫 スティッキースクロールを非表示にする
- クリックすると即時無効化完了
操作のポイント
- 固定表示されている範囲(通常2-3行)であれば、どの行を右クリックしてもメニューは表示されます
- 設定変更不要のワンクリック操作
- 状態はプロジェクト/ワークスペースを跨いで維持されない
永続的に無効にする設定
今後自動で有効化されないようにする設定方法:
Ctrl + ,
(Windows/Linux)またはCmd + ,
(macOS)で設定を開く- 設定検索ボックスに以下を入力:json
editor.stickyScroll.enabled
- チェックボックスをオフに切り替え
注意
この設定変更後は、新規ウィンドウや再起動後にのみ完全反映されます。現在のセッションで即時無効化するには、右クリック方法を用いてください。
キーボードショートカットで切り替え
ショートカットを好む方には:
Ctrl + Shift + P
でコマンドパレットを開く- 以下を入力して実行:
View: Toggle Sticky Scroll
またはカスタムキーバインド設定(keybindings.json
):
json
{
"key": "ctrl+alt+s",
"command": "editor.action.toggleStickyScroll"
}
トラブルシューティング
メニューが表示されない場合の対処法:
- 設定
editor.stickyScroll.enabled
が既にfalse
になっていないか確認 - VS Codeの再起動を試行
- 最新バージョンに更新(バージョン1.81以降で機能サポート)
機能の有用性と適切な利用場面
スティッキースクロールは長いクラス/関数定義時には有用ですが、小規模編集時には邪魔に感じる場合があります。状況に応じて:
- 大規模ファイル編集時 → 有効化(現在のコンテキスト維持)
- 通常コーディング時 → 無効化
必要に応じて右クリックかショートカットで瞬時に切り替えられます。
補足:機能の目的
この機能は2023年追加の実験的機能で、以下の目的があります:
- 長い関数内編集時に関数宣言を表示維持
- ネスト構造の多いコードで階層見失いを防止
- 他IDE(IntelliJなど)の類似機能との互換性向上
これらの手順でスティッキースクロールを完全制御し、VS Codeを快適な状態でお使いください。