【问题标题】:Code Completion not working with remote file (with RSE)代码完成不适用于远程文件(使用 RSE)
【发布时间】:2011-05-05 11:24:44
【问题描述】:

什么是:

在主机上:
Windows 7的 面向 PHP 开发人员的 Eclipse
版本:Helios Service Release 2

在访客机器上: Linux debian 挤压

我想使用 RSE 在 Eclipse 中通过 SSH 编辑我的远程项目。一切都好,我在远程系统资源管理器的角度这样做:

然后我进入 PHP 视角。右键单击项目->配置->添加 PHP 支持。并按Ctrl+Shift+SpaceCtrl+Space。没有可用的补全(代码辅助)。

好的,我发现了这个错误(2008 年)和解决方案描述(2009 年):Bug 251496。我这样做了:

这是我对问题的解决方案: 我刚刚删除了 PHPExplorer 视图中的 RemoteSystemsTempFiles 项目和 而不是将它重新创建为一个 PHP 项目(New-> PHP Project,当然它必须是 再次命名为 RemoteSystemsTempFiles)。这对我有用,现在代码完成是 好的,希望这会有所帮助。

它不能解决问题。因为 PHP 语言库没有核心 API 可能...... 帮助。谢谢。

【问题讨论】:

  • 我找到了解决办法!只需创建一个虚拟项目(例如localhost)并在这个虚拟项目中导入Core API。 Right click on dummy project->Import...->General->File System-><path to workspace\.metadata\.plugins\org.eclipse.php.core\_language_>。然后Right click on your project->Include Path->Configure Include Path...->Projects->Add...-><dummy project>。就这样!代码完成现在正在运行。
  • 或者如果您不想创建项目,只需执行以下操作:右键单击您的项目->包含路径->配置包含路径...->库->添加库->配置->新建...->单击新创建的->添加外部文件夹-> 可能有点不那么hacky,但仍然感觉很乱。我希望有一个适当的修复。

标签: eclipse eclipse-plugin eclipse-rse


【解决方案1】:

PHP 项目的自动补全(类、函数...):

我发现将以下几行添加到 .project 确实解决了 PHP 项目本身的类的自动完成问题,但不适用于原生 PHP 函数:

<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<nature>org.eclipse.php.core.PHPNature</nature>

我找到了解决办法:

原生 PHP 函数的自动补全 (print_r()...):

你必须去你的eclipse配置文件夹并找到PHP语言文件夹:

就我而言:C:\Program Files\EclipseSF2\configuration\org.eclipse.osgi\bundles\276\1\.cp\Resources\language\php5.3

那么你可以:

  • 右键单击你的eclipse项目的根目录,
  • 然后去构建路径
  • 链接来源
  • 浏览:并链接到此文件夹...

这允许本地 PHP 函数的自动完成!

Symfony 框架的自动补全:

对于使用 Symfony 框架的人,您可以在 .project 文件中添加以下行:

<buildCommand>
        <name>com.dubture.symfony.core.symfonyBuilder</name>
        <arguments>
        </arguments>
</buildCommand>

【讨论】:

  • 这是我在网上找到的最佳解决方案! 10x 很多人。只有前两行 org.eclipse.wst.jsdt.core.jsNatureorg.eclipse.php.core.PHPNature evertyhing 开始工作,不仅是类中的自动完成还有原生的 PHP 函数。谢谢!
【解决方案2】:

使用 RemoteSystemExplorer 时,您的工作区中有一个隐藏项目“RemoteSystemExplorer”。

先关闭eclipse。我在那里编辑了 .project 文件并添加了以下行:

&lt;nature&gt;org.eclipse.php.core.PHPNature&lt;/nature&gt;

在标签 内。并添加了 .buildpath 文件,内容如下:

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

正在启动 eclipse 和 php 自动完成功能。我已经用“eclipse Kepler”完成了这个工作流程。

【讨论】:

  • 在 Eclipse 5.2 (Mars) 中非常适合我。它甚至可以自动完成我打开的其他远程 PHP 文件,但它们不是任何特定项目的一部分。正是我想要的。
  • 感谢近四年后的您,这仍然有效。也使用 Eclipse Neon
【解决方案3】:

解决方案

1) 关闭 Eclipse

2) 转到项目路径。

3) 使用文本编辑器(gedit、VIM、记事本等)打开“.buildpath”。

4) 在“buildpath”行之后添加下一行:

<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

示例

之前

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
    <buildpathentry kind="src" path="library"/>
    <buildpathentry kind="src" path="public"/>
    <buildpathentry kind="src" path="application"/>
</buildpath>

之后

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

5) 保存文件并退出!

6) 打开 Eclipse。

7) 工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2013-05-04
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多