2008-10-07 53 views
24

我有Eclipse 3.3.2与PDT做PHP开发。 我创建的所有项目,甚至SVN项目都有代码完成。 现在我刚刚打开另一个SVN项目,它没有代码完成或PHP模板(CTRL-空间在该项目中什么都不做)。 但是,我可以打开其他项目和代码完成所有工作。为什么Eclipse代码完成在某些项目上不起​​作用?

为什么代码完成和模板只能在一个项目中“关闭”,我该如何重新打开它?

回答

42

也许Eclipse不理解该项目具有“PHP性质”。 尝试比较两个项目上的.project文件以查找差异。它应该包含这样的内容:根据项目目录

<natures> 
    <nature>org.eclipse.php.core.PHPNature</nature> 
</natures> 

的项目文件将在您的工作空间。

+1

由于存储库中有一个.project文件,它没有给我机会用PHP项目向导打开它,我们删除了.project文件,重新检查了它,现在一切正常,谢谢! – 2008-10-07 08:58:07

+1

这仍然不显示PHP内置函数的自动完成。 – 2012-01-31 01:23:22

+0

非常感谢!那只是我的一天。 – 2013-01-29 17:41:50

1

确保文件用“PHP编辑器”打开。用鼠标右键单击文件,然后选择打开以选择正确的编辑器。

如果事实证明你已经使用了错误的编辑器,你可以在首»一般»内容类型

3

更改关联我有同样的问题有时。对我来说,它可以用“Project” - >“Clean”来重建PHP项目。

-1

一个解决方案可能是包含一个虚拟php文件,它需要你所有的PHP类。这样PHP解析器也可以识别这些类。 实例虚拟文件:

if(false) { 
    require_once 'class/one.php'; 
    require_once 'class/two.php'; 
    require_once 'class/three.php'; 
} 
0

当你从SVN在Eclipse中签(颠覆或subsclipe“签一个项目为”),并即使你选择了它作为一个PHP项目它将一个项目,我有时发现要么删除.project文件,要么它是一个通用项目。我发现只要进入该目录并删除.project .settings /和.cach/

然后创建一个新的php项目并指向您检出文件的目录。你应该有代码完成和svn应链接到您的回购。

5

谢谢! 我花了整天想弄清楚为什么我没有代码完成...

问题是,如果你创建一个SVN项目.project是一个没有codecompletion引用的基本文件。您必须创建一个基本的PHP项目并比较这两个文件并替换SVN项目中的缺失部分。

现在我有代码完成项目中的每个文件,即使是Zend框架库

0

我有这样的构建路径是空的一个问题,所以没有代码完成任何我想编辑的文件。确保你正确设置了你的构建路径,特别是如果你从工作区以外的其他位置链接源。

像apache htdocs文件夹一样。

1

右键单击编辑屏幕,转到Java - >编辑器 - >内容辅助 - >高级...选择相应的建议

6

查找出在你的项目中的文件.buildpath ...把​​标签之间的这条线:

<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

保存并重新启动Eclipse。现在一切都应该没问题......这对我有效。 :)

+0

随着.project的变化,这是使Eclipse正确显示内置函数和项目的自动完成功能的缺失部分。 – 2012-01-31 01:24:34

+0

这对我来说也是诀窍 – 2017-07-30 21:22:46

0

我已经通过启用完整的C/C++索引器(Windows->属性 - > C/C++ - >索引器)解决了这个问题,并且还点击了单选按钮“使用活动按钮配置”。之后,清理,并构建所有。

这对Eclipse CDT的工作3.4

5

它只是一条线在项目文件添加,然后重新启动Eclipse来获得codecompletion: 凡说

--- 
<natures> 
</natures> 
--- 

的变化对后是

--- 
<natures> 
    <nature>org.eclipse.php.core.PHPNature</nature> 
</natures> 
--- 

应该这样做。

0

如果你来这里寻找PHP eclipse中的代码完成不工作,确保你的项目作为一个php项目被支持。右键单击该项目,然后进入配置 - >添加php支持。如果你有正确的代码辅助设置,它应该立即工作。有时我会随着项目对新手进行调整,或者像项目一样干净而不是PHP,所以eclipse不知道如何处理这个项目。

1

注意

除了已经提到的解决方案,以获得整个自动完成协助工作,另外还有一个怪癖,它可能没有启用。

转到窗口>属性,然后到PHP>编辑器>代码助手(JAVA有一个类似的选项)并设置“启用自动激活”,最好有一个延迟,你会觉得舒服(0毫秒)。如果你被程序突然决定没有提示而做出事情(并且做错了),请取消选择“自动插入单个建议”,你应该没问题。

2

如果你有这样的问题,请按照下列步骤操作:

  • 选择在项目树
  • “PHP包含路径”右键单击它,然后单击“构建路径>配置构建路径”
  • 在打开窗口中,添加要构建的文件夹,以便它可以执行代码帮助。

这就是所有:)我希望它可以解决你的问题,我解决了我一个:)

0

我不得不右键点击PHP Explorer中的项目,进入“PHP构建路径”。这是空的。我点击“添加文件夹”,选中我的项目的根文件夹旁边的复选框,然后单击“确定”,然后再次“确定”。

之后代码完成似乎工作。如果你问我,应该开箱即用,但无论如何。

4

@Guido PHPNature不能解决这个问题。

@Edward坦圭是的,那是因为当你创建新的PHP项目,日食增加了当您导入您现有的Eclipse项目不产生.buildpath文件.buildpath与

<?xml version="1.0" encoding="UTF-8"?><buildpath> 
<buildpathentry kind="src" path=""/> 
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/></buildpath> 

文件,但您可以添加它或者用源代码创建新的PHP项目(你可以在向导中选择)。

0

检查您的项目的lib。这可能是因为你有两个这样的jar文件,其中有相同的类可用,或者说一个代码中的类可以在两个jar文件中引用。在这种情况下,eclipse也会停止协助代码,因为它是完全混淆的。

更好的方法来检查这是去协助不工作的文件,并评论所有进口,比逐一添加导入,并检查每次导入,如果代码辅助工作或没有。你可以很容易地找到类重复参考。

相关问题