次の方法で共有


Windows アプリに適したビジュアル ツリー ビューアーを選択する

UI ビジュアライザーとも呼ばれるビジュアル ツリー ビューアーは、実行時に Windows アプリの UI コンポーネントを検査し、操作するために使用されるツールです。

これは、コンポーネント階層の表示と走査、コンポーネントの強調表示、状態の取得と設定、関連コードへのディープリンクなどの機能を通じて、プロトタイプの作成、ユーザー エクスペリエンスの向上、UI 問題のデバッグに役立ちます。

次の表は、いくつかの UI 視覚化ツールと、それらがサポートする UI フレームワークおよび Windows アプリ プラットフォームを示しています。 各ツールの概要はテーブルの後にあります。

UI プラットフォーム/フレームワーク Visual Studio - ライブ ビジュアル ツリー スパイ++ アクセシビリティ インサイト Chromium UI開発ツール
Windows App SDKWinUI サポートされています サポートされていません サポートされています サポートされていません
WPF サポートされています サポートされていません サポートされています サポートされていません
デスクトップ用 React Native サポートされています サポートされていません サポートされています サポートされています
.NET MAUI (英語) サポートされています サポートされていません サポートされています サポートされていません
WinFormsの サポートされています サポートされています サポートされています サポートされていません
UWPWinUI 2 サポートされています サポートされていません サポートされています サポートされていません
クラシック Visual Basic アプリ サポートされていません サポートされています サポートされていません サポートされていません
クラシック Win32 アプリ サポートされていません サポートされています サポートされていません サポートされていません
Chromium ベースのアプリ サポートされていません サポートされていません サポートされていません サポートされています

Visual Studio - ライブ ビジュアル ツリー

ライブ ビジュアル ツリーとライブ プロパティ エクスプローラー機能は Visual Studio に同梱されており、連携して動作して、アプリ内の UI 要素の対話型ランタイム ビューを提供します。

ライブ ビジュアル ツリーを使用する場合

これらのツールは、Windows アプリ SDKUWPWPF.NET MAUIWinFormsデスクトップ用のWinUI 2でWindows アプリ SDKWinUI 2 を使用してアプリをビルドする場合に使用します。

WPF ツリー ビジュアライザーはレガシ機能であり、アクティブな開発ではありません。 WPF ツリー ビジュアライザーを使用すると、WPF オプションのビジュアル ツリーを調べたり、ツリーに含まれるオブジェクトの WPF 依存関係プロパティを表示したりすることができます。

ライブ ビジュアル ツリーの使用方法

ライブ ビジュアル ツリーを表示するには、XAML ホット リロードを有効にする必要があります (この機能は Visual Studio 2019 以降では既定で有効になっています)。

XAML ホット リロードが有効になっているかどうかをチェックするには、Visual Studio デバッガーをアタッチしてアプリを実行します (F5 またはデバッグ - >デバッグの開始)。 アプリが起動すると、アプリ内ツールバーが表示され、XAML ホット リロードが利用可能であることが確認されます (次の図を参照)。

Visual Studio のアプリ内デバッグ ツール バーのスクリーンショット。

アプリ内ツール バーが表示されない場合は、Visual Studio のメニュー バーから[XAML ホット リロード>のデバッグ >オプション] を選択します。 [オプション] ダイアログ ボックスで、[XAML ホット リロード を有効にする] オプションが選択されていることを確認します。

Visual Studio の [デバッグ オプション] ダイアログ ボックスのスクリーンショット。[XAML ホット リロードを有効にする] が強調表示されています。

アプリがデバッグ構成 (デバッガーがアタッチされた状態) で実行されたら、Visual Studio メニュー バー (Windows > Live ビジュアル ツリー>のデバッグ) に移動します。 これにより、[ライブ ビジュアル ツリー] ウィンドウが開き、XAML コードがリアルタイムで表示されます。

既定では、ライブ ビジュアル ツリーの [マイ XAML のみ] オプションが選択されています。 これにより、アプリ内の XAML 要素コレクションの簡略化されたビューが提供され、次の図に示すように、[マイ XAML のみを表示] ボタンを使用して、オンまたはオフを切り替えることができます。

