Editor para escribir scripts de shell, con autocompletado y resaltado de sintaxis

Estoy buscando un buen editor que me brinde una experiencia similar a IDE en la creación de scripts de shell. Idealmente, debería ser compatible con los formatos de archivo por lotes de Linux bash y Windows, Windows Power Shell es definitivamente una ventaja, pero no un requisito.

Esto es lo que estoy buscando:

  • Resaltado de sintaxis, al menos para construcciones de lenguaje y comandos/funciones nativos conocidos
  • Autocompletado basado en el contexto de inserción , como la inteligencia para Visual Studio. La mayoría de los editores parecen admitir sugerencias basadas solo en el contenido del archivo, sin tener algún sentido de la idoneidad del elemento sugerido, según el contexto de uso.
  • Capacidad para detectar corchetes y paréntesis de apertura y cierre, resaltar expresiones no cerradas o incompletas. Esto es bastante importante ya que personalmente no soy tan bueno en scripts de shell y la mayoría de mis problemas son causados ​​por problemas similares a los mencionados.

Una ventaja sería:

  • Capacidad para ejecutar el script inmediatamente o configurar un conjunto de variables de entorno en el ámbito de una sola ejecución.
  • Definitivamente, una solución gratuita será apreciada con mucho gusto, y enumerar las comerciales no hará daño, ya que definitivamente no tengo idea de qué herramientas apuntan a esta área específica, y más de esta información en un solo lugar podría ser útil.

En este momento estoy usando Notepad ++ en Windows y Kate o Geany en Linux , pero todos tienen su lógica de autocompletado que se basa solo en el contenido del archivo, en lugar de estar orientado al contexto (si está disponible). El resaltado de sintaxis no es correcto y no reconoce algunas construcciones válidas, palabras clave o funciones/comandos nativos.

Si también puede consultar un IDE o un complemento de IDE, me encantaría conocerlo también. Preferiría cualquiera de los siguientes IDE, ya que los uso con frecuencia y con los que estoy familiarizado, pero no dude en extenderse más allá de esa lista:

  • Visual Studio (preferiblemente 2010)
  • Eclipse/STS
  • MonoDevelop/Xamarin Studio

Como mencioné scripts de shell para diferentes sistemas operativos, esto plantearía la cuestión de cuál es mi sistema operativo de destino. Esto es importante ya que la detección de las funciones compatibles de forma nativa del lenguaje de script de shell puede depender de eso. El problema es que estoy haciendo scripts de shell tanto para Windows como para Linux, y esto hace que sea bastante difícil para mí poner una restricción al respecto.

Entonces, en un intento por reducir la ampliación del tema, agradecería cualquiera de los siguientes requisitos para las sugerencias:

  • Una combinación de:
    • Una herramienta de Windows que permite el desarrollo de scripts de Windows Shell
    • Una herramienta de Linux que admite secuencias de comandos nativas de Linux
  • Una única herramienta multiplataforma
  • Una única herramienta no multiplataforma que admite secuencias de comandos de Linux y Windows, independientemente de que sea nativa del sistema operativo Linux o Windows .

Respuestas (2)

La mejor opción es probablemente eclipse más un complemento de shell . Para Windows, también puede agregar un complemento de PowerShell . Otros IDE pueden tener características similares, pero estoy más familiarizado con Eclipse. (Para ser honesto, uso editores, no IDE, para el 99% de mi trabajo, por lo que mi experiencia con IDE es un poco secundaria).

Para los editores de texto pesados ​​(Notepad ++, vim, emacs), nunca obtendrá un autocompletado realmente bueno. Eso significa básicamente ir con un IDE si eso es importante para ti. La verdadera fuerza de Eclipse está en sus complementos aquí, y ahí es probablemente donde iría si quisiera un IDE.

Para ser honesto, mi propia experiencia es que para la productividad, normalmente encuentro que VIM es donde obtengo la mayor parte de mis ganancias de productividad, pero ni siquiera se acerca a lo que está buscando. Por su pregunta, parece que está buscando un IDE. Para trabajo multiplataforma mi experiencia con Eclipse y la red de plugins ha sido muy favorable.

Complemento alternativo de powershell: PowershellEditor

Usualmente uso sistemas operativos en la familia *nix, por lo que esto puede no ayudar:

Soy un gran admirador de Sublime Text y dado que ofrece una prueba gratuita e ilimitada (Windows, Mac, Linux), no tienes mucho que perder.

Si bien es un editor de texto, hay complementos que se acercan bastante a un IDE (digo "bastante cerca" porque a veces tengo conflictos entre los complementos ).

Hay una comunidad saludable de usuarios que comparten complementos, temas, extensiones, fragmentos, reglas de resaltado de sintaxis, etc.

Muy similar es el editor Atom.

No tengo mucha experiencia con las secuencias de comandos de Shell, pero entre fragmentos (para autocompletar), resaltado de sintaxis y pelusa, puede acercarse bastante.

¡Espero que ayude!

Me pregunto si la finalización del símbolo es solo durante el período de evaluación como BBEdit (que por lo demás es un buen editor).