CodeLens によるコード変更とその他の履歴の検索

CodeLens では、エディターを離れずにコードに対する変更を把握できるため、自分の作業に専念できます。 コードへの参照、コードへの変更、リンクされたバグ、Azure DevOps 作業項目、コード レビュー、単体テストを検索できます。

Note

CodeLens は Visual Studio の Community エディションで使用できますが、"ソース管理" インジケーターはこのエディションでは使用できません。

CodeLens はコードの各部分がソリューションのどこで使用されているかとどのように使用されているかの両方を表示することができます。

Screenshot of the CodeLens indicators in the code editor.

表示するインジケーターを選択するか、CodeLens のオンとオフを切り替えるには、 [ツール][オプション][テキスト エディター][すべての言語][CodeLens] の順に移動します。

コード参照の検索

C# コードまたは Visual Basic コードでの参照を検索することができます。 ここではその方法を説明します。

  1. コード エディターで、[参照] インジケーターを選択するか、Alt+2 キーを押します。

    Note

    インジケータの表示が 0 references である場合は、C# または Visual Basic コードの参照がないということです。 ただし、.xaml ファイルや .aspx ファイルなどの他の項目の参照が存在する場合があります。

  2. 参照元コードを表示するには、リスト内の参照の上にマウス ポインターを合わせます。

  3. 参照を含むファイルを開くには、参照をダブルクリックします。

コード マップ

コードとその参照の間の関係を表示するには、コード マップを作成します。 コード マップのショートカット メニューで、[すべての参照の表示] を選択します。

コードに含まれる変更の検索

コードの変遷をたどるため、コードの履歴を確認します。 または、他の分岐での変更がコードに与える可能性のある影響を理解できるよう、変更をコードにマージする前に、それらの変更を検討します。

必要なもの:

Team Foundation バージョン管理 (TFVC) または Git で格納されている C# または Visual Basic コードでは、CodeLens の詳細をクラス レベルまたはメソッド レベルで取得します (コードの要素レベルのインジケーター)。

.cs または .vb 以外のファイルの種類については、ファイル全体の CodeLens の詳細を 1 つの場所 ("ファイルレベル" インジケーター) で取得します。

コードの要素レベルのインジケーター

コードの要素レベルのインジケーターでは、コードの変更者とその変更内容を確認できます。 コードの要素レベルのインジケーターは、C# および Visual Basic コードに対して利用できます。

Azure DevOps Services で Team Foundation バージョン管理 (TFVC) を使用すると、変更履歴を表示することもできます。

既定の時間は直近 12 か月です。

1 年以上前の変更を含む、すべての変更の詳細な履歴を表示するには、[すべてのファイルの変更の表示] を選択します。これによって [履歴] ウィンドウが開きます。

[履歴] ウィンドウでは、Git リポジトリ内のすべてのファイルを表示できます。 その後、コード要素レベル変更インジケーターを選択して詳細を確認できます。

ファイル レベルのインジケーター

ファイルレベル インジケーターを表示してファイル全体を確認することもできます。

Note

ファイル レベルのインジケーターは、C# ファイルおよび Visual Basic ファイルでは利用できません。

変更に関する詳細情報を取得するには、その項目を右クリックします。 TFVC を使用しているか Git を使用しているかに応じて、ファイルのバージョンの比較、詳細の表示と変更セットの追跡、ファイルの選択バージョンの取得、その変更の作成者へのメールといったオプションがあります。 これらの詳細の一部は、チーム エクスプローラーに表示されます (有効にしている場合)。それ以外の場合は、これらの詳細は [Git の変更]に表示されます。

また、コードを変更したユーザーを時系列で確認することもできます。これは、チームの変更のパターンを見つけて、その影響を評価するのに役立ちます。

現在の分岐での変更の検索

安定したコードを損なうリスクを軽減するために、チームには複数のブランチ (たとえば、メイン ブランチとその子の開発ブランチなど) が存在する場合があります。 メイン分岐で、コードを変更したユーザーの数と、変更の数を確認できます。それには、Alt+6キーを押します。

コードが分岐された時期の確認

コードが分岐された時期を確認するには、子分岐のコードに移動します。 次に、変更インジケーターを選択するか、Alt+6 キーを押します。

