¿Un cruce de código abierto entre un IDE y un editor de texto?

Soy un ingeniero de software con una pequeña empresa de desarrollo. Hace poco moví mi empresa al movimiento de código abierto. Todo nuestro código que no es de cliente es de código abierto, ejecutamos todos nuestros servidores y estaciones de trabajo en Linux, etc.

He estado usando a Kate como mi editor de texto en Ubuntu durante bastante tiempo, pero le falta alguna funcionalidad que me gustaría tener. Me gustaria algo con las siguientes caracteristicas...

  • Gratis y de código abierto
  • Resaltado de código para JavaScript, HTML, CSS, SCSS y PHP. (Bono para Python y Ruby)
  • Finalización de código para los mismos idiomas que mencioné anteriormente.
  • Ya sea un terminal incorporado o la disponibilidad de un complemento para un terminal.
  • Edición remota SFTP/FTP.
  • Capacidad para abrir un directorio en lugar de un solo archivo. (Tanto de forma remota como no remota).
  • Si el programa es un IDE, debe ser liviano. (No algo pesado como Eclipse o Netbeans).

También estaría encantado si pudiera hacer el control de versiones y tuviera la capacidad de impulsar cambios con Git.

No estoy seguro si el último criterio está disponible en cualquier IDE o editor de texto. He pasado por bastantes hoy buscando uno que cumpla con mis condiciones, y ninguno de ellos ha podido abrir un directorio. Si esto no es posible, o no está disponible actualmente en ningún lugar, explique por qué si sabe por qué y ofrezca una alternativa.

¿Has probado atom.io ? No tengo tiempo para verificar por completo, pero estoy bastante seguro de que cumple con todos sus requisitos.
Creo que deberías reconsiderar Eclipse. Definitivamente es más pesado que vi, pero ejecuto tres instancias (tres espacios de trabajo) la mayor parte del tiempo, junto con una variedad de otras cosas, por lo que no es terrible. No hay integración de git/svn lista para usar, pero hay complementos para ambos.
Mmm. Acabo de probar Eclipse hoy. No me impresionó mucho. Parece torpe con una gran cantidad de funcionalidad aleatoria y oscura en tu cara. Sin mencionar que la interfaz del complemento me resultaba difícil de entender. También me estaba costando reconciliarme con el hecho de que parece que Eclipse no es muy amigable con el cambio de idioma.
¿Por qué no querrías un IDE? ¿Cómo planeas depurar sin bereakpoints?
¿Quién depura con puntos de interrupción hoy en día? A menos que esté invirtiendo un binario sin código fuente, por supuesto. :-)
Prueba la edición de Komodo, es genial. Finalización del código de resaltado de Symtax. Cliente FTP incorporado y toneladas de complementos. Lo uso más que Sublimetext
El término habitual para "cruce entre un IDE y un editor de texto" sería "editor de programadores". Las herramientas *nix populares como Emacs y Vim han tenido características de este tipo durante décadas.

Respuestas (2)

Atom es un muy buen editor de texto que cubre tus necesidades.

  • Gratis y de código abierto
  • Resaltado de código para JavaScript, HTML, CSS, SCSS y PHP. (Bono para Python y Ruby)
  • Finalización de código para los mismos idiomas que mencioné anteriormente.

Controlar. Atom es de código abierto e incluye resaltado de código para los idiomas que mencionó. Algunas funciones de finalización automática se proporcionan a través de paquetes .

  • Ya sea un terminal incorporado o la disponibilidad de un complemento para un terminal.

Elige tu opción.

  • Edición remota SFTP/FTP.

No estoy seguro de esto, pero mencionaste que estás trabajando en Ubuntu. Por lo general, solo monto el recurso usando Archivo → Conectar al servidor en Nautilus y uso Atom u otros editores para trabajar en los archivos. Si realmente desea que Atom lo administre, este paquete parece un buen lugar para comenzar.

  • Capacidad para abrir un directorio en lugar de un solo archivo. (Tanto de forma remota como no remota).

Puede tener uno o más directorios configurados como proyectos y verá los archivos en el panel de navegación. A menudo ejecuto atom .en el directorio de trabajo que quiero usar. Esto es lo que parece:

Panel de navegación en Atom

  • Si el programa es un IDE, debe ser liviano. (No algo pesado como Eclipse o Netbeans).

Ligero puede significar diferentes cosas para diferentes personas. Atom funciona con Electron (basado en Chromium). Es un poco lento para iniciar y puede tener problemas con archivos grandes, sin embargo, me parece totalmente adecuado para trabajar en un sistema con 4 GB de RAM.

También estaría encantado si pudiera hacer el control de versiones y tuviera la capacidad de impulsar cambios con Git.

Atom es desarrollado por GitHub. Los colores que ve en el panel de navegación representan el estado de cada archivo. No lo uso, pero este paquete parece proporcionar buenas funcionalidades de Git con atajos de teclado.

Realmente, realmente me gusta Atom. El proyecto ha evolucionado mucho desde la última vez que lo vi. El paquete terminal-plus es la mejor implementación de esa funcionalidad que he usado. Desafortunadamente, los paquetes de edición de archivos remotos SSH son terribles. Limitado a abrir un archivo a la vez, o requerir servidores secundarios en ambos extremos, etc.
De hecho, no veo por qué querrías que Atom maneje tu conexión SSH. Deje que Nautilus lo haga. ;-)
Intenté eso también. Atom se queja de que no puede eliminar archivos, no puedo guardar nada, etc. cuando monto el servidor.
@Allenph ¿Está seguro de que no tiene problemas de permisos?
mmm El servidor remoto es Debian. Se queja de la falta de un bote de basura, etc.

Geany , (pronunciado "genio") es GPL2, liviano , resalta los idiomas especificados del OP, completa el código, tiene un terminal incorporado (o un terminal con pestañas de complemento), etc.

FTP y apertura de directorios, no , pero más o menos : los desarrolladores recomiendan montar sistemas de archivos remotos con Fuse o LUFS , que proporciona las mismas características que FTP et al.

El control de versiones ( git , subversion , etc.) se puede tener con el complemento GeanyVC y git-changebar para algunas funciones más de git .

De hecho, estaba jugando con Geany un poco más temprano hoy. El principal problema que tuve con él es que parecía ser muy exigente con la forma en que indexaba los proyectos. Por lo que pude encontrar en la web, debe mantener un archivo de configuración .geany en su proyecto que defina explícitamente qué archivos pertenecen a ese proyecto. Simplemente usar la creación de un proyecto Laravel solo sería una pesadilla para indexar a mano.