代码之家  ›  专栏  ›  技术社区  ›  haxney

在Emacs中编辑PHP的良好设置是什么?

  •  39
  • haxney  · 技术社区  · 16 年前

    今年夏天,我要为我的工作做一些PHP编辑,并正在寻找一个有效的Emacs设置来编辑它。我已经在Emacs上投入了大量资金,因此切换到另一个编辑器是不值得的。

    现在,我有 nXhtml-mode 它提供了一种具有语法突出显示的PHP模式(至少有三种不同的语法突出显示),以及用于编辑嵌入在HTML中的PHP的mumamo。我刚开始用 Auto-Complete Anything 分别用于编程和通用Emacs。

    我真正想要的是一个有效的方法,让Emacs真正了解项目,而不仅仅是强调。 Etags 看起来是一个不错的选择,但是生成新标签的过程似乎很艰难而且是手动的(或者至少是不可见的)。ETags的好处在于它与任何东西都能很好地集成并自动完成。其他可能的选择是 gtags (尽管我不愿意安装非elisp文件,只是为了复杂性)。 vtags Semantic ,我以前处理过,设置起来似乎很复杂,而且它看起来不支持PHP。

    另一个选择是 Imenu ,但它只适用于当前缓冲区,我希望能够跳转到其他文件中的函数定义(最好使用任何东西来完成名称)。

    我将要处理的项目没有那么大(大约30000条线路),所以ETags的开销可能不会那么大,但是如果有更好的解决方案,我宁愿不使用它。

    那么,您首选的PHP编辑系统是什么?

    3 回复  |  直到 9 年前
        1
  •  23
  •   Community CDub    8 年前

    除了你已经熟悉的功能,我建议你以下几点。

    埃塔格

    我不使用etags,但已经有一个问题了 How to programmatically create/update a TAGS file with emacs . 尽管没有发布好的答案,但这可能是获得一个想法的好切入点。

    调试

    Flymake 是一种动态语法检查模式。它也支持PHP。它在键入时立即提示语法错误。Emacs23附带的Flymake版本包含PHP支持。如果你有以前的版本,请查看sacha chua的帖子 Emacs and PHP: On-the-fly syntax checking with Flymake .

    另一个有用的包是 Geben 它允许您交互地调试脚本。对于PHP,可以使用xdebug。有一个关于如何做到这一点的详细教程,请参见 Debug php in emacs with geben .

    文档查找

    php模式有一个很好的特性,可以在Web浏览器的php手册中查找函数的定义。( M-x php-search-documentation C-c C-f )你可以把它和 Emacs-W3M 在不离开Emacs的情况下获取相关手册页。

        2
  •  5
  •   fxbois    10 年前

    web-model.el(可在 web-mode.org )可以很好地处理HTML文档中嵌入的PHP块。此主要模式还将突出显示JS和CSS部分。

        3
  •  3
  •   nurikabe    15 年前

    作为ETags的替代方案,考虑GNU Global,即“GTags”。global在查找标记表方面更聪明,更新速度也相当快。傅女士有一篇关于 doing this on-the-fly .

    顺便说一句,如果您将GNU Global的Windows端口与Windows Emacs版本一起使用,请使用DJGPP(“DOS”)版本。mingw(“win32”)版本的路径名似乎有问题。