php emacs editor autocomplete

¿Cuál es una buena configuración para editar PHP en Emacs?



editor autocomplete (3)

Además de las funciones con las que ya está familiarizado, le sugiero lo siguiente.

ETags

No utilizo ETags, pero ya hay una pregunta sobre SO Cómo crear / actualizar mediante programación un archivo TAGS con emacs . Sin embargo, no se publicó una buena respuesta, pero puede ser un buen punto de entrada para tener una idea.

Depuración

Flymake es un modo para obtener la verificación de sintaxis sobre la marcha. También tiene soporte para PHP. Sugiere errores de sintaxis de inmediato a medida que escribe. La versión Flymake incluida con Emacs 23 contiene soporte PHP. Si tiene una versión anterior, consulte la publicación de Sacha Chua en Emacs y PHP: comprobación de la sintaxis sobre la marcha con Flymake .

Otro paquete útil es Geben que le permite depurar sus scripts de forma interactiva. Para PHP, puede usar XDebug. Hay un tutorial detallado sobre cómo hacerlo, vea Depurar php en emacs con geben .

Búsqueda de documentación

El modo PHP tiene una buena función para buscar la definición de la función en el manual de PHP en su navegador web ( Mx php-search-documentation o Cc Cf ). Puede combinarlo con Emacs-W3M para obtener la página del manual relevante sin salir de Emacs.

Este verano voy a hacer algunas ediciones de PHP para mi trabajo, y estoy buscando una configuración efectiva de Emacs para editarlo. Ya estoy muy interesado en Emacs, por lo que no vale la pena cambiar a otro editor.

En este momento, tengo nXhtml-mode , que proporciona un modo PHP con resaltado de sintaxis (hay al menos tres diferentes en la naturaleza), así como MuMaMo para editar PHP incrustado en HTML. Acabo de empezar a usar Auto-Complete y Anything para programar y cosas generales de Emacs, respectivamente.

Lo que realmente estoy buscando es una forma efectiva de lograr que Emacs realmente entienda el proyecto, más allá de solo destacarlo. Etags parece una buena opción, pero parece que el proceso para generar nuevas etiquetas es bastante arduo y manual (o al menos no invisible). Lo bueno de Etags es que se integran bien con Anything y Auto-Complete. Otras opciones posibles son los gtags (aunque tengo dudas sobre la instalación de archivos que no sean elisp, solo por la complejidad), vtags o Semantic , con los que me he equivocado anteriormente y que parecen complicados de configurar, además de que no se ven como tiene soporte para PHP.

Otra opción es Imenu , pero solo funciona para el búfer actual, y me gustaría poder pasar a las definiciones de función en otros archivos (preferiblemente usando Anything para completar el nombre).

Los proyectos en los que trabajaré no son tan grandes (aproximadamente 30,000 líneas en total), por lo que los gastos generales de Etags probablemente no serán un problema tan grande, pero preferiría no utilizarlos si hay una solución mejor.

Entonces, ¿cuál es su sistema de edición de PHP preferido?


Como alternativa a ETags, considere GNU Global, también conocido como "GTags". Global es mucho más inteligente para encontrar tablas de etiquetas, y es bastante rápido para actualizar. Emacs-fu tiene una buena publicación sobre hacer esto sobre la marcha .

Por cierto, si está utilizando el puerto de Windows de GNU Global con una versión de Windows Emacs, use la versión de DJGPP ("DOS"). La construcción MinGW ("Win32") parece tener un problema con los nombres de ruta.


web-model.el (disponible en web-mode.org ) maneja bastante bien los bloques php incrustados en un documento html. Este modo principal también resaltará las partes js y css.