Spy-js を使用した JavaScript のプロファイリング
Spy-js は、サーバー側の Node.js アプリケーションだけでなく、さまざまなプラットフォーム / ブラウザー / デバイス上で実行される JavaScript をデバッグ、トレース、プロファイリングするためのツールです。 Spy-js はソースマップを認識するため、CoffeeScript および TypeScript コードを使用してアプリケーションをトレースできます。 詳細については、 CoffeeScript のデバッグおよび File Watchers を参照してください。
PyCharm を使うことで、SpyJS 固有のデバッグセッション中にアプリケーションをトレースし、専用 UI で結果を確認できます。
スクリプトをトレースするために、Spy-js は、スクリプトの実行時に呼び出された関数について Spy-js の UI にレポートする計測命令を挿入することにより、その場で修正します。
Spy-js は、Web アプリケーションと Node.js アプリケーションをトレースするためのさまざまなメカニズムを使用します。
Web サイトのスクリプトを変更するには、Spy-js はブラウザーと追跡している Web サイトとの間に置かれるプロキシサーバーとして機能しなければなりません。 トレースした Web サイトをブラウザーで開くと、Spy-js はスクリプト要求を受信し、Web サイトからスクリプトを要求し、スクリプトを受信し、必要な変更を加えて、スクリプトを実行するブラウザーに送信して、Spy-js UI へランタイム情報を送信します。
Node.js アプリケーションの場合、アプリケーションがすでに実行されている場合、Spy-js は Node.js サーバーとスクリプトの間に入りません。 Node.js アプリケーションをトレースするために、spy-js は Node.js サーバーとアプリケーション自体を起動します。 これにより、Spy-js はスクリプトの要求とスクリプトを傍受して変更することができ、トレース手順は Web サイトのスクリプトをトレースするときと同様に実行されます。
始める前
お使いのコンピューターに Node.js(英語) がインストールされていることを確認してください。
JetBrains マーケットプレイスからプラグインをインストールする説明に従って、 設定 | プラグイン ページの マーケットプレース タブで Spy-js プラグインをインストールして有効化してください。 このプラグインは PyCharm Pro でのみ利用できます。
Spy-js UI
キャプチャーされたイベントの表示、コールスタックの確認、ソースコードへの移動など、トレース関連の操作はすべて専用の Spy-js ツールウィンドウ 、特に Trace Run タブで行います。 このタブは、ツールバーと 3 つのペインで構成されています。
イベントペイン
このペインには、キャプチャーされたイベントのツリーが表示されます。 最上位ノードは、トレースに関与する Web ページである ドキュメントを表します。 ドキュメントにマウスをホバーすると、PyCharm は ドキュメントの URL アドレス、開いているブラウザー、そのブラウザーが実行されているオペレーティングシステムを表示するツールチップを表示します。 ドキュメントノードには、開いているブラウザーを示すアイコンも提供されます。
各 文書ノードに、ページで検出されたイベントとそこから開始されたスクリプトがリストされます。 同じ種類のイベントはビジュアルコンテナーにまとめられます。 コンテナーのヘッダーには、その中にグループ化されているイベントの名前、コンテナー内のすべてのイベントの平均実行時間、およびコンテナー内のイベントの数が表示されます。 各ノードを展開して、その中の個々のイベントを調べることができます。
スクリプトファイル名には、 イベントスタック ペインで作業するときに区別するのに役立つさまざまなカラーインジケーターがあります。 スクリプトファイル名の上にマウスを置くと、完全なスクリプト URL が表示されます。
イベントがクリックされると、その呼び出しスタックが イベントスタック ペインに表示されます。 スタックは、関数呼び出しのツリーで表されます。
イベントスタックペイン
イベント ペインのイベントをクリックすると、そのコールスタックが イベントスタック ペインに表示されます。 スタックは、関数呼び出しのツリーで表されます。 各ツリーノードは、呼び出された関数を表します。 ノードテキストには、合計実行時間、スクリプトファイル名、関数名が含まれます。 ノードをクリックすると、 クイック評価 ペインに追加の関数呼び出しの詳細、パラメーター値、戻り値、関数実行中に発生した例外の詳細が表示されます。
ペインはエディターと同期されているため、スタックツリーの項目から対応する トレースファイルまたは ソースファイルに移動できます。
トレースファイルは、書き込み禁止のスクリプトで、 <script name>.js.trace という名前が付けられています。 スタックツリー内の項目をダブルクリックするか、項目を選択してコンテキストメニューから トレースにジャンプ を選択すると、クリックした関数にキャレットが置かれた状態で対応する トレースファイルがエディターで開きます。 別の方法は、 自動スクロールしてトレース トグルボタンを押して、さまざまなスタックノードを選択することです。 この場合、 イベント ペインでイベントまたはスクリプトをクリックすると、トレースファイルが開きます。
関数に移動するだけでなく、呼び出し元のコード内の場所にも移動できます。 これを行うには、必要な項目を選択し、コンテキストメニューから 呼び出し元にジャンプ を選択します。
ファイルの内容がハイライトされ、選択したスタックノードのコード実行パスが表示されます。
ECMASript6、 CoffeeScript、 TypeScript コードを使用してアプリケーションをトレースしている場合、 Spy-js は マップされたトレースファイルも生成します。 これらは、拡張子が .ts.trace 、 .coffee.trace 、または .js.trace の EcmaScript 6、 TypeScript、 CoffeeScript トレースファイルです。 これらのファイル内のコードの断片は、実際に実行されたかのようにハイライトされます。
また、 イベントスタック ペインで項目を選択し、その選択項目のコンテキストメニューから ソースに移動 を選ぶことで、整形せずにそのまま表示されている ソースファイルへ移動できます。 トレースしているサイトが PyCharm プロジェクトにマッピングされている場合、PyCharm はマッピングに従って対応するローカルファイルを検出し、このファイルをエディターで開きます。 PyCharm プロジェクトにマッピングされていないサイトをトレースしている場合、PyCharm はブラウザーで ページソースを表示する を選んだ場合と同じく、読み取り専用の ページソースを開きます。
トレースしているサイトが PyCharm プロジェクトにマップされている場合、開かれた トレースファイルを編集しようとすると、PyCharm は ソースファイルを開きます。
クイック評価ウィンドウ
イベントスタック ペインでノードをクリックすると、 クイック評価 ペインに、関数の実行中に例外が発生した場合に、追加の関数呼び出しの詳細、パラメーター値、戻り値が表示されます。
Spy-js トレースセッションの開始
PyCharm から、Spy-js は Web アプリケーションをトレースするための Spy-js 型の実行/デバッグ構成、または Node.js アプリケーションをトレースするための Spy-js for Node.js 型の実行/デバッグ構成で起動します。
Spy-js デバッグ構成を作成するには
に進みます。 または、ツールバーの 実行 ウィジェットから 実行構成の編集 を選択します。

