Visual Studioで、クラスまたはメソッドを右クリックして、[使用法の検索]を選択できます。これにより、そのコードが使用されているソリューション内の場所のリストが得られます。コードから同じことを行うにはどうすればよいですか?
3 に答える
これを行うには、コードを解析する必要があります。振り返ってはできないと思います。MSはRoslynと呼ばれるプロジェクトに取り組んできました。これは、.NETコンパイラ用の一種のAPIです。それはあなたが必要なものをあなたに提供するはずです。Roslynプロジェクトの詳細については、この投稿を確認してください。
投稿からの引用:
これにより、VSエクステンダーが強力なリファクタリングと言語分析ツールを作成できるようになるだけでなく、パーサー、セマンティックエンジン、コードジェネレーター、スクリプトを独自のアプリケーションに組み込むことができるようになります。
正直なところ、私はそれを以前にやったことはありませんでした。
Token Tree
ある種の情報にアクセスするには、のために構築されたコンパイラにアクセスする必要がありますsemantic analysis
。
この種の情報は、Roslyn(API for C#コンパイラ)から確実にアクセスできるようにするためのものです。API関数にテキストをプッシュできる場合は、その上でコンパイラを実行してリカバリします。 C#
Tokens tree
お役に立てれば。
私の知る限り、ソリューション内のすべてのプロジェクトですべての使用法を見つける方法はありません。クラスに一意の名前がある場合、Visual Studioの検索機能には「ソリューション全体」の検索スコープがあり、ソリューション内のすべてのファイルで正確な検索テキストを検索します。
これは、メソッドが使用されるたびに特に検出されるわけではありません。コメント、同様の名前のフィールド、同じ文字列を持つものすべてと一致するためですが、これは良いスタートです。