Instalar Windows Terminal: Una Visión General Práctica de las Funciones

Desarrollar software es un trabajo complicado. Al final del día, todo el trabajo consiste en escribir instrucciones en un lenguaje extraño para un intérprete exigente que cerrará todo en lo que hayas trabajado. Bueno, es hora de instalar Windows Terminal y descubrir una mejor manera.

En esta Guía Definitiva, aprenderás sobre una de las mejores consolas disponibles para desarrolladores: el Windows Terminal. Obtendrás una descripción completa de casi todas las características del Windows Terminal. Aprenderás cómo puede ayudarte a realizar tareas en Windows en la línea de comandos.

Windows Terminal mejora la experiencia de la consola con características modernas de terminal como pestañas, paneles e incluso imágenes de fondo. Incluso puedes tener una shell completa de Linux ejecutándose junto a Windows PowerShell o cmd.exe sin tener que cambiar entre sesiones de consola.

Este artículo será un recorrido por muchas capacidades del Windows Terminal. Será un tutorial práctico en todo momento, así que ¡prepárate para ponerte a trabajar!

Prerrequisitos

Los requisitos para instalar y usar el Windows Terminal en sí son bastante básicos. Todo lo que necesitas es una máquina con Windows 10 con la versión 1903 (mayo de 2019) o posterior. Si deseas seguir todos los demos en este artículo, también necesitarás instalar algunas otras herramientas:

  • La característica Subsistema de Windows para Linux (WSL) habilitada con una distribución de Linux instalada (todos los demos mostrados utilizan Ubuntu 20.04)
  • Visual Studio Code (VS Code)
  • Python con la biblioteca de texto enriquecido instalada
  • Visual Studio 2019 o posterior con:
  • El SDK de Windows 10 1903 instalado
  • El Componente de Desarrollo de Escritorio con C++ Instalado
  • El Componente de Desarrollo de Plataforma Universal de Windows Instalado
  • El Componente de Herramientas de Plataforma Universal de Windows C++ (v142) Instalado

Terminal vs. Consola vs. Shell

Dado que cubriremos muchos términos en este artículo, es importante comprender primero algunas diferencias de terminología para que no te confundas.

Aunque los conceptos son similares, es importante tener en cuenta que un terminal no es lo mismo que una consola ni una shell. Cada uno tiene su propio propósito específico. Scott Hanselman tiene una gran publicación en su blog sobre las definiciones de cada uno, pero aquí está cómo se usarán en este artículo:

  • Terminal: La aplicación Terminal de Windows.
  • Consola: Cualquier aplicación de host de consola que no sea la Terminal de Windows.
  • Shell: El programa entre el terminal y el sistema operativo. (pwsh, cmd, zsh, etc.)

Instalar Terminal de Windows

Hay varias formas diferentes de instalar Windows Terminal, pero la más fácil con diferencia (y la recomendada por Microsoft) es instalarlo desde la Tienda Microsoft. Hay dos versiones diferentes que puedes descargar; el Terminal estándar de Windows y el Vista previa del Terminal de Windows.

Para los propósitos de este artículo, puedes usar cualquiera de ellos. La instalación es sencilla, así que no la cubriremos en este artículo y asumiremos que ya la has realizado.

Cuando abras Windows Terminal por primera vez, no se ve ni se siente impresionante. Hay muchos ajustes que tendrás que hacer para llegar allí, pero todo comienza con una ventana como esta debajo.

Default Windows terminal

Observa que el Terminal de Windows tiene cuatro componentes principales:

  1. Ventana del terminal: Aquí es donde realizarás la mayor parte de tu trabajo y donde puedes personalizar más.
  2. Nombre de la pestaña: Windows Terminal admite pestañas, lo que significa que puedes tener diferentes shells
  3. Nueva pestaña: Este botón abrirá una nueva pestaña de tu perfil predeterminado
  4. Lista de perfiles: Esta lista mostrará los perfiles que están disponibles para abrir.