開いた 実行構成の編集 ダイアログで、ツールバーの 追加 ボタン(
)をクリックし、リストから Spy-js を選択します。
実行 / デバッグ構成: Spy-js ダイアログが開きます。
使用する Node.js ランタイムを指定します。
トレースサーバーポートは自動的に入力されます。 ポートの競合を回避するために、推奨値を受け入れ、 システムプロキシを自動的に構成する チェックボックスを選択したままにすることをお勧めします。 その結果、指定したポート番号がシステムプロキシサーバーに自動的に設定されます。
または、システムプロキシポートを手動で構成します。
に移動し、 プロキシサーバーを使用する をオンにします。 ポート フィールドに、 トレースサーバーのポート番号を入力します。
Microsoft オフィシャル Web サイトの詳細を参照してください。
に移動し、 拡張生 advanced をクリックして、 プロキシ タブに切り替え、 自動プロキシ設定 をクリアし、プロキシ構成ファイルの URL アドレスを入力してください。 URL のポートが実行 / デバッグ構成の トレースサーバーポートと同じであることを確認してください。
Apple 公式 Web サイト(英語)の詳細を参照してください。
使用 リストから、トレースセッションを構成する方法を指定する方法を選択します。
Spy-js に内部定義済み構成を適用させるには、 デフォルトの構成 を選択します。
カスタムで手動で作成した設定を適用するには、 構成ファイル オプションを選択し、カスタム設定ファイルの場所を下の 構成 フィールドに指定します。
構成ファイルは、 Spy-js の設定要件(英語)に適合する有効な JavaScript コードを含む拡張子 .js または .conf.js の JavaScript ファイルです。 PyCharm がプロジェクト内で拡張子 .conf.js のファイルを検出すると、これらのファイルがリストに表示されます。
構成ファイルへのパスを手動で入力するか、 閲覧
をクリックして、表示されるダイアログで場所を選択します。 指定すると、構成ファイルがリストに追加されるため、パスを指定する代わりに次回からリストから取得できます。
Web アプリケーションのトレースを開始するには
ツールバーの 実行 / デバッグ構成を選択 リストで 新しく作成した構成 を選択し、
をクリックします。 Spy-js ツールウィンドウ が開き、空の トレース実行 タブと、プロキシサーバーの状態を知らせる トレースプロキシサーバー タブが表示されます。
ブラウザーに切り替え、ページをリフレッシュしてデバッグを開始します。 Spy-js はこのページでイベントのキャプチャーを開始し、 Spy-js ツールウィンドウは イベント ペインに表示します。
Node.js デバッグ構成用の Spy-js を作成するには
に進みます。 または、ツールバーの 実行 ウィジェットから 実行構成の編集 を選択します。

