具有最佳代码完成的PHP IDE?[已关闭]

2022-08-30 23:05:27

尽管有些人可能会说,但我相信代码完成(又名Intellisense)是代码编辑器的第二好的发明(第一个是语法着色)。它确实使编码更容易,因为我不必担心我是否命名了函数,或者简单地命名。CalculateReportSumsReportSumsCalculateGetReportSums

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

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

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

我知道PHP是一种动态语言,完美的代码完成原则上是不可能的(因为在运行时之前你不知道会有什么变量),但它仍然有可能实现到一个相当好的程度 - 比我迄今为止看到的要好得多。

添加:补充一些小问题 - 我希望CC是即时的,就像在Visual Studio中一样。我键入一个字符,列表在同一时刻显示。我键入另一个字符,列表在我眨眼之前就变成了一半的大小。接近零的CPU使用率,即时的结果(都是缓存之神!

另外 - 我可以以特殊的方式记录我的函数甚至变量。我更喜欢PHPLint语法(因为这样我以后可以用它检查我的代码),但其他语法也可以。强迫这样做对你的评论纪律也有好处。:)


答案 1

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

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


答案 2

你是对的,智能感知在像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即将推出的WebIDE(http://www.jetbrains.com/webide/features/index.html),但在这方面看起来很有希望(见截图)。


推荐