コード マップを使用したコードの視覚的な理解、ナビゲート、およびデバッグ

Visual Studio Ultimate のコードとの関係をマップできます。コード マップを作成すると、コード エディターの横に表示されます。これは、作業中に、コードの場所を確認できるため、タスクに重点を置くことができます。

コード マップ - コード内の関係の対応付け

マップ内のリレーションシップをコード内でコードし、コード エディターの横に表示されます。 緑色の矢印がコードにカーソルの位置を示します。 用紙のなどのマップにメモをその設定できます。

コード マップは、大規模なコード ベース、よく知らないコード、またはレガシ コードで失われて取得することを回避できます。たとえば、デバッグと、複数のプロジェクトとファイルを渡すコードを注意する必要があります。マップをこれらのコードの近くに移動し、その関係を確認できます。コード。このコードを呼び出すすべて、ファイルを追跡したり、別の用紙図を描画する必要はありません。作業を中断する必要がある場合は、コード マップは、使用するコードについてのメモリを更新することができます。

アクションにウォッチ マップ コード: コード マップ (9) とチャネルの複雑なコードの理解

要件

  • これらのエディションの Visual Studio 2012.1 および 1:

    • Visual Studio Ultimate 2012 コード エディターまたはソリューション エクスプローラーからコード マップを作成します。

      [!メモ]

      Premium、Professional を使用する他のユーザーと共有をマップする前に、マップのすべての項目が非表示の項目など、表示される配置されたグループ、グループ間リンクことを確認します。

    • Visual Studio 開いたコード マップの 2012 は、Premium、Visual Studio 2012 Professional、制限されたを編集し、コードを移動します。

  • .NET Visual C# または Visual Basic .NET コードのソリューション

問題について理解します。

で作業している描画プログラムにバグがあるとします。バグを再現するには、Visual Studio Ultimate のソリューションを開いてデバッグを開始するには [F5] を押します。

行を描画し、[Undo my last stroke] を選択すると、次の行を描画するまで何も実行されません。

コード マップ - バグの再現

したがって Undo のメソッドを検索して検索を開始します。PaintCanvas クラスに検索します。

コード マップ - コードの検索

コードをマップする開始

これで undo のメソッドとリレーションシップをマップすることを開始します。コード エディターで、undo のメソッドを、新しいコード マップに参照するフィールドを追加します。新しいマップを作成するときに、コードを指示する時間がかかる場合があります。これはより速く実行するために新しい操作ができます。

コード マップ - メソッドおよび関連するフィールドの表示

ヒントヒント

表示を強調表示緑マップに追加された最後の項目。緑色の矢印がコードにカーソルの位置を示します。項目間の矢印は、さまざまな関係を表します。ツールヒントを調べることによってマップ項目に関する詳細情報を取得できます。

コード マップ - ツールヒントの表示

移動し、マップからコードを確認します。

コード定義を各フィールドについては、のフィールド マップをダブルクリックするか、またはフィールドを選択し、[F12] を押します。緑色の矢印がマップ項目の間に実行されます。コード エディターのカーソルは、自動的に実行されます。

コード マップ - フィールド定義の確認

コード マップ - フィールド定義の確認

ヒントヒント

また、コード エディターのカーソルを移動してマップの緑色の矢印を実行できます。

コードの関係を理解します。

これで、他のコードが対話しているのかを history と paintObjects のフィールドと知る必要があります。マップにこれらのフィールドを参照するすべてのメソッドを追加できます。マップまたはコードから行うことができます。

コード マップ - すべての参照の検索

リレーションシップのフローを再整列、マップを読みやすくするためにレイアウトを変更します。また、マップの周囲にドラッグすることで項目を移動できます。

コード マップ - レイアウトの変更

ヒントヒント

既定では、[インクリメンタル レイアウト(N)] は有効になっています。これは新しい項目を追加するとマップをわずかに再配置します。新しい項目を追加するたびに、マップを再配置するには、[インクリメンタル レイアウト(N)] をオフにします。

コード マップ - レイアウトの変更

これらのメソッドを確認します。マップで、[PaintCanvas] のメソッドをダブルクリックするか、このメソッドを選択して、を [F12] を押します。このメソッドが空のリストとして history と paintObjects を作成する方法を学びます。

コード マップ - メソッド定義の確認

これで clear メソッドの定義を確認するために、同じ手順を繰り返します。clear が paintObjects と historyにあるタスクを実行する方法を学びます。次に、Repaint のメソッドを呼び出します。

コード マップ - メソッド定義の確認

これで addPaintObject メソッドの定義を確認します。また、history と paintObjectsと一部のタスクを実行します。また、Repaintを呼び出します。

コード マップ - メソッド定義の確認

マップを調べることによって問題を見つける

これはことに history と paintObjects では Repaintを変更するすべてのメソッドなどです。ただし undo のメソッドは undo が同じフィールドを変更しますが、Repaintを呼び出しません。したがって undoで Repaint を呼び出すことでこの問題を解決できることを考えます。

コード マップ - 欠落しているメソッド呼び出しの検索

この欠落した呼び出しを示すマップがない場合は、より複雑なコードでこの問題を検索、特に困難な場合があります。

の検出と、次のステップを共有します。

、または他のユーザーの前にこのバグを修正して、その修正方法を、問題のマップと説明を残すことができます。

コード マップ - フォローアップのためのコメントとフラグ項目

たとえば、マップにコメントを追加し、色を使用して項目にフラグを設定できます。

コード マップ - コメントされた項目とフラグが設定された項目

Microsoft Outlook をインストールしている場合、他にマップを電子メールで送信できます。また、イメージ、または別のファイルとしてファイル形式マップをエクスポートできます。

コード マップ - 共有、エクスポート、メール

問題を解決するには、したことを示します。

このバグを修正するには、undoに Repaint の呼び出しを追加します。

コード マップ - 欠落しているメソッド呼び出しの追加

次の修正を検証するには、バグを再現するための、デバッグ セッションを再起動します。これで [Undo my last stroke] を選択すると、想定し、正しいを修正したときに検証します。

コード マップ - コード修正の確認

設定した修正を示すために、マップを更新できます。

コード マップ - 欠落しているメソッド呼び出しを使用したマップの更新

、マッピングは、[元に戻す][Repaint] 間のリンクを示します。

コード マップ - メソッド呼び出しを使用して更新されたマップ

[!メモ]

マップを更新する場合、メッセージを作成するためのコード インデックスを指定することも、マッピング更新されていた場合があります。これを行っても、マッピングが現在のコードと一致します。コードを変更したことを意味します。これは、マップの更新を停止されませんが、コードに一致することを確認するためにマップを作成し直す必要があります。

ここでは、検索としています。コードを割り当てると、正しく問題を検出して修正します。また、ステップを受け取って。博学な問題を解決するために、例は、ヘルプがコードの近くに、忘れない移動するマップがあります。

参照

概念

コードの視覚化および理解