開いた 実行構成の編集 ダイアログで、ツールバーの 追加 ボタン(
)をクリックし、リストから Spy-js for Node.js を選択します。
実行 / デバッグ構成: Spy-js (Node.js) ダイアログが開きます。
使用する Node.js ランタイムを指定します。
Project エイリアスを選択すると、PyCharm は ノードランタイム フィールドがある JavaScript ランタイムページのプロジェクトのデフォルトインタープリターを自動的に使用します。 ほとんどの場合、PyCharm はプロジェクトのデフォルトランタイムを検出し、そのフィールドに自動で入力します。
別の構成済みのローカルインタープリターまたはリモートインタープリターを選択するか、
をクリックして新しいインタープリターを構成することもできます。
アプリケーションを開始する JavaScript ファイルを指定します。
CoffeeScript をトレースする場合は、生成された JavaScript ファイルへのパスを指定します。 ファイルは外部で生成することも、ファイルウォッチャーを使用したコンパイルを通じて生成することもできます。 詳細については、 CoffeeScript のデバッグを参照してください。
トレースサーバーポートは自動的に入力されます。 ポートの競合を回避するために、推奨値を受け入れ、 システムプロキシを自動的に構成する チェックボックスを選択したままにすることをお勧めします。 その結果、指定したポート番号がシステムプロキシサーバーに自動的に設定されます。
または、システムプロキシポートを手動で構成します。
に移動し、 プロキシサーバーを使用する をオンにします。 ポート フィールドに、 トレースサーバーのポート番号を入力します。
Microsoft オフィシャル Web サイトの詳細を参照してください。
に移動し、 拡張生 advanced をクリックして、 プロキシ タブに切り替え、 自動プロキシ設定 をクリアし、プロキシ構成ファイルの URL アドレスを入力してください。 URL のポートが実行 / デバッグ構成の トレースサーバーポートと同じであることを確認してください。
Apple 公式 Web サイト(英語)の詳細を参照してください。
トレースセッションに適用する構成設定で構成ファイルを指定します。
構成ファイルは、 Spy-js の設定要件(英語)に適合する有効な JavaScript コードを含む拡張子 .js または .conf.js の JavaScript ファイルです。 PyCharm がプロジェクト内で拡張子 .conf.js のファイルを検出すると、これらのファイルがリストに表示されます。
構成ファイルへのパスを手動で入力するか、 閲覧
をクリックして、表示されるダイアログで場所を選択します。 指定すると、構成ファイルがリストに追加されるため、パスを指定する代わりに次回からリストから取得できます。
オプション:
Node.js の起動をカスタマイズする Node パラメーター を入力します。
例: ECMAScript 6(英語) スクリプトのトレースを有効にするには、Node パラメーターとして
--harmonyを指定します。 Node.js はバージョン 0.11.13 以降でなければなりません。アプリケーションの 作業ディレクトリ(英語)を選択します。
デフォルトでは、このフィールドに プロジェクトのルートフォルダーが表示されます。
process.argv(英語) 配列を使用して開始時にアプリケーションに渡す Node.js 固有の引数を指定します。
該当する場合は、Node.js 実行可能ファイルの 環境変数(英語)を指定します。
Node.js アプリケーションのトレースを開始するには
ツールバーの 実行 / デバッグ構成を選択 リストで 新しく作成した構成 を選択し、
をクリックします。 Spy-js ツールウィンドウ が開き、 トレース実行 タブにキャプチャーされたイベントが表示されます。
トレースセッションの保存と読み込み
Spy-js は、 zip アーカイブに圧縮できる .json ファイルにトレースセッションの呼び出しとプロパティを格納します。 トレースセッションイメージを Spy-js にロードするために、いつでも抽出できます。 実際にスクリプトが実行されないため、ロードされたイメージはセッションを復元しないことに注意してください。 以前に実行されたコードのフローとプロパティを分析するだけで済みます。
トレースセッションのイメージを保存するには
イベント ツールバーの
をクリックし、リストから トレースの保存 を選択します。 PyCharm は、影響を受けるすべての .json ファイルを zip アーカイブに圧縮し、そのアーカイブが保存されているフォルダーを開きます。
以前のトレースセッションのイメージをロードするには
Spy-js を有効化するには、画像に保存されているセッションと同じタイプのトレースセッション(Spy-js または Spy-js for Node.js)を開始し、上記の Spy-js トレースセッションの開始を参照してください。
イベント ツールバーの
ボタンをクリックし、リストから ロードトレース を選択します。
開いたダイアログで、目的のセッションのイメージを含む zip アーカイブの場所を選択します。 Spy-js は実行を停止し、ロードされたトレースを ロードされた <ロードされたセッション> という新しいタブに表示します。
イベントキャプチャーポリシーの構成
デフォルトでは、実行構成で URL アドレスを明示的に指定しない限り、Spy-js は https 安全なWeb サイトを除く、開いているすべての Web ページ上のすべてのイベントをキャプチャーします。 キャプチャーされたすべてのイベントは、 Spy-js ツールウィンドウの イベント ペインに表示されます。 ユーザー定義のイベントフィルターを適用することで、一部の種類のイベントのキャプチャーを抑制できます。
新しいカスタムフィルターを定義したり、その場で既存のフィルターにイベントパターンを追加することができます。
利用可能な設定済みフィルターを表示するには
ツールバーの
をクリックします。 現在適用されているフィルターにはチェックマークが付いています。 デフォルトでは、事前定義済みの すべてをキャプチャー フィルターが適用されます。
アプリケーションを停止せずにイベントのキャプチャーを停止するには
ツールバーの キャプチャーイベント ボタン
をクリックし、コンテキストメニューから すべてミュート を選択します。 アプリケーションはまだ実行されていますが、 イベント ペインに最後に取得したイベントが表示されます。 これは、スクリプトを解析して イベント ペインに表示する必要があるが、新しいイベントがキャプチャーされるときに削除されないようにする場合に役立ちます。
新しいイベントフィルターを定義するには
ツールバーの キャプチャーイベント ボタン
をクリックし、リストから キャプチャー除外の編集 を選択します。
開かれた Spy-js キャプチャ除外ダイアログで、左側のペインにある 追加
をクリックします。
右側のペインで、 除外名 フィールドにフィルター名を指定し、除外ルールのリストを構成します。
ルールを追加するには、
をクリックすると、 除外条件を追加 ダイアログが開きます。 値 / パターン フィールドにパターンを入力し、 条件タイプ リストで、パターンをイベントタイプまたはスクリプト名のどちらに適用するかを指定します。 グロブパターンマッチング(英語)が使用されることに注意してください。 OK をクリックすると、PyCharm によって Spy-js キャプチャーの除外ダイアログ に移動します。
ルールを編集するには、リストでルールを選択し、
をクリックして、開いたダイアログでルールを更新します。 ルールを削除するには、リストでルールを選択し、
をクリックします。
適用するフィルターを選択するには
をクリックし、リストで必要なフィルターの横にあるチェックボックスを選択します。 フィルターが設定されていないか、使用可能なフィルターがどれもタスクに適合しない場合は、前述のように新しいフィルターを作成します。
イベント ペインですでにキャプチャーされたイベントのツリーを移動している間は、トレースしたくないイベントやスクリプトを見つけることができます。 上記のようにフィルターを作成できますが、この場合はペインを離れる必要があります。 PyCharm では、 イベント ペインからイベントやスクリプトを検出した時点ですぐに、そのイベントやスクリプトに基づいて除外ルールを作成できます。
オンザフライで除外ルールを作成するには
除外するイベントを選択し、 <イベント名> イベントのミュート または <スクリプト名> ファイルのミュート を選択してください。 ユーザー定義フィルターが現在適用されている場合、新しいルールは自動的に追加されます。 すべてをキャプチャー が現在有効な場合、 Spy-js Capture Exclusions Dialog が開き、選択したイベントやスクリプトをもとに新しいフィルターを作成するか、既存のフィルターを選択して新しいルールを追加できます。
タイムスタンプのラベルは、特定の期間内にコードの実行を分析できます。 例: 2 つのタイムスタンプラベルを設定し、それらの間でどのイベントがキャプチャーされたかを確認できます。 または、逆に、特定の期間内にキャプチャーされなかったイベントを特定し、パフォーマンスの問題を検出することができます。
タイムスタンプラベルを設定するには
イベント ペインのコンテキストメニューから ラベルの追加 を選択します。 <timestamp> でラベル付けされたラベルがドキュメントノードに追加されます。
ペインとエディター間を移動する
イベントスタック ペインは、 イベント ペインおよびエディターと同期します。
スクリプトまたはイベントの呼び出しスタックを表示するには
イベント ペインでイベントまたはスクリプトをクリックします。 呼び出しスタックは イベントスタック ペインに表示されます。
必要に応じて、対応するトレースファイルをエディターで自動的に開くには、ツールバーの 自動スクロールしてトレース トグルボタンを押します。
エディターでイベントまたはスクリプトのトレースファイルを開くには
トレースファイルは、書き込み禁止のスクリプトで、 <script name>.js.trace という名前が付けられています。
イベントスタック ペインで、スクリプトまたはイベントを 2 回クリックするか、コンテキストメニューで トレースにジャンプ を選択します。
自動ナビゲーションを有効にする (自動スクロールしてトレース をクリック)をクリックし、 イベント ペインで必要なイベントまたはスクリプトをクリックします。
イベントペインをエディターと直接同期させるには
ツールバーの 自動スクロールしてトレース トグルボタンを押します。
その後、 イベント ペインでノードをクリックすると、PyCharm はそのノードのコールスタックを イベントスタック ペインに表示し、対応するトレースファイルをエディターで開きます。 また、 イベントスタック をスクロールすると、PyCharm はエディターで対応するファイルを自動的に開き、呼び出された関数をハイライトします。
ある機能からその呼び出しまで移動するには
イベントスタック ペインで、コールスタック内の必要な項目を選択し、選択内容のコンテキストメニューから 呼び出し元にジャンプ を選択します。
ECMAScript 6、TypeScript、または CoffeeScript を移動する
Spy-js は ソースマップ をサポートしているため、 イベントスタック ペインから ECMAScript 6、 TypeScript、 CoffeeScript の元のソースコードに直接ジャンプして、どのコード箇所が実行されたかを確認できます。
Spy-js は、 マップされたトレースファイルも生成します。 これらは、拡張子が .ts.trace 、 .coffee.trace 、または .js.trace の EcmaScript 6、 TypeScript、 CoffeeScript のトレースファイルです。 これらのファイル内のコードの断片は、実際に実行されたかのようにハイライトされます。
または、実行された JavaScript コードに移動するには、 トレースにジャンプ を選択します。
ソースマップの処理を構成するには
イベント スタックのツールバーの
をクリックして、コンテキストメニューから次のオプションを選択して、ソースマップの処理方法を設定します。
コンパイル時に生成されたソースマップを使用して ECMAScript 6、 TypeScript、 CoffeeScript ソースコードへのナビゲーションを有効にするには、 ソースマップルックアップを有効にする を選択します。
インストゥルメントされたコードをマッピングするすべてのソースマップを生成するには、 ソースマップの生成を有効にする を選択します。 Chrome 開発ツールまたは FireFox FireBug 開発ツールで元のコードをデバッグする場合は、このオプションを選択してください。
利用可能な場合は常にソースマップされたトレースを開く を選択すると、イベントからその呼び出し元へのナビゲーションを呼び出したときに Spy-js が マップされたトレースファイルを開こうとします。
関数呼び出しからそのソースコードに移動するには
イベントスタック ペインで機能を選択し、選択のコンテキストメニューから次のいずれかのオプションを選択します。
ECMAScript 6、TypeScript、または CoffeeScript のソースコードに移動するには、選択のコンテキストメニューから ソースに移動 を選択します。
JavaScript トレースファイルに移動するには、 トレースにジャンプ を選択します。
マッピングされたトレースファイル(ECMAScript 6、TypeScript または CoffeeScript)に移動するには、 マッピングされたトレースにジャンプ を選択します。
ある機能からその呼び出しまで移動するには
イベントスタック の機能を選択し、 呼び出し元にジャンプ を選択します。
利用可能な場合は常にソースマップされたトレースを開く オプションを選択すると、対応するマップされたトレースファイルが開きます。
利用可能な場合は常にソースマップされたトレースを開く オプションが選択されていない場合、JavaScript トレースファイルが開きます。
高度なトレースナビゲーション
高度なトレースナビゲーションにより、呼び出しを基にスタック全体を移動し、呼び出されていない関数、つまり実行されていないコード断片を特定し、その理由を分析できます。
次のアクションが利用できます:トレースファイル内で次または前、次の関数、現在の関数、前の関数の呼び出しに移動します。 全アクションの一覧は イベントスタック ペインのコンテキストメニューから確認できます。 選択した関数の次と前の呼び出し、前の関数の前の呼び出し、次の関数の次の呼び出しへの移動も、 イベントスタック ペインのナビゲーションツールバーから利用できます。