El Terminal de Windows tiene un diseño minimalista, pero hay mucha funcionalidad oculta detrás de él.

Construyendo el Terminal desde la Fuente

Mientras que esta es la Terminal de Windows, y proviene de Microsoft, también es completamente de código abierto, lo que significa que si quieres, puedes contribuir a ella. Es un programa en C++ con una comunidad muy activa.

A pesar de que este es un producto GA, en el momento de escribir esto todavía hay algunos errores menores que se están abordando y características en el mapa de ruta para el desarrollo futuro. ¡Quizás seas tú quien contribuya a ellos!

Si eres un desarrollador y realmente quieres meterte en el código, puedes compilar la Terminal de Windows desde PowerShell, sigue estos pasos:

  1. Ejecuta git submodule update --init --recursive para actualizar todos los submódulos de git
  2. Ejecuta los siguientes comandos de PowerShell:
Import-Module .\tools\OpenConsole.psm1
Set-MsBuildDevEnvironment
Invoke-OpenConsoleBuild

El archivo settings.json: Personalizando todas las cosas

Eventualmente, probablemente querrás hacer que la terminal sea tuya y personalizarla. Una de las mejores cosas de Windows Terminal es lo personalizable que es. La forma más común de personalizar la Terminal de Windows es editando el archivo settings.json ubicado en el directorio %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\.

También puedes acceder al archivo settings.json haciendo clic en la lista de perfiles y seleccionando Configuración.

El archivo settings.json es donde realizarás la mayoría de las personalizaciones para la Terminal de Windows hasta que esté disponible una opción gráfica.

El equipo de Windows Terminal ha prometido en una próxima versión que pronto lanzarán una interfaz gráfica para gestionar la configuración.

Además de tener todas las configuraciones almacenadas en un lugar conveniente, cuando las configuraciones se guardan en un archivo JSON, puedes ponerlas en control de origen o hacer una copia de seguridad en caso de que cambies entre diferentes máquinas.

Incluso puedes compartir las configuraciones con otros. Si quieres echar un vistazo a un ejemplo de cómo se ve un archivo settings.json, míralo aquí.

El Esquema de settings.json

Si estás utilizando Visual Studio Code, la terminal incluye un esquema JSON que te ayudará a validar cualquier personalización que realices dentro de settings.json, incluyendo el autocompletado de nuevas configuraciones.

Tan pronto como se guardan los cambios (siempre que settings.json siga siendo válido), los nuevos cambios se reflejarán de inmediato en la terminal o se mostrará un error sin necesidad de actualizar la terminal.

Aunque no es necesario usar Visual Studio Code para editar JSON, definitivamente se recomienda cuando se trata de personalizar el Windows Terminal.

Actualmente hay cuatro secciones diferentes de settings.json que controlan la apariencia y la funcionalidad de Windows Terminal: Globals, Profiles, Schemes y Key Bindings. Echemos un vistazo a cada sección.

Globals

La sección de globales es responsable de determinar el comportamiento de Windows Terminal. Siempre se encuentra en la parte superior del archivo y controla cosas como la confirmación al cerrar, el tema visual y el perfil predeterminado. Puedes ver un ejemplo en el siguiente fragmento de código.

// settings.json

{
    "$schema": "<https://aka.ms/terminal-profiles-schema>",

    "defaultProfile": "{d21f5dd0-bdc3-4cf7-9e3c-5d5d721074c9}",

    // Puedes añadir más ajustes globales de aplicación aquí.
    // Para obtener más información sobre los ajustes globales, visita <https://aka.ms/terminal-global-settings>

    // Si está habilitado, las selecciones se copian automáticamente en el portapapeles.
    "copyOnSelect": false,

    // Si está habilitado, los datos formateados también se copian en el portapapeles.
    "copyFormatting": false,

		...
		...
}

Profiles

A profile is a configuration of the Windows Terminal that has its own shell, theme, and settings. When you open up a Windows Terminal profile, it will open a session with the assigned shell, environment, or WSL distribution. This means you can have different shells open at the same time, or different sessions of the same shell, which can be useful when testing code cross-platform or need to run a background process.

