2012-03-09 10 views
9

Me encantan los editores de la vieja escuela porque permiten a los usuarios absolutamente volar a través de su código, editando casi tan rápido como puedan pensar.¿Alguna vez emacs/vi podrá implementar Intellisense/Refactorings, así como Visual Studio y Eclipse?

Sin embargo, chupan bolas al darse cuenta de su entorno, carecen de implementaciones robustas de características como Intellisense (ataque preventivo: no, realmente no hay una implementación intellisense en emacs que es trivial de instalar y no es mala) y refactorizaciones comunes (golpe preventivo n. ° 2: "búsqueda y reemplazo globales" no hace una herramienta de refactorización). (es decir, sería bueno no poder usar nada más que vim para desarrollar en .Net, pero por el momento es una empresa mal concebida en el mejor de los casos).

Me encanta Visual Studio/Eclipse/XCode porque están tan integrados con sus entornos que casi nunca necesito buscar la documentación API, y puedo refactorizar sin miedo.

Sin embargo, chupan bolas en la manipulación de texto básico y las macros (relativas a vi/emacs) no están disponibles en todas las plataformas (con excepción de Eclipse), es probable que cambien de forma no trivial o que simplemente no estén en los próximos 10-20 años, y lo más importante, no pueden ejecutar tetris.

¿Alguna vez veremos el día en que emacs o vi podrán integrarse tan estrechamente con los proyectos .Net, Java y Objective-C como Visual Studio, Eclipse y XCode?

Si no es así, ¿es por preocupaciones de propiedad? (es decir, ¿requeriría que emacs se envíe con una copia del framework .Net)? ¿O es solo porque en este momento nuestro equipo no tiene mano de obra?

+0

Eclipse no está disponible en todas las plataformas. –

+0

Hay muchas herramientas para acercarse o incluso mejor. Cedet es un buen ejemplo. Personalmente, creo que si eliminas Intellisense, te familiarizará más con el código, lo cual es bueno a la larga.También esas características tienden a acaparar recursos de la computadora en segundo plano para generar terminaciones y tal. Sin embargo, una cosa es que NO están destinados a estar estrechamente integrados para que puedan ser editores generales. –

+0

@Jesus (siempre quise tener una razón legítima para escribir eso) - Eh, aunque aprecio que se tome el tiempo para responder, y es un comentario muy inteligente y bien pensado, me parece algo así como el el viejo argumento de que si pongo un cuchillo de carne en el volante apuntando a mi pecho, me convertirá en un mejor conductor. – Whisker

Respuesta

2

¿Por qué no cargar un emulador Vi/Emacs en Visual Studio/Eclipse y obtener lo mejor de ambos mundos?

Hay versiones gratuitas de ambos para Visual Studio 2010 y superior.

Eclipse tiene algunos también.

+0

Son los emuladores lo suficientemente buenos para ser satisfactorios. ¿El vi emulator es compatible con "."? ¿Se puede configurar el emulador de emacs a través de Lisp? –

+0

Hace un tiempo accedí a que esta sea la solución "menos mala", pero no es ideal. Si bien podría no ser oficialmente Suck Balls, todavía apesta. (Por ejemplo, la emulación de Emacs en Visual Studio tiene un montón de errores funky y copiar/pegar desde programas externos no funciona, todos los cuales no son corregibles, porque no es de código abierto, bla, bla, bla ...). Pero sí, eres sin embargo correcto :) – Whisker

+0

@ ThorbjørnRavnAndersen Tanto VsVim como ViEmu admiten '.' y macros. Son implementaciones bastante buenas. En general, ViEmu tiene un mayor conjunto de características, pero VsVim es libre de probar.Advertencia: soy el autor principal de VsVim, así que estoy muy predispuesto :) – JaredPar

1

Ver eclim que proporciona características de Eclipse para Emacs/Vim, para que pueda trabajar en su editor favorito mientras que tener la terminación inteligente y otras características soportadas por un backend Eclipse.

Si no contamos con la mano de obra necesaria para implementar estas funciones de forma nativa, lo mejor que podemos hacer es utilizar las funciones implementadas por otros.

1

Creo que una parte importante de la razón es técnica y se debe a Elisp: Elisp es muy lento y carece de bibliotecas. Un buen IDE requiere un buen analizador, diversas estructuras de datos auxiliares, y necesita ser rápido (por ejemplo, analizar muchos archivos).

Cuestiones relacionadas