PHP IDE具有最佳代码完成?

时间:2009-11-15 20:21:59

标签: php ide code-completion

尽管有some might say,但我相信代码完成(又称Intellisense)是代码编辑器(第一个是语法着色)的第二个最佳发明。它确实使编码更容易,因为我不必担心我是否将函数命名为CalculateReportSumsReportSumsCalculate或仅GetReportSums

不幸的是,我还没有找到一个能够令人满意地为PHP实现此功能的代码编辑器。而“令人满意”的意思是“与Visual Studio for C#一样好”。

我首选的文本编辑器是Notepad ++,但它只有PHP的内置函数列表,只有在按下Ctrl + SPACE后才能显示。我也尝试过Eclipse + PDT,它更好,但仍然经常出现打嗝,有时完全失败没有明显的原因(没有列表可用),并且只有在我暂停键入时才会出现(将超时设置为某个小值会导致列表不要完全出现。)

那么 - 那里有更好的东西吗?能够了解当前范围内所有变量的东西,能够跟随include(),并在我输入时实时显示列表吗?

我知道PHP是一种动态语言,完整的代码完成原则上是不可能的(因为你不知道在运行之前会有什么变量),但它应该仍然可以实现它相当不错学位 - 比我到目前为止看到的要好得多。

已添加:要添加一些小点 - 我希望CC能够即时显示,就像在Visual Studio中一样。我输入一个字符,列表会在同一时刻显示。我输入另一个字符,列表变成一半,然后我甚至可以闪烁。 CPU使用率几乎为零,即时结果(所有人都欢呼神的缓存!)。

另外 - 我可以用特殊方式记录我的函数甚至变量。我更喜欢PHPLint语法(因为之后我可以用它检查我的代码),但其他语法也可以。强制执行此操作对您的评论规则也有好处。 :)

11 个答案:

答案 0 :(得分:25)

我发现Netbeans的代码完成程度比Aptana好。当我使用codeigniter时,Netbeans会在Aptana不会使用的模型中为我的静态方法编写完整的代码。

自从我发布此消息以来,JetBrains已经发布了PHPStorm,并且具有快速智能感知功能,以及更好的类型提示功能。它绝对优于所有其他恕我直言。我已经免费使用EAP 2.0几个月了。

答案 1 :(得分:3)

你认为intellisense在像php这样的动态类型语言中要复杂得多。考虑例如

  function get_foo($x) {
       return $x ? new abc() : new xyz();
  }

  get_foo(123)->... can your IDE autocomplete here?

不了解PDT,但Netbeans无法处理此问题,并且phped要求以特殊方式对“get_foo”进行注释。

我还没有尝试过来自Jetbrains(http://www.jetbrains.com/webide/features/index.html)的即将推出的WebIDE,但在这方面看起来很有希望(见截图)。

答案 2 :(得分:2)

毫无疑问,使用NetBeans,非常有用且具有良好的智能感知(好吧,不是很完美),但比Eclipse更好。

答案 3 :(得分:2)

我建议你netbeans。免费。它适用于所有平台,主要用于编辑php,jsp,java,css,html,... 适用于SVN,mercurial,你可以轻松地将它与kenai.com ...

集成

它有助于IntelliSense类型的弹出。

相信我,我正在使用它进行php开发,它是我能找到的最合适的ide ...

答案 4 :(得分:1)

我使用PHPEd(http://www.nusphere.com/),它具有此功能的可行版本。

注意:他们的首页上列出了优惠。 忽略此。它已经 明天结束 至少4年了。

答案 5 :(得分:1)

我认为你在Windows上。在Windows中我通常使用phpDesigner(http://www.mpsoftware.dk/phpdesigner.php),它具有相当不错的CC。在linux中,我使用geany(http://www.geany.org/)或vim都有CC,在后一种情况下,你需要设置它。我发现Eclipse过于臃肿,我厌倦了等待它启动。 :\

答案 6 :(得分:1)

Kimodo具有良好的代码完成功能,不仅揭示了PHP中的函数,还揭示了您在当前上下文中声明的内容。此外,如果您已正确记录您的功能或其中任何一项,它也会显示该文档!

答案 7 :(得分:1)

我还没有看到Zend Studio 5.x中的自动完成功能。我已经尝试过基于Eclipse构建的更高版本,并且很可能使用Aptana ...

不幸的是,这意味着保持Windows XP或2000的外观,因为Java GUI(一个Zend Studio构建在其上)搞砸了Win7 Look,但是对于Zend 5的功能,它是值得的。

它不仅会自动完成已知功能,还会自动完成您所做的变量/功能,不仅适用于您当前的文件,还适用于任何打开的文件(我认为任何打开的项目),并会自动建议类项目好。

另外,能够在Zend Studio内部运行本地来测试部分代码是很棒的。如果它只是轻松地让你保存到本地文件系统并同时上传到服务器....(我只是让一个FTP程序在后台运行,每10分钟将下载任何更改到服务器)。< / p>

答案 8 :(得分:0)

http://www.aptana.org/

  

代码辅助
  帮助创作HTML,CSS,JavaScript,PHP和Ruby。支持最新的HTML5规范。包括信息   关于主要Web浏览器中每个元素的支持级别

答案 9 :(得分:0)

VIM。

http://weierophinney.net/matthew/archives/123-Vim-7-code-completion.html

另外,看一下推荐的类似问题,我注意到讨论使用vim代码的不同方法已经有了一个很好的问题。

Word / Code Completion in VIM

答案 10 :(得分:0)

你可以试试Zend Studio。