为什么Eclipse代码完成不适用于某些项目?

Edw*_*uay 24 php eclipse eclipse-pdt eclipse-3.3

我有Eclipse 3.3.2与PDT进行PHP开发.我创建的所有项目,甚至SVN项目都有代码完成.现在我刚刚打开了另一个SVN项目,它没有代码完成或PHP模板(CTRL-space在该项目中什么都不做).但是,我可以打开其他项目和代码完成所有工作.

为什么代码完成和模板只在一个项目中"关闭",如何将其重新打开?

Gui*_*ido 42

也许Eclipse不理解该项目具有"PHP性质".尝试比较两个项目上的.project文件以查找差异.它应该包含以下内容:

 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>
Run Code Online (Sandbox Code Playgroud)

.project文件将位于项目目录下的工作区中.


小智 6

在项目中查找文件.buildpath ...将此行放在标记之间:

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

保存并重启eclipse.现在一切都会好的......这对我有用.:)


小智 5

谢谢!我花了一整天的时间来弄清楚为什么我没有代码完成...

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

现在我对项目中的每个文件都进行了代码完成,即使对于Zend Framework库也是如此


小智 5

It is just one line to add in the .project file and then restarting eclipse to get codecompletion: Where it says

---
 <natures>
 </natures>
---
Run Code Online (Sandbox Code Playgroud)

after the change has to be

---
 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>
---
Run Code Online (Sandbox Code Playgroud)

That should do.