【问题标题】:Is there a good PHP editor with user defined/custom code completion for MacOS?是否有用于 MacOS 的用户定义/自定义代码完成的良好 PHP 编辑器?
【发布时间】:2013-07-13 05:42:14
【问题描述】:

通过 UDF 代码完成,我的意思是如果我有一个名为:

filex.php 中的函数 get_whoopee($a, $b, $c) { },

然后我从 anotherfile.php 中键入“get_wh”,它将枚举与该前缀 (get_wh*) 匹配的所有函数和原型,以记录我失败的记忆。

如果您还不知道,我无法向您解释这有多大用处。当然,我们的原型应该是简单明了的,但是这个功能是有生产力的。

我希望至少有 1 条评论告诉我“真正的男人使用 vi 或 emacs”。我会为你(可预测的)幽默感投票赞成你。

最糟糕的是,自从 ZendStudio 5.5 以来,我根本找不到一个好的。新的基于 Eclipse 并且非常糟糕。据我所知,Coda 具有代码完成功能,但仅在文件中。我不明白那是什么意思。我真的没有。您需要代码完成的原因是您可以引用不在附近的东西,最好即使文件未打开。

帮助。有没有人找到替代 Zend Studio 5.5 的东西?

【问题讨论】:

    标签: php ide zend-studio code-completion coda


    【解决方案1】:

    我和我认识的许多其他人都是PhpStorm 的忠实粉丝,我相信它物有所值。

    • 还可以识别 PhpDoc 的出色代码完成
    • 出色的调试支持
    • 与 VC 很好地集成
    • 易于安装的插件增加了对无数事物的支持。例如LESS、SCSS、CoffeeScript、NodeJS 等等。
    • 大量其他有用的功能

    查看试用版,花点时间配置设置。例如我添加了许多实时模板,设置了 PHPCS、代码样式等。

    熟悉快速导航/查找文件和符号(对象、方法、函数)的键盘快捷键Cmd+Shift+N , Cmd+Shift+Alt+N。很确定大部分都在快速提示对话框中。

    【讨论】:

    • 我看到了这个,但它看起来也是基于 Eclipse 的,而且当我不久前对其进行采样时,它看起来很重/很慢。和 ZendStudio 的转世有很大不同吗?
    • “慢”是主观的。我知道 IRC 中有很多人使用它,但没有人抱怨它速度慢。我自己从未注意到过慢。
    • 我再试一次。我确实发现 Komodo/Activestate 感觉更原生、更快。我刚刚发现也缺少一些功能。最后,我一直喜欢 ZendStudio 5.5。
    • 功能方面,Zend 可能具有可比性。我已经很长时间没有使用它了。在关于速度的旁注中,PhpStorm 在启动时为项目编制索引。在此期间,有些事情有点迟缓,但通常只持续几秒钟,在 SSD 上包含数千个文件的大型 Symfony2 项目中大约持续 10 秒钟。之后的事情就很顺利了。
    • 我现在正在根据您的建议进行更多修改。也许我想要讨厌它,因为我认为它是基于 Eclipse 的。我的追求中最可悲的部分是我真的想要喜欢 Coda。几次。而我失败了。即使有偏见。
    【解决方案2】:

    我认识的许多开发人员也对 PhpStorm 非常满意,所以我无法反驳 simshaun 的建议。

    就我个人而言,我对 ZendStudio 10 感到满意。要充分发挥它的功能,您必须确保您的项目启用了“PHP 支持”(右键单击项目,然后选择配置 > 添加 PHP 支持...)。然后它会按照您的描述进行,尽管在我的情况下,我使用自动加载和命名空间处理 psr-0 项目。根据您的描述,听起来您正在寻找它来处理程序脚本?对此我不确定。 FWIW,它也是 ZF2 感知的,所以它可以找到 PHPStorm 无法解决的一些事情的参考。我认为这主要是混合了 ZF2 Di 的地方,但除了有 PhpStorm 萌芽评论之外,“嘿,你是怎么做到的?!”有一次,我没有更多关于这种差异的详细信息。

    ZendStudio 10 也有编辑器模板(我相信很多人都会这样做)。许多模板都是预先配置的,例如,如果您开始输入“sw”,它会提供 SPL 的“switch”建议,以及一个与“swi”相关联的编辑器模板,它是一个完整的 switch 语句。如果您选择编辑器模板建议(使用向下箭头),它会向您显示整个控制结构的原型。如果选择它,它将插入带有第一个 case、break 和 default 的完整语句,您可以填写然后修改。

    我使用一些自定义模板来处理我经常做的事情,希望我的光标插入到它的中间。例如,我定义了 'zddd' 以扩展为:

    \Zend\Debug\Debug::dump(CURSOR_INSERTED_HERE);die();
    

    虽然 ZendStudio 10 会自动提示我是否开始以手写方式输入任何完全限定的方法名称,但最初通常仍然会产生很多匹配,除非您已经使用 use 语句导入了类(并且可以只使用简短的班级名称)。即便如此,它也远不如与 3 或 4 个字符相关联的预定义模板方便。

    希望对您有所帮助。

    【讨论】:

    • 我希望它与全局命名空间、命名空间和类中的函数调用一起工作。在很多情况下,我实际上使用 PAAMAYIM_NEKUDOTAYIM "::" 来模拟命名空间(\ 不存在)。我再试试ZS。我的抱怨是我最后一次尝试它,它似乎从 ZS5.5 倒退了一步!
    猜你喜欢
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2018-03-23
    • 2012-03-28
    • 2017-06-05
    • 2011-09-15
    • 1970-01-01
    相关资源
    最近更新 更多