他の分岐から追加される変更の検索

追加された変更を表示することができます。 そのときに、変更を確認するために現在のブランチを離れる必要はありません。

変更がマージされた時期の確認

変更がいつマージされたかを確認できるので、ブランチにどの変更が含まれているかを特定できます。

追加される変更をローカル バージョンと比較します

新しい変更をローカル バージョンと比較するには、変更セットをダブルクリックするか、Shift+F10 キーを押します。

分岐アイコン

[分岐] 列のアイコンは、分岐が、作業中の分岐とどのような関係にあるのかを示します。

アイコン 変更元:
CodeLens: Change from current branch icon 現在の分岐
CodeLens: Change from parent branch icon 親分岐
CodeLens: Change from child branch icon 子分岐
CodeLens: Change from peer branch icon ピア分岐
CodeLens: Change from branch further away icon 親、子、またはピアより遠い分岐
CodeLens: Merge from parent icon 親分岐から子分岐へのマージ
CodeLens: Merge from child branch icon 子分岐から親分岐へのマージ
CodeLens: Merge from unrelated branch icon 無関係の分岐からのマージ (ベースレス マージ)

リンクされた作業項目

リンクされた作業項目を検出するには、作業項目インジケーターを選択するか、または Alt+8 キーを押します。

リンクされたコード レビュー

リンクされたコード レビューを検出するには、レビュー インジケーターを選択します。 キーボードを使用する場合は、Alt キーを押しながら左方向キーまたは右方向キーを押して、インジケーター オプション間を移動します。

リンクされているバグ

リンクされているバグを検出するには、バグ インジケーターを選択するか、または Alt+7 キーを押します。

項目の所有者に連絡する

項目の所有者を確認するには、所有者インジケーターを選択するか、または Alt+5 キーを押します。

項目のショートカット メニューを開いて問い合わせのオプションを表示することもできます。 (Teams がインストールされている場合は、使用できる追加のコミュニケーション オプションがあります。)

関連付けられた単体テスト

テスト エクスプローラーを開くことなく、ご使用の C# コードまたは Visual Basic コード向けに存在する単体テストを検出することができます。

  1. 単体テスト コードに関連付けられたアプリケーション コードに移動します。

  2. まだ行っていない場合は、アプリケーションをビルドして CodeLens テスト インジケーターを読み込みます。

  3. コード用のテストをレビューするには、Alt+3 キーを押します。

  4. 警告アイコン warning icon が表示された場合、テストはまだ実行されていないため、実行してください。

  5. テストの定義を確認するには、CodeLens インジケーターのウィンドウでテスト項目をダブルクリックして、エディターでコード ファイルを開きます。

  6. テストの結果を確認するには、テスト状態インジケーター (test failed icon または test passed icon) を選択するか、Alt+1 キーを押します。

  7. 何人のユーザーによってこのテストが変更されたか、だれがこのテストを変更したか、また、このテストに対していくつの変更が行われたかを確認するには、コードの履歴とリンクされた項目を検索します。

キーボード ショートカット

キーボードを使用してインジケーターを選択するには、Alt キーを押したままにして関連する数字キーを表示し、目的のインジケーターに対応する数字キーを押します。

Note

レビュー インジケーターを選択するには、Alt キーを押しながら、左方向キーと右方向キーを使用して移動します。

Q & A

Q:CodeLens を有効または無効にしたり、表示するインジケーターを選択したりするには、どうしたらいいですか。

A: 参照インジケーター以外のインジケーターは無効にも有効にもできます。 [ツール][オプション][テキスト エディター][すべての言語][CodeLens] の順に進みます。

インジケーターが有効の場合は、インジケーターから CodeLens のオプションを開くこともできます。 そして、エディター ウィンドウの下部にあるシェブロン アイコンを使用して、CodeLens のファイルレベル インジケーターのオンとオフを切り替えることができます。

Q: CodeLens はどこにありますか。

