eclipse的新手(来自intellij)。
在Eclipse + Java中,似乎有强大的支持ctrl +点击成员然后跳转到它的实现(类,接口,方法,成员变量等)。我有一个PHP PDT项目在运行,我注意到我不能跳到我希望的东西。
一些例子:
假设:
class Foo extends Foos_Dad {
private $fooHelperObject;
public function __contstruct(){
parent::__construct();
$this->foooHelperObject = new fooHelperObject();
}
public function doFooStuff(){
return $this->fooHelperObject->doHelperStuff();
}
}
当按下ctrl并将鼠标悬停在Foos_Dad,parent ::,$ this-> fooHelperObject和doHelperStuff()上时,如果它们位于我正在查看的特定文件之外,则无法跳转到它们的实现。太糟糕了。我可以在Java中完成大部分工作,所以我怀疑自己在eclipse中的配置问题。拥有更多Eclipse Ninja-foo的人可以伸出援手吗?
由于
答案 0 :(得分:1)
因为你有java项目,你是否在PHP的角度? 如果您已经打开了一个PHP项目并且处于Java透视图中,那么很多功能将无法工作。
您是否设置了PHP可执行文件? 如果我记得它不是Eclipse的强制要求,但它对你想要的功能很有用。
Menu > Window > Preferences > PHP > PHP Executables
如果您导入了旧项目,请检查此链接:Ctrl+click (PHP Code Hyperlink Detector) and Content Assist do not work in PHP Project。 (创建一个用于复制项目的新工作区)。
您是否检查过您的项目是否存在于PHP构建路径中?
Right-Click on your project > Properties > Php build path
答案 1 :(得分:0)
我可以用我的日食来做到这一点......
但我有一个想法:
如果您的代码完成无效,则可能是 .buildpath 或 .project 文件中的错误或缺失条目。
它可能与此有关。
转到您的项目文件夹(使用资源管理器,eclipse不会显示这些文件)并打开 .project 文件。
重要的部分是<natures>
节点,如果没有<nature>org.eclipse.php.core.PHPNature</nature>
这样的子节点添加它,重启你的日食再试一次。
如果该文件完全丢失,只需添加它,以下是我的样子:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>PROJECT NAME</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.dltk.core.scriptbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>
如果这没有帮助打开 .buildpath 文件,它应该看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
</buildpath>
再次重启eclipse并再试一次
我希望有所帮助。
答案 2 :(得分:0)
答案 3 :(得分:0)
This answer可能会解决问题。
根据此external article,删除workspace / .metadata / .plugins / org.eclipse.dltk.core.index.sql.h2下的文件将重置存储跳转信息的数据库。