これらのアクションのいずれかを選択すると、キャレットはスタック内の呼び出しに移動します。 自動スクロールしてトレース トグルボタンを押すと、対応するトレースファイルが自動的に開き、コールにキャレットが置かれます。
高度なトレース検索
高度なトレース検索を使用すると、トレース全体(トレースされたすべてのイベント)内で関数の呼び出し間を移動できます。 つまり、ブラウザーで 5 ページをトレースして イベント ペインに 5 つのドキュメントノードが表示されている場合、PyCharm はこれらすべてのノードで選択した関数の呼び出しを検索し、見つかった呼び出し数をステータスバーに表示します。
別の高度な検索やナビゲーションを呼び出すと、検索結果がリセットされ、検索ツールバーが非表示になります。
また、 この関数呼び出しをすべてのイベントで検索する オプションを選択すると、コールの発生回数が計算されることに注意してください。 検出されたコールを分析すると、時間が経過し、新しいイベントがキャプチャーされ、検出された最初のコールがすでにスタックから削除されている可能性があります。
すべての文書ノードで関数の呼び出しを検索するには
イベントスタック ペインで機能を選択し、選択のコンテキストメニューから この関数呼び出しをすべてのイベントで検索する を選択します。
見つかった呼び出し数はステータスバーに表示され、ツールバーには以前非表示だったナビゲーション用のシェブロンボタンが表示されます。