A: CodeLens は、メソッド、クラス、インデクサー、およびプロパティ レベルの C# および Visual Basic のコードで表示されます。 それ以外の種類のファイルについては、ファイル レベルで CodeLens が表示されます。

  • CodeLens が有効になっていることを確認します。 [ツール][オプション][テキスト エディター][すべての言語][CodeLens] の順に進みます。

  • DevOps 関連のインジケーターは、作業項目がコードにリンクされていて、リンクされた作業項目を開く権限を自分が持っている場合にだけ表示されます。 チーム メンバーのアクセス許可があることを確認してください。

  • アプリケーション コードに単体テストがない場合は、単体テスト インジケーターが表示されません。 テスト状態インジケーターは、テスト プロジェクトに自動的に表示されます。 アプリケーション コードに単体テストがあることがわかっているのに、テスト インジケーターが表示されない場合は、ソリューションのビルドを試みます (Ctrl+Shift+B)。

ヒント

CodeLens は Visual Studio Community エディションで使用できますが、"ソース管理" のインジケーターはこのエディションでは使用できません。

コミットの作業項目詳細が表示されないのはなぜですか。

A: これは CodeLens が Azure Boards の作業項目を見つけることができないために発生している可能性があります。 その作業項目があるプロジェクトに接続していることと、その作業項目を表示するアクセス許可があることを確認してください。 作業項目の詳細は、コミットの記述に Azure Boards の作業項目 ID に関する誤った情報が含まれている場合にも、表示されない可能性があります。

Q: CodeLens のフォントと色を変更するにはどうすればよいですか。

A:[ツール][オプション][環境][フォントおよび色] の順に進みます。

CodeLens - Change font and color settings

キーボードを使用するには:

  1. Alt+T+O キーを押して、 [オプション] ダイアログ ボックスを開きます。

  2. 上方向 キーまたは 下方向 キーを押して [環境] ノードに移動するか、 左方向 キーを押してノードを展開します。

  3. 下方向 キーを押して [フォントおよび色]に移動します。

  4. Tab キーを押して [設定の表示] の一覧に移動し、下方向キーを押して [CodeLens] を選択します。

Q: CodeLens ヘッドアップ ディスプレイを移動できますか。

A: はい、できます。Dock icon を選択して、CodeLens をウィンドウとしてドッキングします。

Q: インジケーターを更新するにはどうすればよいですか。

A: 方法は、インジケーターによって異なります。

  • 参照: このインジケーターは、コードが変更されるときに自動的に更新されます。 [参照] インジケーターが別個のウィンドウとしてドッキングされている場合は、[更新] を選択することでインジケーターを更新します。

  • チーム: 右クリック メニューから [CodeLens チーム インジケーターの更新] を選択することでこれらのインジケーターを更新します。

  • テスト: コードの単体テストを検索しテスト インジケーターを更新します。

Q: "ローカル バージョン" とは何ですか。

A:[ローカル バージョン] 矢印は、ファイルのローカル バージョンの最新の変更セットを指しています。 サーバーにさらに新しい変更セットが含まれる場合、その変更セットは、使用されている並べ替え順序に応じて [ローカル バージョン] 矢印の上または下に表示されます。

Q: ソリューションを最初に開いたときに、ファイルに CodeLens テスト インジケーターが表示されなくなります。 これを読み込むにはどうすればよいですか。

A: プロジェクトをリビルドし、ファイルに読み込む CodeLens テスト インジケーターを取得します。 パフォーマンスを向上させるため、Visual Studio では、コード ファイルが読み込まれるときにテスト インジケーターのソース情報がフェッチされなくなります。 テスト インジケーターは、ビルド後、またはテスト エクスプローラーでダブルクリックしてテストに移動するときに読み込まれます。

CodeLens では、エディターを離れずにコードに関する情報を検索できるため、自分の作業に専念できます。 コードの参照、コードへの変更、リンクされたバグ、作業項目、コード レビュー、単体テストを検索できます。

注意

CodeLens は Visual Studio Community エディションで使用できますが、"ソース管理" のインジケーターはこのエディションでは使用できません。

コードの各部分がソリューションのどこでどのように使用されているかをご覧ください。

CodeLens indicators in the code editor

エディターから離れずに、コードの変更についてチームに問い合わせることができます。

CodeLens - Contact your team

表示するインジケーターを選択するか、CodeLens のオンとオフを切り替えるには、 [ツール][オプション][テキスト エディター][すべての言語][CodeLens] の順に移動します。

Visual Studio 2019 でコードへの参照を検索する

