Visual Studio Codeの新機能で気になったものをいくつか紹介します。
Visual Studio Code July 2022 (version 1.70)
Sticky scroll (Preview)
スクロールするときに、ブロックの先頭行がスクロールされずに残ってくれるので、どこにいるのかわかりやすくなります。
これはいいですね!

まだPreview機能です。
editor.experimental.stickyScroll.enabledの設定をONにすると使えるようになります。
コミットメッセージのスペルチェック
Source Controlのコミットメッセージ入力フォームでもスペルチェックをしてくれるようになりました。
GitHubに英語でコミットするときに助かりますね。
Terminal Shell Integration
Shell IntegrationがデフォルトでONになりました。
ターミナルのコマンド実行結果アイコンがプロンプトの先頭に表示されたり、他にも色々な機能が使えるようになります。

VS Codeのシェルコマンド履歴機能をシェルのCtrl + rと入れ替え
VS Codeのシェルコマンド履歴呼び出しコマンドTerminal: Run Recent Command...を、ターミナルから直接Ctrl +rで使えるようになりました。
キーバインディングの設定に新たなコンテキストが追加されたことによって実現可能になったようです。
keybindings.jsonに以下のように追記しましょう。
{ "key": "ctrl+r", "command": "workbench.action.terminal.runRecentCommand", "when": "terminalFocus" },
{ "key": "ctrl+alt+r", "command": "workbench.action.terminal.sendSequence", "args": { "text": "\u0012"/*^R*/ }, "when": "terminalFocus" },
{ "key": "ctrl+r", "command": "workbench.action.quickOpenNavigateNextInViewPicker", "when": "inQuickOpen && inTerminalRunCommandPicker" },
{ "key": "ctrl+c", "command": "workbench.action.closeQuickOpen", "when": "inQuickOpen && inTerminalRunCommandPicker" },
-
Ctrl + cでキャンセルできます。 -
Ctrl + Alt + rでシェルに元々あるCtrl + rを実行できます。
また、terminal.integrated.sendKeybindingsToShellの設定がONになっていると動作しないようなのでOFFにします。
VS Codeのシェルコマンド履歴はあいまい検索と完全一致検索を切り替えたり、複数行入力されたコマンドをひとつにまとめて検索してくれたり、など高機能です。
また、シェルの種類に依存せず使えますし、複数の実行シェルにまたがって検索できるのもいいですね。
ファイルの検索結果の複数選択
ファイルの検索結果を複数選択することができるようになりました。
検索結果の一部だけをまとめて置換するのが楽になりますね。

ツリービューの検索コントロール
EXPLORERやOUTLINEなどのビューでCtrl+Fを押すと検索コントロールが出て、検索結果でフィルター表示できるようになりました。
今までもウィンドウ内で直接文字列入力することで同じことはできましたが、よりわかりやすいUIになりました。
任意の範囲の折りたたみ
テキストを選択後、コマンドパレットからCreate Manual Folding Range from Selectionを実行すると任意の範囲を折りたたむことができるようになりました。
折りたたみを削除するには、対象行にカーソルを合わせたり範囲を選択したりしてから、Remove Manual Folding Rangesを実行します。
折りたたむのが好きな人には嬉しい機能かもしれませんね。
(Visual Studioの#regionディレクティブのように任意の名前を付けられたら嬉しいんですが、、、)
また、editor.showFoldingControlsをneverにすることで折りたたみを無効する選択肢も増えました。
mergeコマンドラインオプション
VS Codeのコマンドラインオプションにmergeオプションが追加されました。
.gitconfigに以下のように追記すると、git mergetoolコマンドでVS Codeの3-wayマージが使えるようになります。
VSCode Insiders版を使う場合はcodeの部分をcode-insidersと書きます。
[merge]
tool = code
[mergetool "code"]
cmd = code --wait --merge $REMOTE $LOCAL $BASE $MERGED
Settings Profiles (Insiders)
コマンドからSettings Profile: Createを実行すればVS Codeの設定プロファイルを作成でき、ステータスバーから切り替えることができるようになります。



