Microsoft は、世界で最も人気のあるコード エディターである Visual Studio Code のバージョン 1.50 をリリースしました。このバージョンでは、コア機能の強化、拡張機能のサポート強化、アクセシビリティの改善が行われており、Raspberry Pi で実行されるビルドも忘れてはなりません。
VS Codeチームは毎月、まるで時計仕掛けのようにアップデートをリリースしています。そのアップデートは前月の名前が付けられており、紛らわしいため、10月のリリースは「2020年9月」と呼ばれています。リリース頻度を考えると、今回のアップデートには多くの機能が詰め込まれています。主なハイライトは次のとおりです。
- VS Code は現在、Raspberry Pi を含む Linux ARMv7 および ARM64 で実行できます。
- 設定がキーボード操作でより適切に動作するようになりました。これにより、アクセシビリティとスクリーンリーダーのサポートが向上しますが、これはすべてのキーボードユーザーにとっての改善でもあります。この変更の要点は、主にタブキーで操作されていた設定が、矢印キー、Enterキー、Escキーで操作されるようになったことです。詳しくはこちらで説明しています。
- ピン留めされたタブはデフォルトでファイル名の大部分を隠さなくなりました。これは以前は煩わしかったのですが、開発者は必要に応じて古い方法を設定することもできます。
- ターミナル、問題リスト、出力、デバッグ コンソールがある VS Code パネルに、開いたときの状態を、最大化しない、常に最大化する、または前回と同じにするなど、制御するオプションが追加されました。
- デバッグ中にコードにマウスオーバーすると、デバッグホバーと言語ホバーが競合し、それぞれ異なるヒントが表示されます。開発者はAltキーを押すことで言語ホバーを表示できるようになりました。これは以前は表示できませんでした。
- JavaScript デバッグには、Node.js コード用のスマートな自動アタッチ機能があり、これは実験的なものではなく完全に組み込んだものになっています。
- Chrome Dev Tools のフレームチャートにインスピレーションを得たと思われる、改良された Flame Graph 拡張機能は、JavaScript とブラウザのパフォーマンスをグラフィカルに分析します。リアルタイムのグラフィカル分析は、Node.js とブラウザで実行されるコードの両方で機能します。開発者はパフォーマンスプロファイルファイルをキャプチャし、そこからフレームチャートを表示することもできます。新しい「左重視」ビューでは、コールスタックをグループ化して時間順に並べることで、CPU 時間が最も消費されている場所を簡単に確認できます。
強化されたVS Codeリアルタイムパフォーマンスチャートは、JetStream 2ブラウザの拷問テストを監視しようとする際に狂ったように動作します。
VS Code の価値の多くは拡張機能にあり、バージョン 1.50 のリリース ノートには、VS Code を再起動せずにリモート コンテキストで拡張機能をインストールする機能など、リモート開発用の拡張機能の大幅な改善や、複数のリポジトリがある場合でも VS Code ワークスペース内のすべての問題とプル リクエストが表示されるようになった重要な GitHub プル リクエストと問題拡張機能についても言及されています。
拡張機能のサポートの改善
VS Code 1.50では、拡張機能用のAPIにも変更が加えられました。大きな変更点の一つは、Webview View APIの改良です。このAPIを使用すると、開発者はVS Code内で拡張機能の一部としてブラウザビューをレンダリングできます。Webviewを埋め込む機能がエディターからVS Codeサイドバーとパネルにも拡張されました。つまり、開発者は拡張機能用のカスタムユーザーインターフェースを作成できるだけでなく、任意の方法でデータを視覚化できるようになります。簡単な例として、サイドバーでWebviewを使用して16進数値に基づいて色を表示する方法を示します。
Microsoftは、プレビュー版が終了したC/C++拡張機能や、ここで説明するEdge for VS Code拡張機能など、自社の新しい拡張機能も発表しています。これらの拡張機能は、Edgeを使用する開発者が、エディタからブラウザ開発者ツールに切り替えることなく、VS Codeからブラウザのデバッグを行えるようにすることを目的としています。Chrome向けの同様のツールは、以前から存在しています。
VS Code フレームチャートは、キャプチャされたパフォーマンスプロファイルを視覚化し、コードが最も時間を費やした場所を示します。
VS Codeは高品質で多機能、そして無料です。これを阻害するものはあるでしょうか?Eclipseの開発者たちは拡張機能対応のTheia IDEで試みていますが、Microsoftのオープンソースエディタは依然として勢いを失っています。おそらく最大の問題は、多くの要望があったフローティングウィンドウのサポートが不足していることを除けば、拡張機能を過剰にインストールするとVS Codeが煩雑になり、扱いにくく、煩わしくなることです。
開発者がVS Codeを起動すると、拡張機能からの更新要求メッセージや、現在のプロジェクトで使用されていない拡張機能からのエラーメッセージが大量に表示されます。このような拡張機能は簡単に無効化または削除できますが、エディターは開発者に有用と思われる拡張機能のインストールを促す傾向があります。特に、複数の言語やプラットフォームでプロジェクトに取り組んでいる開発者にとって、VS Codeのアクティビティバーはすぐにいっぱいになり、溢れてしまいます。特に、特定の拡張機能(Google Cloud Codeなど)が複数のスロットを占有している場合はなおさらです。
新たに拡張されたWebView APIにより、拡張機能はよりリッチなUI、より多くのグラフィック、よりインタラクティブな操作性を実現できるようになりました。これらは強力な機能ですが、UIの不整合のリスクも高まります。VS Codeの人気が高まっている現状を阻む要因があるとすれば、それは拡張機能の数と高度化が負担となる時でしょう。®