C# コードまたは Visual Basic コードでの参照を検索することができます。

  1. 参照インジケーターを選択するか、または Alt+2 キーを押します。

    CodeLens references

    Note

    インジケータの表示に参照が 1 つもない場合は、C# コードまたは Visual Basic コードからの参照がないということです。 ただし、.xaml ファイルや .aspx ファイルなどの他の項目に参照が含まれる場合があります。

  2. 参照元コードを表示するには、リスト内の参照の上にマウス ポインターを合わせます。

    CodeLens - Peek reference

  3. 参照を含むファイルを開くには、参照をダブルクリックします。

コード マップ

コードとその参照の間の関係を表示するには、コード マップを作成します。 コード マップのショートカット メニューで、[すべての参照の表示] を選択します。

CodeLens - References on code map

Visual Studio 2019 でコードの変更を見つける

コードの変遷をたどるため、コードの履歴を確認します。 または、他の分岐での変更がコードに与える可能性のある影響を理解できるよう、変更をコードにマージする前に、それらの変更を検討します。

必要なもの:

Team Foundation バージョン管理 (TFVC) または Git で格納されている C# または Visual Basic コードでは、CodeLens の詳細をクラス レベルまたはメソッド レベルで取得します (コードの要素レベルのインジケーター)。

Code element-level indicators

.cs または .vb 以外のファイルの種類については、ウィンドウ下部の 1 個所でファイル全体の CodeLens の詳細を取得します (ファイル レベル のインジケーター)。

File-level CodeLens indicators

コードの要素レベルのインジケーター

コードの要素レベルのインジケーターでは、コードの変更者とその変更内容を確認できます。 コードの要素レベルのインジケーターは、C# および Visual Basic コードに対して利用できます。

次に示すのは Team Foundation バージョン管理 (TFVC)、または Azure DevOps Services を使用するときに表示されるものです。

CodeLens: Get change history for your code in TFVC

既定の時間は直近 12 か月です。

1 年以上前の変更を含む、すべての変更の詳細な履歴を表示するには、次のように [すべてのファイルの変更の表示] を選択します。

Show all code changes

[履歴] ウィンドウが開きます。

History window for all code changes

ファイルが Git リポジトリにある場合に、コードの要素レベルの変更インジケーターを選択すると、このように表示されます。

CodeLens: Get change history for your code in Git

ファイル レベルのインジケーター

ウィンドウ下部のファイル レベルのインジケーターで、ファイル全体の変更を探します。

CodeLens: Get code file details

Note

ファイル レベルのインジケーターは、C# ファイルおよび Visual Basic ファイルでは利用できません。

変更に関する詳細情報を取得するには、その項目を右クリックします。 TFVC を使用しているか Git を使用しているかに応じて、ファイルのバージョンの比較、詳細の表示と変更セットの追跡、ファイルの選択バージョンの取得、その変更の作成者へのメールといったオプションがあります。 これらの詳細の一部は、Visual Studio 2019 バージョン 16.7 およびそれより前のチーム エクスプローラーに表示されます。 Visual Studio 2019 バージョン 16.8 以降では、これらの詳細は [Git の変更] に表示されます。

また、コードを変更したユーザーを時系列で確認することもできます。これは、チームの変更のパターンを見つけて、その影響を評価するのに役立ちます。

CodeLens: See code changes history as a graph

現在の分岐での変更の検索

安定したコードを損なうリスクを軽減するために、チームには複数のブランチ (たとえば、メイン ブランチとその子の開発ブランチなど) が存在する場合があります。

CodeLens: Find changes in your current branch

メイン分岐で、コードを変更したユーザーの数と、変更の数を確認できます。それには、Alt+6キーを押します。

CodeLens: Find how many changes in your branch

コードが分岐された時期の確認

コードが分岐された時期を確認するには、子分岐のコードに移動します。 次に、変更インジケーターを選択するか、Alt+6 キーを押します。

CodeLens: Find when your code was branched

他の分岐から追加される変更の検索

CodeLens: Find code changes in other branches

追加された変更を表示することができます。 次のスクリーン ショットでは、"Dev" 分岐で、バグ修正が行われています。

CodeLens: Change checked into another branch

変更は、現在の分岐 ("Main" 分岐) を離れることなく検討できます。

CodeLens: See incoming change from another branch

