Eclipse 自动完成功能不适用于 PHP 项目

Posted

技术标签:

【中文标题】Eclipse 自动完成功能不适用于 PHP 项目【英文标题】:Eclipse autocomplete is not working for PHP-project 【发布时间】:2012-01-24 09:18:34 【问题描述】:

我的 Eclipse 不使用自动完成功能...我的同事只需输入一些字母就可以得到完整的建议列表,但我什么也得不到...

我使用的Eclipse版本是:

Eclipse for php Developers

Version: Helios Service Release 2
Build id: 20110301-1815

(c) Copyright Eclipse contributors and others 2000, 2011.  All rights reserved.
Visit http://eclipse.org/ 

我想我已经为自动完成设置了所有可用的设置。 每次我必须搜索正确的命名时,我都会浪费大量时间。是否有任何软件模块我必须额外安装才能获得此自动完成功能?

【问题讨论】:

只有你自己的函数等没有自动完成,还是原生的 PHP 也没有? 请看How to enable autocomplete/syntax-highlight for PHP core functions in Eclipse?。 @Narcissus,原生 PHP 函数也... @hakre,感谢您的链接。我会检查的! 【参考方案1】:

好的,找到了解决方案!显然我必须在项目的属性窗口中“添加 PHP 支持”。感谢所有的帮助!

【讨论】:

这里只是一点点补充:启用 PHP 支持后我必须Build Project。感谢您解决这个问题,重新安装后它一直困扰着我(呵呵)数周。 就我而言,对我有用的是Enable Zend Framework Support。我的下拉菜单中没有Add PHP Support 我说“转换为 PHP 项目”,但是是的,这是唯一对我有用的东西。【参考方案2】:

通常,这可以通过启用 Content Assist 来激活。它可以在 Window-Preference->PHP->Editor->Content Assist

上找到
    设置您的php_include_path。转到项目的属性。然后PHP 包含路径。 如果您有任何外部库也将其添加到那里(我使用 ZendKohana)。

【讨论】:

右键单击您的项目并单击属性。在左侧窗格中,您应该看到 PHP 包含路径。看到这张图片。 tinypic.com/r/9kmtd1/5 感谢您的努力,但我的属性中没有这样的链接...不过我找到了解决方案!【参考方案3】:

我通过删除主工作区上的“.metadata”目录来做到这一点:D

【讨论】:

【参考方案4】:

我可以尝试所有答案(来自这个和其他线程),只为我工作删除(或重命名备份).metadata 工作区文件夹上的文件夹

    关闭日食 mv .metadata .metadata_older 启动 eclipse(干净启动 eclipse 的工作空间,没有列出任何项目) 从工作区导入您的项目 Eclipse 重建和刷新工作(丢失了几个项目设置!!!) 自动补全、跟随代码等现在可以工作了。

这不是理想的解决方案,但对我来说是唯一的解决方案,我一步从 eclipse 3.6 迁移到 4.4,并且 PHP 支持消失了,只有突出显示代码有效,直到删除 .metadata 文件夹。

Ubuntu 12.04 LTS 64 Java 1.7 ORACLE

谢谢。

【讨论】:

【参考方案5】:

检查 Windows 首选项中的选项以获取内容帮助。它可能被禁用。它可能是 php -> Editor -> Content Assist 并查看选择了哪些自动激活。

【讨论】:

是的,它已启用(2ms 后)并且选项设置在 Completion Inserts【参考方案6】:

我不使用 Eclipse,但我知道在 Netbeans(和其他 IDE)中,您可以在启动后键入 Ctrl + Space 来调出自动完成窗口键入函数/变量。

试试看。

【讨论】:

更改 IDE 不是解决方案,OP 也没有要求这样做。而且它也可以在Eclipse中完成。 @Shiplu:您应该更正确地阅读答案,这不是建议切换 IDE,而是尝试使用常用的键盘快捷键。很好,在 PDT 中也是如此。 @hakre 哎呀!我的错。很抱歉。【参考方案7】:

如果这种情况仅发生在 Eclipse 中的一个项目并且其他项目正确自动完成,则有时会在您创建新的 PHP 项目并在第一页上按 Finish 时发生。

要修复它,请从 Eclipse 中删除项目(Windows > Show view > Navigator 并在项目上按 DELETE)。然后转到项目文件夹并删除文件.project和文件夹.setting

现在在 Eclipse 中选择 File > New > PHP project,选择名称和文件夹,按 Next 并验证(或手动添加)项目的根文件夹在 Source 选项卡上监听。

然后点击Next并将项目的根文件夹或包含PHP文件的文件夹添加到Build path。现在你可以点击Finish

注意:在现有项目中添加SourceBuild 路径通常不能解决此问题,您必须删除并创建新项目。

【讨论】:

【参考方案8】:

项目右键->属性->PHP->验证

检查启用 prockect 特定设置

选择 PHP 版本

【讨论】:

【参考方案9】:

检查您的 .buildpath,尝试构建如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
    <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
    <buildpathentry kind="src" path="src"/>
    <buildpathentry kind="src" path="vendor"/>
    <buildpathentry external="true" kind="lib" path="common-libs/vendor/project-sample/lib"/>
</buildpath>

【讨论】:

这仍然是个问题吗?我正在尝试弄清楚这种情况何时发生,但我无法重现 :( 如果您使用的是 Linux,请尝试将 path="common-libs/vendor/project-sample/lib" 更改为 path="C:\common-libs\vendor\project-sample\lib" ,然后打开你的Eclipse。您将重现该问题。

以上是关于Eclipse 自动完成功能不适用于 PHP 项目的主要内容,如果未能解决你的问题,请参考以下文章

PyCharm 自动完成功能不适用于 pygame

XCode自动完成不适用于Objective C中的特定项目

jquery自动完成不适用于JSON数据

为啥 PyCharm 的自动完成功能不适用于我安装的库?

jQuery .val() 不适用于 jQueryUI 自动完成功能

自动完成功能不适用于新的 SWIFT 文件/类