2013-06-19 11 views
2

eclipse中的新手(来自intellij)。eclipse juno php - 跳到执行不起作用

在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,家长::,$这个 - > fooHelperObject和doHelperStuff(),我不敢妄下它们的实现,如果他们在我目前正在查看的特定文件之外。这很糟糕。我可以在Java中完成大部分工作,所以我对eclipse中自己的配置问题非常怀疑。任何有更多Eclipse Ninja-foo的人都可以帮忙吗?

谢谢

+0

对于某些$ this这样的方法有效,对某些方法不适用,因为我也注意到了。 – Aris

+0

@Aris - 那么,你有什么行动建议吗? – Brad

+0

我也不知道。例如:$ this-> connection-> prepare($ sql)找到了方法prepare,但$ this-> statement-> bindValue没有。 – Aris

回答

0

由于你有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 
+0

我在php视图中,并设置了可执行文件。 – Brad

+0

为其他解决方案编辑的邮件... – kmas

0

我可以做到这一点与我的日食...

但我有一个想法:
如果您的代码完成不eather工作,它可能是在一个错误或丢失项.buildpath.project file。
它可能与此有关。

转到您的项目文件夹(使用资源管理器,eclipse不会显示这些文件)并打开.project文件。
重要的部分是<natures>节点如果没有这样的子节点<nature>org.eclipse.php.core.PHPNature</nature>添加它,重新启动你的eclipse,然后再试一次。
如果该文件是完全丢失只需添加它,这里是我的样子:

<?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并重试。

我希望有所帮助。

+0

谢谢。我会给这个看看,并回到你身边。 – Brad

0

This answer由开普勒提供可能会解决这个问题。

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