見つかった呼び出し内を移動するには
シェブロンボタンを使用します。
最初に検出されたコールに移動するには、
をクリックします。最後に検出されたコールに移動するには、
をクリックします次の検出された呼び出しにジャンプするには、
をクリックします。ステータスバーには次のメッセージが表示されます: Occurrence <number> of <total number of detected calls>
以前に検出されたコールに移動するには、
をクリックします。
ランタイムデータを使用した基本補完リストの拡張 (Spy-js 自動補完)
Spy-js 自動補完という用語は、ランタイムデータから取得した提案を使用して 基本補完リストを拡張することを意味します。 Spy-js 自動補完機能は、すでに実行されているコードの ソースファイルから利用できます (対応するトレースファイルで緑色でハイライトされています)。
ソースファイル内のシンボルにキャレットを置き、 Ctrl+Space を押すと、 Spy-js はブラウザーまたは実行中の Node.js アプリケーションからデータを取得し、次のルールに従って基本的な補完リストとマージします。
オブジェクトが基本補完リストに存在し、かつランタイムから取得された場合、パラメーターや属性、型などについてより多くの情報を提供するバリアントがリストに残ります。 リストに残ります。
Spy-js 自動補完を有効にするには
イベント ツールバーの
ボタンをクリックし、リストから Spy-js 自動補完と拡大鏡を有効にする を選択します。
デバッグセッションを実行せずに式を評価する (Spy-js 拡大鏡)
Spy-js 拡大鏡という用語は、実際にデバッグセッションを実行せずに 式を評価することを意味します。 式をクリックするか、式にキャレットを置いて Ctrl+Alt+F8 を押すと、式に式の値を示すツールチップが表示されます。 Spy-js が複数の値を取得する場合は、ツールヒントの アイコンをクリックして値のリストを展開します。
拡大機能は、実行済みコードと未実行コードの両方の ソースファイルから利用できます。
デフォルトでは、機能は無効になっています。
Spy-js 拡大鏡を有効にするには
イベント ツールバーの
ボタンをクリックし、リストから Spy-js 自動補完と拡大鏡を有効にする を選択します。
依存関係ダイアグラムの表示
Spy-js を使用すると、クライアント側および Node.js アプリケーションのランタイムアプリケーション / イベントダイアグラムを構築して調べることができます。
ダイアグラムを生成する:
アプリケーション全体の依存関係を使用してダイアグラムを作成するには、ドキュメントノードを選択して、選択のコンテキストメニューから アプリケーションの依存関係ダイアグラムを表示する を選択します。
1 つのイベントの依存関係を含むダイアグラムを作成するには、 イベント ペインで必要なイベントを選択し、 イベント依存関係ダイアグラムを表示する を選択します。
ダイアグラムを分析する:
ダイアグラムは別のエディタータブで開きます。 ダイアグラムのノードはプロジェクトファイルを表し、エッジはソースファイル内にターゲットファイル内の関数を呼び出す関数が 1 つ以上あることを表します。
ノードまたはエッジの詳細を調べるには、ノードまたはエッジを選択して、エディターの右上隅にある専用ペインにその 詳細 ツリーを表示します。 このペインには、接続している関数の組み合わせと、呼び出しが行われたイベントおよび行われた呼び出しの数が表示されます。