NetBeans PHP代码完成

时间:2009-05-16 22:12:14

标签: netbeans code-completion

最近我开始使用NetBeans 6.7 beta进行PHP开发,而不是TextmateMacGDBp。我很惊讶它的功能集,大多数一切都是开箱即用的,或者很容易配置到我喜欢的。

我遇到了代码完成功能的问题;它们适用于内置函数SPL和我的一些代码,但不是我的所有代码,具体来说,它不适用于我的类中的任何方法,无论PHPDoc注释如何。

我似乎无法找到任何体面的问题,更不用说任何地方关于这个特定主题的答案了。看起来每个遇到代码完成问题的人都没有启用自动弹出功能。

所以最重要的问题是:

是否以任何方式影响代码完成缓存,或者我必须添加到我的代码中以使其工作?我真的很想为我编写的方法完成代码。

PS :我尝试了几个旧版本的netbeans,它们都表现出同样的问题。

编辑:我已经放了一个.zip的当前测试项目。 get it here。这是一个非常年轻的项目,想想一天半。

edit2 :下面是我正在看的内容的屏幕截图。正如您所看到的,它几乎无法完成任何事情,也没有看到PHPDoc文档。

alt text http://develop.theredhead.nl/~kris/stackoverflow/netbeans-code-completion-fail-screenshot.png

5 个答案:

答案 0 :(得分:42)

我试过打开你的项目,完成似乎对我来说很好。

我唯一能想到的是尝试删除整个NB缓存,它应该位于$HOME/.netbeans/$VERSION/var/cache/。这是一个疯狂的猜测

先创建备份,我没试过!

如果失败了,也许你应该尝试创建一个新项目,也许这会在对接中踢NB。

请注意,在NB 7.2 beta中,缓存已移至$ HOME / .cache / netbeans / $ VERSION。

答案 1 :(得分:2)

对我来说有用的是清除缓存,然后明确地在全局包含路径中包含一些关键子目录。出现由于某种原因NB 6.7没有递归目录。

包括在项目层面也有效 项目 - >属性 - >包含路径 Netbeans 7.01 + Windows 7

答案 2 :(得分:2)

对我有用的是删除旧的nbproject文件夹(在Windows中创建)并从现有源重新创建PHP项目。这是在NB 7.0.1 Mac OS X上。清除缓存对我不起作用。

答案 3 :(得分:2)

请注意@property something语法。如果代码中不存在对象某些,则NetBeans可能会遇到正确代码完成问题。考虑一下例子:

/** in main file: **/

use ABC as _ ;

/** in file ABC: **/

/** 
  *  @property \Something $something
  */

如果您不再使用$something,NetBeans很可能会生成异常,从而无法完成代码。

答案 4 :(得分:1)

例如,如果您使用netbeans打开一个php文件而不是项目的一部分,则代码完成根本不起作用。您需要做的是创建一个包含该文件的项目。

在NetBeans 7.0.1上进行了测试