Eclipse和PHP标准/核心功能的代码辅助

时间:2011-11-05 08:11:44

标签: php eclipse eclipse-pdt

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

我查看了几个谷歌搜索结果和stackoverflow Q& As,发现了许多与此类似的解决方案:

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的新工作区中创建了一个新项目。这些文件如下所示,但仍然不允许对标准函数进行代码辅助。

的.project:

<?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>

.buildpath:

<?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

3 个答案:

答案 0 :(得分:2)

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

我做了什么:

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

一切都按预期工作。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我只是这样解决了:

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

配置»添加PHP支持...

enter image description here

相关问题