[自分の Xaml のみを表示] オプションが有効になっている Visual Studio ライブ ビジュアル ツリーのスクリーンショット。

ライブ ビジュアル ツリーの機能

Live Visual Tree ツール バーには、実行時にアプリケーションの UI を通じて調べる要素を選択するためのいくつかのオプションが用意されています。

  • 実行中のアプリケーションの要素を選択します。 このモードをオンにすると、アプリケーションで UI 要素を選択すると、ライブ ビジュアル ツリーが自動的に更新され、その要素に対応するツリー内のノードとそのプロパティが表示されます。

    [実行中のアプリケーションで要素を選択] オプションが有効になっている Visual Studio ライブ ビジュアル ツリーのスクリーンショット。

  • 実行中のアプリケーションでレイアウトの装飾を表示します。 このモードをオンにすると、アプリケーション ウィンドウには、選択したオブジェクトの境界に沿った水平線と垂直線が表示され、その余白の輪郭を示す四角形が表示されます。

    [実行中のアプリケーションでレイアウトの装飾を表示] オプションが有効になっている Visual Studio ライブ ビジュアル ツリーのスクリーンショット。

  • 選択のプレビュー。 このモードをオンにすると、要素が宣言されている XAML が Visual Studio に表示されます (アプリケーションのソース コードにアクセスできる場合)。

    [選択のプレビュー] オプションが有効になっている Visual Studio ライブ ビジュアル ツリーのスクリーンショット。

Spy++

Spy++ (SPYXX.EXE) は、Visual Studio に付属の Win32 ベースのユーティリティで、システムのプロセス、スレッド、ウィンドウ、およびウィンドウ メッセージのグラフィカル ビューを提供します。

Spy++ をいつ使用するか

クラシック Win32 アプリケーションをビルドする場合、または Win32 API を使用して UI 要素 (WinForms や クラシック Visual Basic アプリなど) を描画する場合に、Spy++ を使用します。

.NET Framework アプリの場合、Spy++ によってインターセプトされるウィンドウ メッセージとクラスはマネージド イベントやプロパティ値に対応しないため、Spy++ の有用性は限定されます。

Spy++ の使用方法

Spy++ は、Visual Studio または Visual Studio の開発者コマンド プロンプトから起動できます。

Visual Studio から Spy++ を起動するには:

  • Visual Studio のインストールに、C++ によるデスクトップ開発ワークロードの C++ コア デスクトップ機能コンポーネントが含まれていることを確認します。 (Visual Studio 2022 では既定でインストールされます。)[C++ を使用したデスクトップ開発] カードがチェックされ、C++ コア デスクトップ機能のインストール状態が強調表示されている Visual Studio インストーラーのスクリーンショット。
  • インストールすると、[ツール] メニューから Spy++ を使用できます。
  • Spy++ は Visual Studio とは独立して実行されるため、不要になった場合は終了することができます。

Visual Studio の開発者コマンド プロンプトから Spy++ を起動するには:

  • Windows の [スタート] メニューから、Visual Studio 用開発者コマンド プロンプトを開きます。 Developer Command Prompt for VS 2022 が強調表示されている Windows の [スタート] メニューのスクリーンショット。
  • コマンド プロンプトで、spyxx.exe (64 ビット バージョンの場合は spyxx_amd64.exe) と入力し、Enter キーを押します。

Visual Studio から Spy++ を使用する方法の詳細については、「Spy++ ツール バー」を参照してください。

Spy++ の機能

Spy++ は、システム オブジェクト間の関係のグラフィカル ツリーを表示します。ツリーの最上部には現在のデスクトップ ウィンドウがあり、標準のウィンドウ階層に従ってリストされた他のすべてのウィンドウを表す子ノードが表示されます。 これにより、Visual C++ デバッガーでは得られない、アプリケーションの動作に関する貴重な分析情報が得られます。

Spy++ のアプリケーション ウィンドウのスクリーンショット。

