Eclipseプロジェクトでメソッド呼び出しを検索する


83

メソッドmyMethod()を含むクラスXがあります。このmyMethod()が呼び出されている現在のワークスペース内のすべてのプロジェクトの場所を見つけたいと思います。myMethod()にはいくつかのクラスがあり、静的ではないため、検索関数を使用できません。したがって、このクラスのオブジェクトの名前を知る必要があります。これは、プロジェクトを手動で探索しないと不可能です。

Eclipseにはこれに対する解決策がありますか?


回答:


115

X.javaのメソッドに移動し、コンテキストメニューから[Open CallHierarchy]を選択します。


11
私はこれを知りませんでした。CTRL-Gショートカットを使用していましたが、同じクラスの別のメソッドから問題のメソッドが呼び出されないため、機能しませんでした。これがなぜであるかについて何か考えはありますか?...気にしないで!CTRL-SHIFT-G参照を見つけるためのものでCTRL-Gあり、宣言を見つけるためのものです!:S
Xonatron 2012年

4
ここの私の日食(火星)では、ショートカットはctrl + alt + hです:)
thekucays 2016年

Ctrl + Shift + G、ctrl + Alt + Hなど、見つけたものをすべて試しましたが、すべて「リソースがJavaプロジェクトのビルドパス上にありません」と表示されます。したがって、どれも機能しません。ツリー内のプロジェクトを右クリックして、コンテキストメニューから[ビルドパス]を選択することを提案した人がいますが、これは表示されません。私は日食の光子にいます。ありがとう
ピクセル

51

選択mymethod()キーを押しctrl+ alt+ h

メソッドに関する詳細情報を表示するには、特定のオブジェクトまたはメソッドを選択して右クリックすることで、これを使用できます。あなたが見ることができる" OpenCallHierarchyを"Ctrl+ Alt+ H)。そのように、特定の.javaファイルで宣言されたデータ型とメソッドを表示するための「クイックアウトライン」(Ctrl+ O)のように、作業を簡単にするための多くのツールがあります。

これについて詳しくは、この日食リファレンスを参照してください。


3
...呼び出し階層を開きます。
Xonatron 2012年

Ctrl + Shift + G、ctrl + Alt + H、Ctrl + Oなど、見つけたものをすべて試しましたが、すべて「リソースがJavaプロジェクトのビルドパス上にありません」と表示されます。したがって、どれも機能しません。ツリー内のプロジェクトを右クリックして、コンテキストメニューから[ビルドパス]を選択することを提案した人がいますが、これは表示されません。私は日食の光子にいます。ありがとう
ピクセル

10

特定のメソッドを検索することもできます。たとえばisEmpty()、文字列クラスのメソッドを検索する場合は、[検索]-> [Java]->と入力java.lang.String.isEmpty()し、[検索]オプションで[メソッド]を使用する必要があります。

次に、必要なスコープを選択できます。


9

カーソルをメソッド名に移動します。右クリックして、ポップアップメニューから「参照」>「プロジェクト」または「参照」>「ワークスペース」を選択します。


5
select method > right click > References > Workspace/Project (your preferred context ) 

または

(Ctrl+Shift+G) 

これにより、このメソッドを使用するクラスとメソッドの階層を含む検索ビューが表示されます。


3

メソッドを右クリックし、[ Open callHierarchy ]をクリックします

日食の右クリック呼び出し階層


Ctrl + Shift + G、ctrl + Alt + Hなど、見つけたものをすべて試しましたが、すべて「リソースがJavaプロジェクトのビルドパス上にありません」と表示されます。したがって、どれも機能しません。ツリー内のプロジェクトを右クリックして、コンテキストメニューから[ビルドパス]を選択することを提案した人がいますが、これは表示されません。私は日食の光子にいます。ありがとう
ピクセル

@ pixel-「mvncleaninstall」を実行してください。その後、再試行してください。プロジェクトが適切にビルドされていないために発生している可能性があります。
マンジート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.