我应该怎么做,如果“打开调用层次结构”被打破(空的每个方法的一个项目)? 这只能说明,我想看看呼叫层次的方法的名称。 出现这种情况我尝试所有方法,即使他们都是通过其他方法调用。
这是代码导航功能是非常有用的。 我不知道如何没有它的工作!
我试过了:
- 开放
eclipse.exe -clean -refresh
- 。重新启动Eclipse
- 关闭并重新打开项目
- 更新项目
- 重命名文件.metadata
我检查它搜索整个工作区,并有过滤器上。
我应该怎么做,如果“打开调用层次结构”被打破(空的每个方法的一个项目)? 这只能说明,我想看看呼叫层次的方法的名称。 出现这种情况我尝试所有方法,即使他们都是通过其他方法调用。
这是代码导航功能是非常有用的。 我不知道如何没有它的工作!
我试过了:
eclipse.exe -clean -refresh
我检查它搜索整个工作区,并有过滤器上。
以下信息可能有助于:
eclipse.exe -clean -refresh
力Eclipse来重建索引。 在此之后,功能同样的工作。 我也尝试过上述建议,以及这里给出的提示: http://mschrag.blogspot.co.at/2009/01/open-type-cant-find-your-class.html
没有什么工作,直到今天,当我发现我是驴......我曾经在“调用层次”视图配置过滤器等被证明没有任何条目,因为过滤掉。 一旦我删除/禁用过滤一切好起来的工作。
当你去到日食错误报告对这个问题,有人说,你应该安装在市场上的Java 12 support
。
当我安装了它,它再正常工作
此外,还可以尝试删除工作区,并把它重新创建。 确保所有项目进行备份。
开普勒和PDT(PHP IDE),它是在至少PDT 3.2.0和3.3.0破损(试过他们两个)。 解决方法是在3.3.1和更新到这是所有我不得不这样做让调用层次再次合作。
(道歉,我还没有允许添加注释,但是这应该证明方便许多)
在我的情况下,似乎我的工作区被污染。
开/关项目,并用干净的没有修复开始。 我不得不开始了新的工作空间。
Fedora的20,Eclipse的开普勒。
我有日食开普勒(4.3.2)相同的行为。
我发现,有与签名方法的错误:
void get(Object o)
Object get(Object o)
在Eclipse 错误日志视图我发现以下异常:
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版本(月神)会解决这个问题。
以我为例,我试图让一个方法的调用层次的派生类的抽象类。 请求的方法被宣布为在基类抽象。 当我直接在抽象方法,而不是实现一个打开调用层次,一切运作良好。 (Eclipse的氖)。
我的问题是,打开调用层次结构是只搜索项目而不是整个工作区。 所以我不得不点击小向下箭头(在右边的调用层次视图窗口;它是“View菜单”箭头 - 指向下方的三角形)的调用层次结构视图,设置搜索范围>工作。
如果呼叫层次是不开放,这可能是因为项目不导入为一个Java项目,而是将在文件stucture显示。 您可能希望通过启用项目方面:
right click on the project -> project facet.
如果你没有看到任何东西列出,您需要
configure the project facet -> Apply -> ok.