【问题标题】:Code Assist with Eclipse and PHP Standard/Core FunctionsEclipse 和 PHP 标准/核心函数的代码辅助
【发布时间】:2011-11-05 08:11:43
【问题描述】:

我已经工作了 6 个小时,试图让我的 PHP 标准核心功能与 Eclipse 3.6 和 PDT 2.2.1 一起工作。出于某种原因,像 echo、empty() 和 isset() 这样的函数会在代码完成时出现,但是像 strtotime() 和 array_push() 这样的函数不会出现,即使我按下 CTRL+SPACE 也是如此。此外,函数 mysql_connect() 出现在代码辅助中,但 mysql_query 没有。

我查看了几个 google 搜索结果和 stackoverflow 问答,发现了许多类似的解决方案:

Code completion/assist for built-in PHP functions in Eclipse PDT

我已确保我的 .buildpath 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
    <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
    <buildpathentry external="true" kind="lib" path="/Applications/MAMP/htdocs/harvestopia"/>
    <buildpathentry external="true" kind="lib" path="/Applications/MAMP/bin/php/php5.3.6"/>
    <buildpathentry external="true" kind="lib" path="/Applications/MAMP/htdocs/yharvestopia/YiiRoot/framework"/>
    <buildpathentry kind="src" path=""/>
</buildpath>

我的 .project 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>harvestopia</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.dltk.core.scriptbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.maziarz.yiiclipse.builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.php.core.PHPNature</nature>
        <nature>org.maziarz.yiiclipse.nature</nature>
    </natures>
</projectDescription>

我的 .settings/org.eclipse.php.core.prefs 看起来像这样:

#Sat Nov 05 00:40:34 MDT 2011
eclipse.preferences.version=1
include_path=1;/Applications/MAMP/htdocs/yharvestopia/YiiRoot/framework

我真的是一头撞在墙上,真的可以参考一些建议。

更新:没有 Yiiclipse,它仍然无法工作。我在一个名为 Test 的新工作区中创建了一个新项目。这些文件如下所示,但仍然不允许对标准函数进行代码辅助。

.项目:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>test</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.dltk.core.scriptbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.php.core.PHPNature</nature>
    </natures>
</projectDescription>

.构建路径:

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

.settings/org.eclipse.php.core.prefs:

#Sat Nov 05 09:38:26 MDT 2011
eclipse.preferences.version=1
include_path=0;/test

【问题讨论】:

  • 如果你创建一个没有 Yiiclipse 的 PHP 项目,是不是同样的行为?
  • 是的。即使没有 Yiiclipse 也是同样的问题。在新工作空间上创建新项目也会产生同样的问题。
  • 我对此进行了更新,以显示没有 Yiiclipse 文件的样子,但仍然无法正常工作。

标签: php eclipse eclipse-pdt


【解决方案1】:

6 小时后,我发现了一些可行的方法。我不知道为什么会这样,但它可能与依赖项和我现在不理解的其他垃圾有关。

我做了什么:

1) 卸载 Yiiclipse(安装了左侧 PDT) 2)从我的工作区中删除了所有文件 3) 在我的 web 根目录中创建了一个新的 PHP 项目,例如“blog” 4) 使用 yiic 脚本,我在 blog 文件夹中创建了新的 webapp 5)打开Eclipse并刷新项目。 6)右键项目->构建路径->配置构建路径 7) 点击链接源... 8) 链接到文件夹位置 webroot/YiiRoot/framework 9) 选择“更新其他源文件夹中的排除过滤器以解决嵌套问题”

一切都按预期进行。

【讨论】:

  • 谢谢!!!它也帮助了我。我刚刚删除了 yii,重新启动了 eclipse 并清理了所有项目。
【解决方案2】:

我发现将 PDT 安装为 yiiclipse 的依赖项会导致相同的问题(可能并非所有依赖项都包含在 yiiclipse 中)。但是,如果您卸载 yiiclipse,请安装 PDT SDK 插件(来自 indigo updatesite)并再次安装 yiiclipse - std 库函数的代码完成工作正常。

【讨论】:

  • 试过了...没用...可能是因为我使用的是PDT人提供的一体化解决方案?
【解决方案3】:

我就是这样解决的:

在项目资源管理器中右键单击您的项目并选择

配置 » 添加 PHP 支持...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多