こんにちは。
開発チームのワイルド担当、まんだいです。
VisualStudioCode(以下 VSCode)の 1.6.1 がリリースされましたね。
最近急にブラケットの見やすさに熱を上げだした VSCode ですが、今回もしっかり機能追加されています。

新しいエディタグループを開かずにエディタを分割できる新コマンドの追加

Ctrl + \ で現在開いているエディタを新しいグループに複製するコマンドがあります。
これは少し離れた箇所のコードを確認しながら作業するのに非常に便利な機能ですが、既に複数のグループが開かれている状態だとグループごとのエディタサイズが変わってしまい、少し不便だなと思っていました。

これを解決するのが今回のコマンド。

Ctrl + kCtrl + \ のショートカットキーで単一のエディタ上で画面分割ができるようになりました。
字面で見ると、少しややこしいショートカットが設定されていますが、やってみるとそこまでややこしくはありません。

コマンドパレットでは「Split Editor Orthogonal」という機能名で登録されているので、 Ctrl + Shift + p でコマンドパレットを開いてから、「orth」と検索するのが最短の様子。

そろそろ新しいショートカットを覚えると他のショートカットキーを忘れそう…。

 

既存のエディタグループにエディタを分割する機能の追加

エディタ分割に関して、もう一つ新しい機能が追加されたので合わせて見ていきましょう。
先程の新機能は同一タブにエディタ分割する機能でしたが、こちらは既存のエディタグループにエディタを分割する機能になります。

これにより、先程私が不便だとお伝えした事象は解決されましたね。

ただデフォルトではショートカットキーは設定されておらず、コマンドパレットから簡単な英語を入力する形で機能提供されています。

「Split into [タブグループの位置]」という形で検索できますが、正直なところここまで来るとマウスで移動させた方が速いんじゃないかと思いますが皆さんはいかがでしょうか?
何かの事情でマウスが使えなくなった場合に備えるならば、覚えておいたほうがよい機能ですね。

 

エディタグループのロック機能

これは現時点で完成というわけではなく、色々試行錯誤中とのことですが、一旦機能として利用できる形が整ってきたということで、エディタグループの自動ロック機能が追加されました。
デフォルトではターミナルだけが自動ロックの対象です。

ロックされたエディタグループには新しいエディタが追加されないようになります。
例えば、ターミナル内のファイル名を Ctrl + クリックで開いた場合などがこれにあたります。

この場合、別のエディタグループでファイルが開かれるようになります。地味ですが便利な機能です。

 

ファイル名の表示に関する変更

エディタ上部のタブに表示されるファイル名の視認性が高くなったようです。
削除済みのファイルは赤文字で打ち消し線が入った上で、 D の文字が付くようになりました。
読み込み専用ファイルはカギのアイコンが付くようになりました。

削除済みは以前から分かるようになっていたと思いますが、よりわかりやすくという感じでしょうか。

 

VSCode チームはブラケットの色分けに本気なようです。

Bracket Pair Colorizer という拡張機能があります。
Bracket Pair Colorizer 2 という続編(?)と合わせて900万ダウンロードという VSCode の拡張機能でもトップ10に入る人気の拡張機能で超絶便利な拡張機能で私も愛用しています。

この拡張機能には、1つ問題があって、ファイルサイズが増加するにつれてブラケットペアを走査する処理に時間がかかるようになること。
つまり遅いんです。

VSCode のチームがこれを再実装して、10000倍早くなったよ、というのが前回のリリースで公開されたこの機能です。
内部処理に関して、用いたアルゴリズムや計算回数などもしっかり書かれていて、非常に勉強になる記事ですが、同じアルゴリズムを使って、同階層のインデントにあるブラケットのペアにガイドを付ける機能が追加されました。

拡張機能が本家に統合されるケースは以前にもありましたが、長らく抱えていた問題も解決されてよかったなと思います。
後はブラケットの色指定ができるようになれば、概ね本家の機能は取り込めたといってよいかなと思います。

こういう話を聞くと、アルゴリズムって大事だなと思いますね。

 

コミット漏れが減りそうな機能が追加されました

現在操作しているブランチがプッシュ待ちのコミットがあるブランチの場合、ソースコントロールペインにプッシュを促すボタンが表示されるようになりました。
最近はプッシュするのを忘れることもあまりないですが、単純にマウスを左下まで移動させなくてもプッシュできるのは便利だと思います。

 

ターミナルで折り返し制御できるようになりました

小技ですが、 Alt + z で右端で折り返して全文表示するか、折り返さないかを切り替えることができるようになりました。
折り返さない場合はスクロールバーが表示されるようになります。

長文のログが流れる時など見る必要がなければ折り返さないようにしてもいいかも知れません。

ちなみにエディタで Alt + z をするとミニマップの表示 / 非表示が切り替えられます。

 

まとめ

VSCode 1.6.1 のリリースノートから気になる新機能や改善項目をご紹介しました。
Bracket Pair Colorizer を利用されている方は、拡張機能をアンインストールして、「Bracket Pair Colorization」を有効化してみると良いかも知れません。
速度差が分かるほど巨大なファイルを用意しなければいけませんが…。

エディタグループ周りの細かい調整もありがたいですね。
大きな機能追加も楽しみですが、小さな機能改善は日頃の作業効率に影響することが多いのでこちらも同じくらい楽しみです。

see also
Workspace Trust 大幅調整入りました。 VisualStudioCode 1.5.8 リリース

以上です。