eclipse juno php - 跳转到实现不工作

时间:2013-06-19 18:22:41

标签: php eclipse eclipse-juno

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的人可以伸出援手吗?

由于

4 个答案:

答案 0 :(得分:1)

因为你有java项目,你是否在PHP的角度? 如果您已经打开了一个PHP项目并且处于Java透视图中,那么很多功能将无法工作。

enter image description here

您是否设置了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)

我修复了安装插件PDT的问题:

帮助 - &gt;安装新软件 - &gt; http://downloads.zend.com/pdt

我希望我能帮到你。

答案 3 :(得分:0)

开普勒提供的

This answer可能会解决问题。

根据此external article,删除workspace / .metadata / .plugins / org.eclipse.dltk.core.index.sql.h2下的文件将重置存储跳转信息的数据库。