「Open Call Hierarchy」が壊れている場合はどうすればよいですか(プロジェクトのすべてのメソッドで空)。呼び出し階層を確認したいメソッドの名前のみが表示されます。これらはすべて他のメソッドによって呼び出されていますが、これは私が試すすべてのメソッドで発生します。
コードナビゲーションに非常に役立ちます。私はそれなしで働く方法がわかりません!
私はもう試した:
Eclipse.exe -clean -refresh
ワークスペース全体を検索すること、およびフィルターがオンになっていないことを確認しました。
以下が役立ちます:
Eclipse.exe -clean -refresh
を使用してEclipseを呼び出すと、Eclipseは強制的にインデックスを再構築します。その後、機能は再び動作しました。上記の提案と、ここに示すヒントも試しました: http://mschrag.blogspot.co.at/2009/01/open-type-cant-find-your-class.html =
私がロバであることがわかった今日まで何も機能しませんでした...一度「Call Hierarchy」ビューでフィルターを設定しました。フィルターを削除/無効にすると、すべてが再び正常に機能しました。
この問題について Eclipseバグレポート にアクセスすると、市場の場所にJava 12 support
。
インストールすると、再び正常に機能していました
KeplerとPDT(PHP IDE)の場合、少なくともPDT 3.2.0と3.3.0で壊れています(両方試してみました)。修正は3.3.1にあり、それを更新するだけで、コール階層を再び機能させることができました。
(申し訳ありませんが、コメントの追加はまだ許可されていませんが、これは多くの人にとって便利なはずです)
また、ワークスペースを削除して再作成することもできます。すべてのプロジェクトがバックアップされていることを確認してください。
私の場合、私のワークスペースが汚染されているように見えました。
プロジェクトを開いたり閉じたりしてクリーンで開始すると修正されませんでした。新しいワークスペースから始めなければなりませんでした。
Fedora 20、Eclipse Kepler。
私の場合、抽象クラスの派生クラスにあるメソッドの呼び出し階層を取得しようとしていました。要求されたメソッドは、基本クラスで抽象として宣言されました。実装されたメソッドではなく、抽象メソッドで直接呼び出し階層を開いたところ、すべてがうまくいきました。 (Eclipse Neon)。
ここですべての答えのすべてを試しましたが、どれも私にとってはうまくいきませんでした。後で私はこれがEclipse 2019-03のバグであることを理解しました( https://bugs.Eclipse.org/bugs/show_bug.cgi?id=54529 )。 Eclipseをアップグレードするか、新しいバージョンをインストールしてください。新しいバージョン(最新バージョンのEclipse 2019-09)をインストールすることで問題は解決しました。
私はEclipse Kepler(4.3.2)でも同じ動作をします。
私は、署名が次のメソッドにバグがあることを発見しました:
void get(Object o)
Object get(Object o)
EclipseError Logビューで、次の例外を見つけました。
Java.lang.NullPointerException
at org.Eclipse.jdt.internal.core.search.matching.ClasspathSourceDirectory.directoryTable(ClasspathSourceDirectory.Java:52)
at org.Eclipse.jdt.internal.core.search.matching.ClasspathSourceDirectory.findClass(ClasspathSourceDirectory.Java:109)
at org.Eclipse.jdt.internal.core.search.matching.JavaSearchNameEnvironment.findClass(JavaSearchNameEnvironment.Java:146)
at org.Eclipse.jdt.internal.core.search.matching.JavaSearchNameEnvironment.findType(JavaSearchNameEnvironment.Java:185)
at org.Eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.Java:145)
at org.Eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.Java:197)
at org.Eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.Java:2799)
at org.Eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.Java:2556)
at org.Eclipse.jdt.internal.core.search.matching.MatchLocator.getType(MatchLocator.Java:899)
at org.Eclipse.jdt.internal.core.search.matching.MatchLocator.getMethodBinding0(MatchLocator.Java:955)
at org.Eclipse.jdt.internal.core.search.matching.MatchLocator.getMethodBinding(MatchLocator.Java:907)
at org.Eclipse.jdt.internal.core.search.matching.MethodLocator.matchMethod(MethodLocator.Java:327)
at org.Eclipse.jdt.internal.core.search.matching.MethodLocator.resolveLevel(MethodLocator.Java:664)
at org.Eclipse.jdt.internal.core.search.matching.ClassFileMatchLocator.locateMatches(ClassFileMatchLocator.Java:209)
at org.Eclipse.jdt.internal.core.search.matching.MatchLocator.process(MatchLocator.Java:1699)
at org.Eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.Java:1143)
at org.Eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.Java:1184)
at org.Eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.Java:1301)
at org.Eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.Java:95)
at org.Eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.Java:231)
at org.Eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.Java:515)
at org.Eclipse.jdt.core.search.SearchEngine.search(SearchEngine.Java:584)
at org.Eclipse.jdt.internal.corext.callhierarchy.CallerMethodWrapper.findChildren(CallerMethodWrapper.Java:155)
at org.Eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.performSearch(MethodWrapper.Java:301)
at org.Eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.doFindChildren(MethodWrapper.Java:232)
at org.Eclipse.jdt.internal.corext.callhierarchy.MethodWrapper.getCalls(MethodWrapper.Java:84)
at org.Eclipse.jdt.internal.ui.callhierarchy.DeferredMethodWrapper.getCalls(DeferredMethodWrapper.Java:65)
at org.Eclipse.jdt.internal.ui.callhierarchy.DeferredMethodWrapper.fetchDeferredChildren(DeferredMethodWrapper.Java:79)
at org.Eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.Java:235)
at org.Eclipse.core.internal.jobs.Worker.run(Worker.Java:53)
結局、それはこのバージョンのバグのように見えます:
https://bugs.Eclipse.org/bugs/show_bug.cgi?id=401272
私は、少なくともバージョン4.4(Luna)にアップグレードすると、この問題が解決すると思います。
私は多くの答えを試しましたが、すべてが素晴らしく、それは少数を除いて多くを助け、私は少数でした。
私のEclipseバージョンは2019-03(4.11.0)です。これはバグがあります。アドオンで修正できます。
Eclipse Marketplaceに移動し、プラグインEclipseのJava 12 Support 2019-03(4.11)…を検索してインストールします。インストールが完了したら、Eclipseを再起動します。うまくいけば、これで問題が解決します。ごきげんよう。
私の問題は、Open Call Hierarchyがワークスペース全体ではなくプロジェクトのみを検索していたことでした。したがって、[階層の呼び出し]ビューで(下の[呼び出し階層ビュー]ウィンドウにあります。これは[表示メニュー]の矢印(下向きの三角形)です)小さな下矢印をクリックする必要があり、[検索範囲]> [ワークスペース]を設定します。