VisualStudio.Extensibilityチームチームは、拡張機能をデバッグするための新しいDiagnostics ExplorerやXAMLリソースのサポートなど、いくつかのアップデートをリリースした。このアップデートには、ファイルおよびディレクトリピッカーのプロンプトとTrackUpdatesAsync()
メソッドも含まれ、プロジェクトの変更をより効率的に追跡および管理が可能になった。
新しいツールVisualStudio.Extensibility Diagnostics ExplorerがVisual Studio Marketplaceでリリースされ、拡張機能の強力なデバッグ機能を提供する。プロセス中のVisualStudio.Extensibility拡張機能として開発されたこのツールは、Visual Studioが拡張機能をどのように認識しているかという洞察を、開発者に提供する。
Diagnostics Explorerには、コマンド、コマンドセット、グループ、メニュー、ツールバー、コマンド配置、動的コマンドアンカーを検査するためのさまざまなタブがある。検出され構成されたコンポーネントを可視化することで、開発者がIDEでコマンドが見つからないなどの問題を診断するのに役立つ。
コマンド診断に加えて、Diagnostics Explorer にはライブイベントビューアがあり、開発者はコマンド実行、ツールウィンドウのオープン、TextView の作成など、IDE 内のリアルタイムのイベントとそのプロパティを観察できる。アクティブ化制約タブは、アクティブ化制約を作成するために利用可能な各値の現在の状態についての洞察を提供する。
最新リリースでは、XAMLリソースのサポートが導入され、拡張機能のUI開発が大幅に強化された。XAMLリソースは、開発者が色、ブラシ、スタイルなどの再利用可能なオブジェクトの定義を可能にし、一貫した視覚的に魅力的なユーザーインターフェースの作成を合理化する。この新機能は、他のリモートUI機能と連携しており、.csprojファイルの埋め込みリソースとして、ResourceDictionariesを持つXAMLファイルを含められる。
<ItemGroup> <EmbeddedResource Include="XamlResources.*xaml" /> <Page Remove="XamlResources.*xaml" /></ItemGroup>
一度定義すれば、これらのリソースを他のコンポーネントに簡単に含められ、プロジェクト全体のXAMLで参照可能になる。
ResourceDictionaries.AddEmbeddedResource("XamlResources.xaml")
以前のユーザープロンプトとカスタムダイアログのサポートに加え、VisualStudio.Extensibilityに拡張機能からファイルとディレクトリピッカーのプロンプトを表示する機能が追加された。新しいAPIにより、開発者はユーザーに単一ファイル、複数ファイル、名前を付けて保存するファイル、またはディレクトリの選択を促せる。例えば、ShowOpenFileDialogAsync()
メソッドは、開くファイルの選択をユーザーに促せる。この機能強化の目的は、Visual Studio 環境でのファイルおよびディレクトリの選択プロセスを合理化することである。
VisualStudio.Extensibilityの新しいTrackUpdatesAsync()
メソッドでは、プロジェクトやソリューションの状態の変化を監視するIObserverオブジェクトを作成できる。この機能は、プロジェクト内のファイルの更新を追跡するために利用できる。例えば、IObserver<IQueryTrackUpdates<IFileSnapshot>>
を実装したカスタムTrackerObserverでこのメソッドを使用することで、開発者は更新イベントを処理するロジックを適用できる。この機能強化は、Visual Studio環境内でのプロジェクト変更のより効率的な追跡と管理の提供を目的としている。
var query = await myProject .Files .With(f => f.FileName) .TrackUpdatesAsync(new TrackerObserver(), CancellationToken.None);
VisualStudio.Extensibilityのドキュメントとインストール手順はこちらを参照。バグレポートや機能提案は、プロジェクトのGitHubリポジトリにある課題追跡システムから提出できる。このリポジトリには、開発者の作業開始を支援する拡張機能のサンプルも含まれている。