Spy++ では、次のことができます。

  • 指定した ウィンドウ、 スレッド、プロセス、またはメッセージを検索します。
  • 選択したスレッド プロセス、またはメッセージのプロパティを表示します。
  • ツリー ビューでウィンドウ、スレッド、プロセス、またはメッセージを直接選択します。
  • Finder ツールを使用して、マウス ポインターを使用してウィンドウを選択します (検索 -> ウィンドウの検索)。 Spy++ の [ウィンドウの検索] ダイアログのスクリーンショット。
  • 複雑なメッセージ ログ選択パラメーターを使用して、メッセージ オプションを設定します。

Spy++ のドキュメントについては、Spy++ のヘルプを参照してください。

Accessibility Insights for Windows - ライブ検査

Accessibility Insights for Windows - ライブ検査は、開発者がUI オートメーションをサポートする Windows アプリのアクセシビリティの問題を見つけて修正するのに役立つ、ダウンロード可能な Microsoft アプリケーションです。 これは、開発者が要素の上にマウスを置くか、要素にキーボード フォーカスを設定するだけで、アプリ内の要素に正しい UI オートメーション プロパティがあることを確認するのに役立ちます。

Accessibility Insights - ライブ検査を使用する場合

Live Inspect は、通常、Live Visual Tree と組み合わせて使用されます。 Spy++ などのツールは、Windows アプリ SDKWinUIUWP、WPF.NET MAUIWinForms、またはデスクトップ用ネイティブ React Native でWinUI 2 を使用してアプリをビルドする場合に使用します。

Accessibility Insights - ライブ検査の使用方法

Accessibility Insights は、「Accessibility Insights のダウンロード」からダウンロードしてインストールする必要があります。

Accessibility Insights の機能 - ライブ検査

ライブ検査は、選択した要素に対応する UI オートメーション プロパティとパターンを含む詳細ペインを備えたシステム オブジェクト間の関係のグラフィカル ツリーを表示します。 現在のデスクトップ ウィンドウはツリーの最上部に表示され、子ノードは標準のウィンドウ階層に従ってリストされた他のすべてのウィンドウを表します。

ライブ検査を使用すると、次のことが可能になります。

  • 要素の上にマウスを置くか、要素にキーボード フォーカスを設定するだけで、アプリ内の要素に適切な UI オートメーション プロパティがあることを確認できます。
  • ターゲット アプリケーション内の要素を視覚的に強調表示します。
  • 多数のアクセシビリティ ルールやガイドラインへの準拠を手動または自動でチェックして、コントロールやパターンをテストします。

基本的なターゲット アプリの横にある Accessibility Insights ツールのスクリーンショット。

UI オートメーションの詳細については、「UI オートメーションの概要」を参照してください。

Accessibility Insights の詳細については、「Accessibility Insights for Windows」を参照してください。

Windows 用 Chromium UI DevTools

Chromium UI DevTools for Windows は、フロントエンド DevTools Inspector を使用して Web ページのように UI システムを検査できる Google のツールです。

Chromium UI DevTools for Windows を使用する場合

プログレッシブ Web アプリや Electron デスクトップ アプリを含む Chromium プロジェクトを開発している場合は、Chrome UI DevTools を使用します。 Electron の詳細については、GitHub の「DevTools 拡張機能」を参照してください。

Chromium UI DevTools for Windows の使用方法

Windows コードベース用の Chromium UI DevTools は GitHub からダウンロードして、Visual Studio でビルドする必要があります。 詳細については、UI DevTools ツールの概要に関するページを参照してください。

Chromium UI DevTools for Windows の機能

Chromium UI DevTools for Windows では、Web ページ フロントエンドを使用して、ビュー、ウィンドウ、およびその他の UI 要素を表示および走査します。

Chromium UI DevTools for Windows を使用すると、次のことができます。

  • 階層 UI 要素ツリーを使用して、UI 要素とそのプロパティを検査します。
  • 検査モードを使用すると、UI 要素の上にマウスを置くとその要素が強調表示され、UI 要素ツリー内の要素のノードが表示されます。
  • [要素] パネルを使用して検索バーを開き、名前、タグ、スタイルのプロパティを使用して UI 要素ツリー内の要素を検索します。
  • [ソース] パネルを使用して、Chromium コード検索でクラス ヘッダー ファイルを開き、ローカル ファイルからコードを取得します。