11

Visual Studioで、クラスまたはメソッドを右クリックして、[使用法の検索]を選択できます。これにより、そのコードが使用されているソリューション内の場所のリストが得られます。コードから同じことを行うにはどうすればよいですか?

4

3 に答える 3

12

これを行うには、コードを解析する必要があります。振り返ってはできないと思います。MSはRoslynと呼ばれるプロジェクトに取り組んできました。これは、.NETコンパイラ用の一種のAPIです。それはあなたが必要なものをあなたに提供するはずです。Roslynプロジェクトの詳細については、この投稿を確認してください。

投稿からの引用:

これにより、VSエクステンダーが強力なリファクタリングと言語分析ツールを作成できるようになるだけでなく、パーサー、セマンティックエンジン、コードジェネレーター、スクリプトを独自のアプリケーションに組み込むことができるようになります。

この投稿では、シンボルの操作について説明します。
この投稿は、すべての参照を取得するという質問に答えます。

于 2012-08-05T15:09:46.563 に答える
4

正直なところ、私はそれを以前にやったことはありませんでした。

Token Treeある種の情報にアクセスするには、のために構築されたコンパイラにアクセスする必要がありますsemantic analysis

この種の情報は、Roslyn(API for C#コンパイラ)から確実にアクセスできるようにするためのものです。API関数にテキストをプッシュできる場合は、その上でコンパイラを実行してリカバリします。 C#Tokens tree

Roslynプロジェクトの概要

お役に立てれば。

于 2012-08-05T15:10:16.170 に答える
0

私の知る限り、ソリューション内のすべてのプロジェクトですべての使用法を見つける方法はありません。クラスに一意の名前がある場合、Visual Studioの検索機能には「ソリューション全体」の検索スコープがあり、ソリューション内のすべてのファイルで正確な検索テキストを検索します。

これは、メソッドが使用されるたびに特に検出されるわけではありません。コメント、同様の名前のフィールド、同じ文字列を持つものすべてと一致するためですが、これは良いスタートです。

于 2012-08-05T15:18:55.373 に答える