変更がマージされた時期の確認

変更がマージされた時期を確認できます。したがって、分岐にどの変更が含まれているかを特定できます。

CodeLens - Find when changes got merged

たとえば、メイン分岐のコードに、"Dev" 分岐からのバグ修正が適用されるとします。

CodeLens - Merged changes between branches

追加される変更をローカル バージョンと比較します

追加される変更をローカル バージョンと比較するには、Shift+F10 キーを押すか、または変更セットをダブルクリックします。

CodeLens: Compare incoming change with local

分岐アイコン

[分岐] 列のアイコンは、分岐が、作業中の分岐とどのような関係にあるのかを示します。

アイコン 変更元:
CodeLens: Change from current branch icon 現在の分岐
CodeLens: Change from parent branch icon 親分岐
CodeLens: Change from child branch icon 子分岐
CodeLens: Change from peer branch icon ピア分岐
CodeLens: Change from branch further away icon 親、子、またはピアより遠い分岐
CodeLens: Merge from parent icon 親分岐から子分岐へのマージ
CodeLens: Merge from child branch icon 子分岐から親分岐へのマージ
CodeLens: Merge from unrelated branch icon 無関係の分岐からのマージ (ベースレス マージ)

Visual Studio 2019 のリンクされた作業項目

リンクされた作業項目を検出するには、作業項目インジケーターを選択するか、または Alt+8 キーを押します。

CodeLens - Find work items for specific code

Visual Studio 2019 のリンクされたコード レビュー

リンクされたコード レビューを検出するには、レビュー インジケーターを選択します。 キーボードを使用する場合は、Alt キーを押しながら左方向キーまたは右方向キーを押して、インジケーター オプション間を移動します。

CodeLens - View code review requests

Visual Studio 2019 のリンクされたバグ

リンクされているバグを検出するには、バグ インジケーターを選択するか、または Alt+7 キーを押します。

CodeLens - Find bugs linked to changesets

Visual Studio 2019 で項目の所有者に問い合わせる

項目の所有者を確認するには、所有者インジケーターを選択するか、または Alt+5 キーを押します。

Contact the owner of an item

連絡先のオプションを表示する項目のショートカット メニューを開きます。 Teams がインストールされている場合は、次のスクリーンショットのようなオプションが表示される場合があります。

Contact options for an item

Visual Studio 2019 の関連付けられた単体テスト

テスト エクスプローラーを開くことなく、ご使用の C# コードまたは Visual Basic コード向けに存在する単体テストを検出することができます。

  1. 単体テスト コードに関連付けられたアプリケーション コードに移動します。

  2. まだ行っていない場合は、アプリケーションをビルドして CodeLens テスト インジケーターを読み込みます。

  3. コード用のテストをレビューするには、Alt+3 キーを押します。

    CodeLens - Choose test status in code editor

  4. 警告アイコン warning icon が表示された場合、テストはまだ実行されていないため、実行してください。

    CodeLens - View unit tests not run yet

  5. テストの定義を確認するには、CodeLens インジケーターのウィンドウでテスト項目をダブルクリックして、エディターでコード ファイルを開きます。

    CodeLens - Go to unit test definition

  6. テストの結果を確認するには、テスト状態インジケーター (test failed icon または test passed icon) を選択するか、Alt+1 キーを押します。

    CodeLens - See unit test result

  7. 何人のユーザーによってこのテストが変更されたか、だれがこのテストを変更したか、また、このテストに対していくつの変更が行われたかを確認するには、コードの履歴とリンクされた項目を検索します。

Visual Studio 2019 のキーボード ショートカット

キーボードを使用してインジケーターを選択するには、Alt キーを押したままにして関連する数字キーを表示し、目的のインジケーターに対応する数字キーを押します。

Keyboard access numbers

Note

レビュー インジケーターを選択するには、Alt キーを押しながら、左方向キーと右方向キーを使用して移動します。

Visual Studio 2019 の CodeLens に関する Q&A

Q:CodeLens を有効または無効にしたり、表示するインジケーターを選択したりするには、どうしたらいいですか。

A: 参照インジケーター以外のインジケーターは無効にも有効にもできます。 [ツール][オプション][テキスト エディター][すべての言語][CodeLens] の順に進みます。