Windows Terminal viene con tres perfiles por defecto: Windows PowerShell, cmd.exe y Azure Cloud Shell. Si tienes WSL instalado, también generará un perfil para cada distribución de WSL instalada. También incluye una sección de defaults que aplicará ajustes a todos los perfiles en settings.json. Este es un buen lugar para poner fuentes compatibles con Unicode, que se explicarán más adelante en este artículo.

Puedes ver un ejemplo de cómo se ve un perfil en el siguiente fragmento de código.

// settings.json

"profiles":
    {
        "defaults": {},
        "list":
        [
            {
                "guid": "{d2df7eb9-1d7e-4a05-91a6-04ac0ee99970}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            }
				]
		}

Creación de un Nuevo Perfil

Configurar perfiles puede ser útil si deseas agregar variaciones en la misma terminal o agregar perfiles remotos personalizados al terminal.

Para crear un nuevo perfil de Windows Terminal en settings.json, aquí están los pasos que necesitarás seguir:

Asegúrate de agregar una coma después de cada perfil excepto el último para que el JSON sea válido.

  1. Copia cualquier perfil de tu sección de perfiles. Estos comienzan en [ y terminan en ] bajo el nodo list en el archivo JSON. Estas son las líneas siete a 14 arriba.
  2. Genera un nuevo GUID ejecutando [guid]::NewGuid() desde cualquier sesión de PowerShell. Reemplaza el valor actual de guid en tu nuevo perfil con el GUID que generaste. Los GUID se generan aleatoriamente cuando la terminal configura los perfiles predeterminados.
  3. Agrega o cambia cualquier otro parámetro para personalizar el perfil.
  4. Copia el contenido de settings.json y valida que aún sea válido ejecutándolo a través de JSON Lint u otro validador de JSON. Corrige cualquier problema.
  5. Guarda tus cambios.

Hay muchas opciones disponibles para configurar en un perfil. Ten en cuenta que si tienes un ajuste en la sección de valores predeterminados en settings.json, y tienes ese mismo ajuste configurado en tu nuevo perfil, sobrescribirás el valor predeterminado. Para obtener un desglose completo, consulta la documentación de Configuración de Windows Terminal.

Esquemas

Esta sección se refiere a los esquemas de color para tus perfiles de Windows Terminal. Un esquema de color indica al terminal qué valor hexadecimal usar para cada color que aparece en el terminal. Dado que el terminal puede representar colores en 24 bits, estos colores pueden ser bastante creativos. Cada esquema tendrá un nombre y una lista de colores que se asignan a un valor hexadecimal que puede cambiarse fácilmente como se muestra a continuación.

// settings.json

"schemes": [
        {
            "name" : "Ubuntu",
            "background" : "#2C001E",
            "black" : "#4E9A06",
            "blue" : "#3465A4",
            "brightBlack" : "#b3b3b3",
            "brightBlue" : "#729FCF",
            "brightCyan" : "#34E2E2",
            "brightGreen" : "#8AE234",
            "brightPurple" : "#AD7FA8",
            "brightRed" : "#EF2929",
            "brightWhite" : "#EEEEEE",
            "brightYellow" : "#FCE94F",
            "cyan" : "#06989A",
            "foreground" : "#EEEEEE",
            "green" : "#300A24",
            "purple" : "#75507B",
            "red" : "#CC0000",
            "white" : "#D3D7CF",
            "yellow" : "#C4A000"
        }
    ]

Estos colores corresponderán a los colores de fondo y texto mientras estás usando ese esquema en Windows Terminal. Si tienes settings.json abierto en Visual Studio Code, puedes hacer clic en los valores hexadecimales que tienen un control deslizante gráfico que muestra los colores reales como se muestra a continuación.

VS Code color options

Los temas de terminal (llamados esquemas en Windows Terminal) no son raros en el mundo de los programas de terminal. Si bien no hay una única forma de crear un tema (esquema) que funcione en diferentes aplicaciones de terminal, puedes encontrar muchas herramientas para hacerlos, sin importar la aplicación que uses. Puedes encontrar uno predefinido fácilmente, ¡o crear el tuyo propio!

Atajos de teclado

Los atajos de teclado son la forma en que Windows Terminal asigna teclas de acceso rápido para acciones como nuevas divisiones, pestañas o incluso acciones básicas como copiar y pegar. Hay muchas acciones que pueden asignarse a teclas de acceso rápido personalizadas, lo que facilita la personalización del terminal de cualquier manera que te resulte cómoda.

Puedes ver en el siguiente fragmento de código algunos atajos de teclado predeterminados.

// settings.json

"keybindings":
    [
        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": "paste", "keys": "ctrl+v" },
        { "command": "find", "keys": "ctrl+f" },
        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+d" },
        { "command": { "action": "closePane" }, "keys": "ctrl+w" },
        { "command": { "action": "newTab" }, "keys": "ctrl+t" }
    ]

Para este punto, es posible que tu terminal comience a comportarse como deseas, pero aún no has terminado. Ahora es el momento de aprender cómo seguir personalizando el aspecto y la sensación del terminal.

Ajustes visuales

Cuando pasas la mayoría de tu vida laboral mirando texto en una pantalla, vale la pena tomar algunos pasos adicionales para hacer que ese texto sea más fácil de ver. Ya sea cambiando las fuentes, tamaños o colores, dedicar un poco de tiempo a la apariencia de tu nuevo Terminal de Windows dará enormes beneficios después de mirarlo durante todo el día de trabajo.

Mejoras de texto

Una de las características más anunciadas del Terminal de Windows es el soporte de color de 24 bits y la renderización acelerada de texto. Eso puede no sonar impresionante por sí solo hasta que lo compares con cómo powershell.exe o cmd.exe renderizan texto y color. Usando la biblioteca rica de Python para demostrar, queda bastante claro cuán grandes son las diferencias en la capacidad de renderización entre las consolas antiguas y el Terminal de Windows.

Text enhancements in Windows Terminal

Abriendo la biblioteca rica desde Python en el Terminal de Windows y powershell.exe

El Terminal de Windows también tiene soporte para caracteres Unicode, lo que significa que se puede utilizar con otros alfabetos y símbolos, incluidos caracteres cirílicos, kanji y cualquier otro carácter que se renderizará sin problemas. Eso se debe a la Fuente Cascadia Code, que se cubrirá más adelante.

Cascadia font

Escribiendo en japonés Kanji con el Terminal de Windows y powershell.exe

Esto tiene algunos beneficios de internacionalización obvios, pero el soporte de Unicode y UTF-8 también significa que el Terminal de Windows también puede admitir…

Emoji ?

Los emojis pueden no parecer útiles para incluir en una herramienta de línea de comandos, pero se están convirtiendo cada vez más en una parte fundamental del desarrollo. Los ingenieros de software los utilizan para etiquetar confirmaciones y problemas, responder rápidamente a mensajes con aplicaciones como Slack o Microsoft Teams, e incluso existe un lenguaje de programación de emojis. Aunque algunos de estos son definitivamente más útiles que otros, está claro que los emojis no van a desaparecer.

A continuación se muestra un ejemplo de cómo se representan los emojis en la consola de powershell.exe y lo mismo en el Terminal de Windows utilizando la biblioteca rich de Python. Observa la línea La Terminal es bonita y nota la diferencia.

Emojis in Windows Terminal

Mostrando emojis con la biblioteca de texto enriquecido de Python

Fuentes Cascadia

Como se mencionó anteriormente, la fuente Cascadia Code es la que permite mostrar algunos de los caracteres. Pero la fuente también tiene algunos cambios sutiles que facilitan la visualización durante horas, como las ligaduras.

Nota: El mismo equipo que diseñó el Terminal de Windows creó la fuente Cascadia Code específicamente para su uso en el Terminal de Windows.

Además de los caracteres especiales, la fuente Cascadia Code también admite ligaduras. Las ligaduras son símbolos que se representan de manera ligeramente diferente cuando se muestran en la pantalla. Puedes ver una lista de las que son compatibles con Cascadia Code [aquí]().

Ligatures in Windows Terminal

A printout of all the ligatures supported by Cascadia Code. Code here.

Si prefieres no utilizar ligaduras pero aún así deseas disfrutar de los demás beneficios de Cascadia Code, Windows Terminal también incluye una fuente llamada Cascadia Mono que hace exactamente eso. Cada una de ellas también tiene una variante para powerline, (Cascadia Code PL y Cascadia Mono PL), que se cubrirá a continuación.

Powerline

Powerline es originalmente un complemento de vim que agregaba información a la shell y ha existido en el mundo Linux durante mucho tiempo. La idea era proporcionar más información en el indicador, haciendo más información disponible al alcance de tus dedos mientras trabajas en la consola.

Powerline se ha portado, clonado y replicado en todas las shells modernas, incluido PowerShell, pero debido a las limitaciones de las consolas anteriores, le faltaba algo. La terminal resuelve ese problema al incluir símbolos específicos llamados glifos. Los glifos se utilizan en powerline para proporcionar al indicador mucha más información de un vistazo.

Powerline en PowerShell

Para PowerShell, puedes configurar un indicador similar a powerline instalando oh-my-posh utilizando el código de ejemplo a continuación.

# PowerShell

Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
Set-Prompt

Una vez instalado, tu indicador de PowerShell tendrá más información, incluido el nombre de la rama git y los commits entre repositorios remotos y locales. Puedes ver un ejemplo a continuación.

Powerline support

Este es el tema Paradox de oh-my-posh con algunas personalizaciones para mostrar el sistema operativo actual y la versión de PowerShell.

Powerline en Bash

Para Bash, necesitarás instalar un shell como zsh o fishshell. Estos añaden algunas características y resaltado personalizado al terminal, pero pueden ser un poco difíciles de usar por sí mismos. Se recomienda también instalar un framework para zsh como ohmyzsh, lo que facilitará mucho su uso. ohmyzsh viene con temas y personalización del indicador de bash similar a cómo lo hace oh-my-posh para un indicador de PowerShell.

Una vez instalado, puedes cambiar el tema modificando la propiedad ZSH_THEME en el archivo ~/.zshrc. Cambia eso usando un editor como vim o nano y guarda el archivo. Una vez hecho esto, ejecuta source ~/.zshrc y se aplicarán tus cambios.

Powerline in Bash

Cambiando del tema agnoster al tema robbyrussell en zsh.

Imágenes de fondo

Una de las características más comentadas del Terminal de Windows al momento de su lanzamiento fue la capacidad de utilizar imágenes en cada perfil. Hasta ahora, probablemente hayas notado que los fondos han sido de un solo color definido en el archivo settings.json con la etiqueta background.

Algunas personas encuentran que las imágenes pueden ser distractivas cuando están programando, así que si eres una de esas personas, aquí tienes un ejemplo de cómo usar un fondo de un solo color en settings.json.

// settings.json

"profiles":
    {
        "defaults": {},
        "list":
        [
            {
                "guid": "{d2df7eb9-1d7e-4a05-91a6-04ac0ee99970}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
								"background": "#006e1c",
                "hidden": false
            }
				]
		}

Con un solo color establecido, ese color se convertirá en el fondo para ese perfil. Si no se establece ninguna etiqueta de fondo en tu perfil, el Terminal de Windows utilizará por defecto lo que esté en tu esquema.

Plain color background

El perfil de ejemplo anterior mostrará este color como fondo.

Para usar una imagen de fondo, necesitarás tener la imagen en tu sistema de archivos local. En el momento de escribir esto, el Terminal no admite imágenes de fondo desde una URL. En settings.json, navega hasta el perfil al que deseas asignar la imagen de fondo. Desde aquí, agrega la etiqueta backgroundImage y dale el valor de la ruta de la imagen. A continuación, tienes un ejemplo que establece el fondo del perfil como una imagen de un gato.

// settings.json

"profiles":
    {
        "defaults": {},
        "list":
        [
            {
                "guid": "{d2df7eb9-1d7e-4a05-91a6-04ac0ee99970}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
								"backgroundImage": "%USERPROFILE%\Pictures\terminal_cat.jpg",
                "hidden": false
            }
				]
		}
Images in Windows terminal background

Si decides personalizar tu propio fondo, ten en cuenta que la terminal no tiene en cuenta tus colores en comparación con tu fondo. La terminal se ajustará automáticamente a los colores que están en el esquema actual de tu perfil. Si no tienes cuidado, podrías poner una fuente de color claro en un fondo de color claro, lo que haría que sea realmente difícil de leer. No todos los fondos son adecuados para la terminal.

El cat del terminal está en tu terminal, ocupando tu fondo.

Mientras settings.json siga siendo un archivo JSON válido y aún se ajuste al esquema del terminal, verás la actualización del fondo de inmediato sin necesidad de actualizar manualmente o cerrar y volver a abrir la terminal. Puedes ver un gran ejemplo de esta actualización en tiempo real a continuación.

Real-time setting updates

La Terminal de Windows se actualizará tan pronto como realices cambios en settings.json y guardes.

Posicionamiento de Imágenes

Es posible que pienses que las imágenes son demasiado distractivas en una ventana de terminal, y pueden serlo. Sin embargo, también pueden ser una referencia rápida si necesitas cambiar entre pestañas y perfiles con frecuencia. A continuación se muestra un ejemplo de cómo utilizar una imagen de fondo para resaltar la shell que se está utilizando.

// settings.json

"profiles":
    {
        "defaults": {},
        "list":
        [
            {
                "guid": "{d8a5efb7-25a0-4d75-8c6c-1f2603188971}",
                "name": "PowerShell 7",
                "source": "Windows.Terminal.PowershellCore",
								"backgroundImage": "%USERPROFILE%\Pictures\icons\pwsh.png",
								"backgroundImageStretchMode": "none",
                "backgroundImageAlignment": "bottomRight",
								"backgroundImageOpacity": 0.75,
                "hidden": false
            }
				]
		}

Para establecer una imagen de fondo, como se muestra arriba, necesitas tres parámetros adicionales que comiencen con backgroundImage para ayudar a controlar el tamaño, la ubicación y la opacidad de la imagen en la pantalla. Recuerda siempre revisar la documentación para ver qué opciones están disponibles. A continuación, se muestra un ejemplo del perfil mencionado anteriormente.

A PowerShell 7 profile with the PowerShell logo as a background image

La Terminal de Windows también admite gifs animados, así que si no te resulta demasiado distraído, también puedes divertirte con tus perfiles.

Animated GIFS in Windows Terminal

Comandos avanzados de la Terminal de Windows

Entonces, ahora que tu terminal está configurada y personalizada a tu gusto, es hora de explorar algunas de las capacidades más avanzadas de la Terminal de Windows.

División de paneles con diferentes kernels

La Terminal de Windows admite múltiples paneles. Esto significa que puedes ejecutar sesiones paralelas en la misma ventana de la terminal. Este comportamiento no es nuevo. Otras aplicaciones de consola han tenido soporte para paneles durante años. La Terminal de Windows es diferente porque, dado que admite perfiles (en settings.json), puedes tener cada sesión abierta en su propio panel. Incluso si cada sesión es un sistema operativo completamente diferente, como cuando se utiliza WSL o un perfil remoto (más sobre perfiles remotos en un momento), puedes mostrar un panel para cada sistema operativo.

Para crear paneles divididos de perfiles diferentes, en settings.json, cada perfil debe tener su propia combinación de teclas splitPane. Al especificar el parámetro profile con el nombre o el GUID del perfil de Windows Terminal, puedes abrir cada uno lado a lado.

La propiedad split se puede configurar como horizontal, vertical o auto, lo que elegirá la orientación que proporcione más espacio según el panel seleccionado actualmente. A continuación, se muestra un ejemplo de configuración de combinaciones de teclas para cuatro paneles.


// settings.json

"keybindings":
    [
        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+d" },
        { "command": { "action": "splitPane", "split": "auto", "profile": "Windows PowerShell" }, "keys": "ctrl+alt+1" },
        { "command": { "action": "splitPane", "split": "auto", "profile": "Command Prompt" }, "keys": "ctrl+alt+2" },
				{ "command": { "action": "splitPane", "split": "auto", "profile": "a4b7092a-6825-422c-bdb8-89b9251f4d7d" }, "keys": "ctrl+alt+4" }
    ]
The Windows Terminal with 4 different profiles open in different panes. (PowerShell 7, Ubuntu 20.04, PowerShell 5.1 and Azure Cloud Shell)

Personalizando cómo se abre el Windows Terminal

Si no te gustan las teclas de acceso rápido o deseas una forma rápida de abrir la terminal con la CLI, estás de suerte. Windows Terminal incluye un ejecutable de línea de comandos llamado wt que te permite automatizar su apertura con la configuración que desees.

A continuación, puedes ver un ejemplo de cómo pasar varios argumentos al abrir la terminal para cambiar su comportamiento.

Behavior changes in New Window Terminal

Perfiles remotos

La mayor parte del tiempo, tus perfiles ejecutarán shells locales. Sin embargo, Windows Terminal también puede mostrar sesiones remotas a través de un concepto llamado perfiles remotos.

Si echas un vistazo a otros perfiles de ejemplo para el Terminal de Windows, puede que notes que algunos de ellos ni siquiera utilizan aplicaciones .exe. El Terminal de Windows es lo suficientemente flexible como para que incluso puedas usar el comando ssh o el comando Enter-PsSession de PowerShell para crear perfiles que se asignen a servidores remotos u otras shells. ¡Incluso puedes usar terraform console para iniciar una sesión de Terraform! Puedes ver un ejemplo de eso en el perfil a continuación.

Al utilizar el parámetro commandline en la sección de perfil de settings.json, puedes abrir casi cualquier cosa como su propio perfil de Terminal de Windows que no necesite iniciar sesión de forma interactiva.

// settings.json

"profiles":
    {
        "defaults": {},
        "list":
        [
            {
                "guid": "{f74c374e-d9ce-4f53-b3f1-072e020f08a5}",
                "name": "Python REPL",
                "backgroundImage": "%USERPROFILE%\Pictures\icons\python.png",
                "commandline": "python",
                "hidden": false                
            },
            {
                "guid": "{98a15d46-813c-4d1e-badd-5a22798e73c1}",
                "name": "Test EC2 Instance",
                "backgroundImage": "%USERPROFILE%\Pictures\icons\vm.jpg",
                "commandline": "ssh -i %USERPROFILE%\demos.pem [email protected]",
                "hidden": false                
            }
        ]
    }
Renaming profiles

Abriendo el REPL de Python y una conexión SSH a una instancia EC2 de AWS con perfiles de Terminal de Windows

Resumen

En este punto, no solo deberías estar familiarizado con el Terminal de Windows, sino también haber configurado tus ajustes personalizados y tener una configuración bastante cómoda establecida. Deberías poder personalizar perfiles y combinaciones de teclas para controlar el aspecto y el funcionamiento del terminal, así como saber cómo modificar las fuentes, glifos y caracteres que puedes utilizar en el terminal.

Las herramientas de línea de comandos no van a desaparecer. Los desarrolladores e ingenieros por igual necesitan seguir utilizándolas. El nuevo Terminal de Windows no evitará que el desarrollo de software sea un trabajo en el que se mira texto pequeño en una pantalla, ¡pero podría hacerlo mucho más fácil seguir haciéndolo!

Source:
https://adamtheautomator.com/install-windows-terminal/