【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

タイムライン機能がプレビューした! Visual Studio Code 1.42 アップデートまとめ

こんにちは。
開発チームのワイルド担当、まんだいです。

今月も VSCode (以下、 Visual Studio Code )のアップデートが届きましたので、個人的にグッと来た機能をご紹介したいと思います。

未保存のエディタの挙動がかなり良くなった

早いところ、未保存の状態でもストアしておく機能を実装してもらいたいところですが、それはまだ先の話のようです(そんな機能予定にもない)。

今回改善されたポイントは2点あります。

まずは untitled となっているエディタタイトルに、コンテンツの冒頭部分が表示され識別しやすくなったこと。
一体どれだけ untitled なエディタを開くんだという疑問もありますが、これが1つ目の改善ポイント。

もう一つはデフォルトの言語モードに関する挙動の改善。

例えば私の場合、デフォルトの言語モードは Markdown に設定しています。
これは、メモを取りたくなった時すぐに取れる状態にしたいため。

メモを取りたい時はそれでいいですが、ファイルの内容をコピーしたい場合は、この設定が足かせになります。

そこで新しいオプションとして、 ${activeEditorLanguage} という文字列を設定することで直前に開いていたエディタの言語モードと同じ言語モードに設定された状態のエディタを作成することができるようになりました。

コードは TypeScript だけど、設定ファイルは json ファイルだったり yaml ファイルだったり、もしかすると .env だったりと、コンテンツによって最適な形のファイルフォーマットを選択するのが当たり前になっていて、色んなファイル形式が混在することが多いなら、この設定はアリじゃないかと思います。

この設定はワークスペースごとに設定できるため、開発用のワークスペースには ${activeEditorLanguage} を設定しておき、私のようにメモ書き用のワークスペースを作っている場合は、 Markdown を設定しておく、などしておくと更に効率が上がるのではないでしょうか。

 

パネルがエディタの左側にも移動可能に

従来、右側には移動できた(と記憶している)パネルですが、この度左側にも移動できるようになりました。

このパネルにはターミナルも含まれるため、ログを less しながら見る時は大変便利です(右側にあってもいいですが)。

こういうパネルの移動系はショートカットキーでちゃちゃっとやりたいところですが、ショートカット自体は設定されていますがキー割り当てされておらず、自分で設定する必要があります。
「 workbench.action.positionPanelLeft 」で検索して割り当ててみてください。

 

リネームプレビュー機能が追加されました

リファクタリングで気を使う作業といえば、クラス名の変更。
できれば変更しない方がいいけれど、クラスを細分化した結果、クラス名と実態に乖離が生じるといったことはよくあることだと思います。

テストでうまく見逃しが拾えればいいですが、そうでないこともあるので、なかなか勇気がいる作業。

そんな時リネームプレビューを使うと、プロジェクト内のクラス出現箇所をすべてリスト化して表示してくれるので、見逃しがかなり減るんじゃないかと思います。

ただ、この機能はインテリセンスの実装によるもののようで、 Language Server の実装に左右されるようです。
簡単にですが調べたところ、 JavaScript 、 TypeScript はデフォルトで対応していますが、その他の言語についてはインテリセンスが対応していれば、という感じのようです。

 

エディタで開く最大数の設定が可能に

使用している Language Server やコンテンツのサイズにもよりますが、概ね1つのエディタで 50MB 以上メモリを使用する計算で20枚もエディタを開くと 1GB くらいメモリを消費していく計算になります。

そこに開発用の動作環境などを足していくとメモリなんてあっという間になくなりますよね。

そこで VSCode で開くエディタの上限を設定する機能が追加されました。
こちらを使って VSCode が使用するメモリをある程度制限することが可能になりました。

  • workbench.editor.limit.enabled
  • workbench.editor.limit.perEditorGroup
  • workbench.editor.limit.value

上記3つの設定項目が追加されていますので、それぞれの役割を確認したいと思います。

まずは、 workbench.editor.limit.enabled ですが、こちらはエディタの上限設定を有効にするかという項目です。
デフォルトでは off になっていて、無効化されています。

次に workbench.editor.limit.perEditorGroup です。
こちらはエディタの最大数の設定を、エディタグループ単位で適用するか、エディタグループ全体に適用するかという項目です。
エディタグループ単位だとリソース制限というより、エディタのタブが小さくなりすぎないようにという方向の制御のようにも思えますね。

最後は workbench.editor.limit.value ですが、これは開くエディタの最大数です。
デフォルトで10になっています。

 

Insiders エディションで新機能が続々お披露目されてます

現在のマイルストーンで明記されているタイムライン機能がプレビューになりました。

これはファイル単位でコミット履歴を確認する機能で、 gitlens のコミット履歴では追いにくかったファイルごとの過去の修正履歴が簡単に確認できるようになりました。

timeline API も既に追加されているようで、拡張機能で利用することもできるようです。

さらに検索機能も一新されるようで、新しい検索機能は、サイドバーやパネル上に表示されるものではなく、エディタとして表示されるものになるようです。

使ってみた感じで一番違うのは、検索結果がエディタに表示されるため、結果をファイルとして出力することができること。
複数の検索結果を保持できなかったのは、ずーっとこんな感じだったので既に不便とも思わなくなっていましたが、言われてみれば保存できた方がいい。

エディタになった分、表現の自由度は飛躍的に上がっていて、非常に見やすいなと思いました。
また、検索結果の場所まですぐに移動できるリンクがあるので、使用感はほぼ以前のままです。

以上の機能は本家ではなく、 Insiders で公開されています。

 

まとめ

今回は設定周りの機能追加が多かった印象でしたがいかがだったでしょうか?
紙幅の関係上紹介できなかった、保存時にコンフリクトした場合のデフォルト動作指定や、コードフォールディングされた行をハイライトする機能など細かい気の利いた機能の追加などもありますので試してみてください。

機能評価版という位置づけの Visual Studio Code Insiders はタイムラインや新しい検索機能など、今後楽しみな機能を先取りして試せるため、インストールしてみると楽しいと思います。

本当に一瞬困惑でした
双子に気を取られすぎて商品みてなかったんですが、4600yenですか...

以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
2,577
X facebook はてなブックマーク pocket
【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author

萬代陽一

ソーシャルゲームのウェブ API などの開発がメイン業務ですが、ありがたいことにマーケティングなどいろんな仕事をさせてもらえています。
なおビヨンド内での私の肖像権は CC0 扱いになっています。