📑

VSCodeの新機能紹介(2022年7月)

2022/08/11に公開

Visual Studio Codeの新機能で気になったものをいくつか紹介します。

Visual Studio Code July 2022 (version 1.70)

Sticky scroll (Preview)

スクロールするときに、ブロックの先頭行がスクロールされずに残ってくれるので、どこにいるのかわかりやすくなります。
これはいいですね!
sticky-scroll.gif

まだPreview機能です。
editor.experimental.stickyScroll.enabledの設定をONにすると使えるようになります。

コミットメッセージのスペルチェック

Source Controlのコミットメッセージ入力フォームでもスペルチェックをしてくれるようになりました。
GitHubに英語でコミットするときに助かりますね。

Terminal Shell Integration

Shell IntegrationがデフォルトでONになりました。
ターミナルのコマンド実行結果アイコンがプロンプトの先頭に表示されたり、他にも色々な機能が使えるようになります。
terminal-si-intro.png

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にします。

スクリーンショット 2022-08-07 161040.png

VS Codeのシェルコマンド履歴はあいまい検索と完全一致検索を切り替えたり、複数行入力されたコマンドをひとつにまとめて検索してくれたり、など高機能です。
また、シェルの種類に依存せず使えますし、複数の実行シェルにまたがって検索できるのもいいですね。

ファイルの検索結果の複数選択

ファイルの検索結果を複数選択することができるようになりました。
検索結果の一部だけをまとめて置換するのが楽になりますね。
search-multiselect.gif

ツリービューの検索コントロール

EXPLORERやOUTLINEなどのビューでCtrl+Fを押すと検索コントロールが出て、検索結果でフィルター表示できるようになりました。

今までもウィンドウ内で直接文字列入力することで同じことはできましたが、よりわかりやすいUIになりました。

tree-filter.gif

任意の範囲の折りたたみ

テキストを選択後、コマンドパレットからCreate Manual Folding Range from Selectionを実行すると任意の範囲を折りたたむことができるようになりました。
折りたたみを削除するには、対象行にカーソルを合わせたり範囲を選択したりしてから、Remove Manual Folding Rangesを実行します。

折りたたむのが好きな人には嬉しい機能かもしれませんね。
(Visual Studioの#regionディレクティブのように任意の名前を付けられたら嬉しいんですが、、、)

また、editor.showFoldingControlsneverにすることで折りたたみを無効する選択肢も増えました。

manual-folding-range.gif

mergeコマンドラインオプション

VS Codeのコマンドラインオプションにmergeオプションが追加されました。
.gitconfigに以下のように追記すると、git mergetoolコマンドでVS Codeの3-wayマージが使えるようになります。
VSCode Insiders版を使う場合はcodeの部分をcode-insidersと書きます。

.gitconfig
[merge]
  tool = code
[mergetool "code"]
  cmd = code --wait --merge $REMOTE $LOCAL $BASE $MERGED

Settings Profiles (Insiders)

コマンドからSettings Profile: Createを実行すればVS Codeの設定プロファイルを作成でき、ステータスバーから切り替えることができるようになります。

今のところVSCode Insiders版限定の機能です。
settings-profiles.gif

Discussion