インジケーターが有効の場合は、インジケーターから CodeLens のオプションを開くこともできます。

CodeLens - Turn indicators off or on

エディター ウィンドウの下部にあるシェブロン アイコンを使用して、CodeLens のファイル レベル インジケーターのオンとオフを切り替えます。

Turn file-level indicators on and off

Q: CodeLens はどこにありますか。

A: CodeLens は、メソッド、クラス、インデクサー、およびプロパティ レベルの C# および Visual Basic のコードで表示されます。 それ以外の種類のファイルについては、ファイル レベルで CodeLens が表示されます。

  • CodeLens が有効になっていることを確認します。 [ツール][オプション][テキスト エディター][すべての言語][CodeLens] の順に進みます。

  • DevOps 関連のインジケーターは、作業項目がコードにリンクされていて、リンクされた作業項目を開くアクセス許可をユーザーが持っている場合にだけ表示されます。 チーム メンバーのアクセス許可があることを確認してください。

  • アプリケーション コードに単体テストがない場合は、単体テスト インジケーターが表示されません。 テスト状態インジケーターは、テスト プロジェクトに自動的に表示されます。 アプリケーション コードに単体テストがあることがわかっているのに、テスト インジケーターが表示されない場合は、ソリューションのビルドを試みます (Ctrl+Shift+B)。

ヒント

CodeLens は Visual Studio Community エディションで使用できますが、"ソース管理" のインジケーターはこのエディションでは使用できません。

コミットの作業項目詳細が表示されないのはなぜですか。

A: これは CodeLens が Azure Boards の作業項目を見つけることができないために発生している可能性があります。 その作業項目があるプロジェクトに接続していることと、その作業項目を表示するアクセス許可があることを確認してください。 作業項目の詳細は、コミットの記述に Azure Boards の作業項目 ID に関する誤った情報が含まれている場合にも、表示されない可能性があります。

Q: CodeLens のフォントと色を変更するにはどうすればよいですか。

A:[ツール][オプション][環境][フォントおよび色] の順に進みます。

CodeLens - Change font and color settings

キーボードを使用するには:

  1. Alt+T+O キーを押して、 [オプション] ダイアログ ボックスを開きます。

  2. 上方向 キーまたは 下方向 キーを押して [環境] ノードに移動するか、 左方向 キーを押してノードを展開します。

  3. 下方向 キーを押して [フォントおよび色]に移動します。

  4. Tab キーを押して [設定の表示] の一覧に移動し、下方向キーを押して [CodeLens] を選択します。

Q: CodeLens ヘッドアップ ディスプレイを移動できますか。

A: はい、できます。Dock icon を選択して、CodeLens をウィンドウとしてドッキングします。

Dock button in CodeLens indicator window

Docked CodeLens References window

Q: インジケーターを更新するにはどうすればよいですか。

A: 方法は、インジケーターによって異なります。

  • 参照: このインジケーターは、コードが変更されるときに自動的に更新されます。 参照インジケーターが独立したウィンドウとしてドッキングされている場合は、[更新] を選択することでインジケーターを更新できます。

    Refresh button in CodeLens References

  • チーム: これらのインジケーターを更新するには、右クリック メニューから [CodeLens チームのインジケーターの更新] を選択します。

    Refresh CodeLens Team Indicators menu item

  • テスト: コードの単体テストを検索しテスト インジケーターを更新します。

Q: "ローカル バージョン" とは何ですか。

A:[ローカル バージョン] 矢印は、ファイルのローカル バージョンの最新の変更セットを指しています。 サーバーにさらに新しい変更セットが含まれる場合、その変更セットは、使用されている並べ替え順序に応じて [ローカル バージョン] 矢印の上または下に表示されます。

Q: ソリューションを最初に開いたときに、ファイルに CodeLens テスト インジケーターが表示されなくなります。 これを読み込むにはどうすればよいですか。

A: プロジェクトをリビルドし、ファイルに読み込む CodeLens テスト インジケーターを取得します。 パフォーマンスを向上させるため、Visual Studio では、コード ファイルが読み込まれるときにテスト インジケーターのソース情報がフェッチされなくなります。 テスト インジケーターは、ビルド後、またはテスト エクスプローラーでダブルクリックしてテストに移動するときに読み込まれます。