26

最近我开始使用NetBeans 6.7 beta代替TextmateMacGDBp进行 PHP 开发。我对它的功能集感到相当惊讶,而且大多数东西都是开箱即用的,或者很容易按照我的喜好进行配置。

不过,我对代码完成功能有疑问;它们适用于内置函数、SPL和我的一些代码,但不是我的所有代码,特别是,无论 PHPDoc 注释如何,它都不适用于我的类中的任何方法。

我似乎找不到任何体面的问题,更不用说在任何地方回答这个特定主题了。看起来其他所有对代码完成有问题的人都没有启用自动弹出功能。

所以最大的问题是:

什么方法可以影响代码完成缓存,或者我必须添加到我的代码中才能使其工作?我真的很想为我编写的方法完成代码。

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

编辑:我已经把我当前的测试项目的 .zip 文件放在了一个 .zip 上。在这里得到它。这是一个非常年轻的项目,想想一天半。

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

替代文字

4

5 回答 5

42

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

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

先备份,我没试过!

如果失败了,也许你应该尝试创建一个新项目,也许这会踢 NB 的屁股。

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

于 2009-05-17T14:56:55.727 回答
2

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

包括在项目级别也有效 Project->Properties->Include Path Netbeans 7.01 + Windows 7

于 2009-08-27T02:42:36.197 回答
2

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

于 2011-08-30T23:49:40.883 回答
2

注意@property something语法。如果您的代码中不再存在对象,则 NetBeans可能无法正确完成代码。考虑示例:

/** in main file: **/

use ABC as _ ;

/** in file ABC: **/

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

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

于 2011-11-24T08:58:51.240 回答
1

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

在 NetBeans 7.0.1 上对此进行了测试

于 2011-11-24T14:19:50.270 回答