Una acción, múltiples terminales Windows ejecutando cosas

Muchos entornos de desarrollo requieren ejecutar cosas en una ventana de terminal. npm run start, o lo que sea. Sé que mi proyecto más importante requiere que ejecute un dispositivo grande y sofisticado basado en Docker en una terminal, Ruby on Rails en otra y webpack en otra. También trabajó en otros proyectos que requieren múltiples ventanas de terminal y no me siento tan inusual. He escuchado de varios otros en esta situación. No es una mala situación, sólo es un poco engorrosa y molesta. Debo recordar todos los comandos y configurar mi aplicación de línea de comandos de una manera que me resulte cómoda. Para mí, dividir paneles es mejor que pestañas, aunque las pestañas para proyectos separados parecen estar bien.

Hice la pregunta en Twitter, por supuesto. Pensé en compilar las opciones aquí.

  • tmux fue la respuesta más popular. Estoy muy seguro de que no entiendo todo lo que puede hacer, pero creo que entiendo que crea paneles “falsos” dentro de una sesión de terminal que emula múltiples paneles. Por lo tanto, esos múltiples paneles se pueden configurar para abrir y ejecutar diferentes comandos simultáneamente. Esto me pareció interesante porque llegó literalmente días después, mi cofundador de CodePen nos informó a todos que el nuevo entorno de desarrollo en el que ha estado trabajando utilizará tmux.
    • Aquí hay una configuración de ejemplo para tmux.
    • tmuxinator le da una mejor configuración, ¿supongo?
  • Un tipo me señaló a Kitty y me dijo que para él se siente como un tmux adulto. Se puede configurar en diseños con comandos que se ejecutan al inicio.
  • Existen aplicaciones nativas para todas las plataformas que pueden ejecutar múltiples paneles.
    • macOS: llevo mucho tiempo usando iTerm, que divide muy bien los paneles. También puede recordar la disposición de las ventanas que ha usado, pero no veo ninguna opción integrada para activar comandos en esa disposición. El terminal nativo también puede realizar pestañas y dividir, pero se siente muy limitado.
    • Linux: terminador
    • Windows: el terminal predeterminado tiene paneles.
  • Hay cosas de npm para ejecutar múltiples scripts, como simultáneamente y npm-run-all, pero (¿creo?) se limitan a ejecutar solo scripts de npm, en lugar de cualquier comando de terminal. ¿Quizás puedas crear scripts npm para esos otros comandos? Pero incluso entonces, no creo que veas el resultado en diferentes paneles, por lo que probablemente sea mejor para scripts que se ejecutan y terminan en lugar de ejecutarse para siempre.

Siendo un usuario de Mac, estaba más interesado en soluciones que funcionaran con iTerm, ya que lo he usado de todos los modos. En lugar de una solución iTerm incorporada, aprenderá que era “programable”. Aparentemente, están eliminando el soporte de AppleScript a favor de Python pero, bueno, por ahora parece funcionar bien.

Básicamente esto es:

El codigo
tell application "iTerm"  tell current window    create window with default profile    tell current session of current tab      set name to "run.sh"      write text "cd '/Users/chriscoyier/GitHub/CPOR'"      write text "./run.sh"    end tell    create tab with default profile    tell current session of current tab      set name to "Rails"      write text "cd '/Users/chriscoyier/GitHub/CPOR'"      write text "nvm use"      write text "yarn"      write text "bundle install"      write text "yarn run rails"    end tell    create tab with default profile    tell current session of current tab      set name to "webpack"      write text "cd '/Users/chriscoyier/GitHub/CPOR'"      write text "nvm use"      write text "yarn"      write text "yarn run dev"    end tell    # split vertically    # tell application "System Events" to keystroke "d" using command down    # delay 1    # split horizontally    # tell application "System Events" to keystroke "d" using {shift down, command down}    # delay 1    # moving... (requires permission)    # tell application "System Events" to keystroke "]" using command down    end tellend tell

Simplemente abre ese script, presiona ejecutar y hace el trabajo. Dejé los comentarios allí porque me gustaría descubrir cómo hacer que haga la pantalla dividida como a mí me gusta, en lugar de pestañas, pero logré que esto funcionará y luego me volvió vago. Se sintió extraño tener que usar pulsaciones de teclas para hacerlo, así que pensé que si iba a profundizar, descubriría si su material más nuevo de Python lo admitiría más directamente o qué. También es gracioso que no me guste compilarlo en una pequeña mini aplicación o algo así. ¿No puede Automator hacer eso? Encogimiento de hombros.

La otra respuesta popular que recibí de la gente de Mac es que le piden a Alfred que haga el trabajo. Nunca me metí en Alfred, pero claramente hay cosas interesantes que puedes hacer con él.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion