Instale o Terminal do Windows: Uma visão geral prática das funcionalidades

Desenvolver software é um trabalho delicado. No final do dia, todo o trabalho consiste em escrever instruções em uma linguagem estranha para um interpretador exigente que irá fechar tudo com o qual você trabalhou. Bem, é hora de instalar o Terminal do Windows e descobrir uma maneira melhor.

Neste Guia Definitivo, você vai aprender sobre um dos melhores consoles disponíveis para desenvolvedores; o Terminal do Windows. Você terá uma visão completa de quase todas as funcionalidades do Terminal do Windows. Você aprenderá como ele pode ajudá-lo a realizar tarefas no Windows na linha de comando.

O Terminal do Windows melhora a experiência do console com recursos modernos de terminal como abas, painéis e até imagens de fundo. Você pode até ter um shell Linux completo em execução ao lado do Windows PowerShell ou cmd.exe sem ter que alternar entre sessões de console.

Este artigo será um guia sobre muitas capacidades do Terminal do Windows. Será um tutorial prático, então esteja preparado para começar a trabalhar!

Pré-requisitos

Os requisitos para instalar e usar o próprio Terminal do Windows são bastante básicos. Tudo o que você precisa é de um computador com Windows 10 com a compilação 1903 (maio de 2019) ou posterior. Se você quiser acompanhar todas as demonstrações neste artigo, precisará de algumas outras ferramentas instaladas também:

  • O recurso Windows Subsystem for Linux (WSL) ativado com uma distribuição Linux instalada (todas as demonstrações mostradas estão usando Ubuntu 20.04)
  • Visual Studio Code (VS Code)
  • Python com a biblioteca de texto rico instalada
  • Visual Studio 2019 ou posterior com:
  • O SDK do Windows 10 1903 instalado
  • O Componente de Desenvolvimento de Área de Trabalho com C++ Instalado
  • O Componente de Desenvolvimento da Plataforma Universal do Windows Instalado
  • O Componente de Ferramentas da Plataforma Universal do Windows C++ (v142) Instalado

Terminal vs. Console vs. Shell

Porque vamos cobrir muitos termos neste artigo, é importante primeiro entender algumas diferenças de terminologia para que você não fique confuso.

Mesmo que os conceitos sejam semelhantes, é importante observar que um terminal não é uma console, não é um shell. Cada um tem seu propósito específico. Scott Hanselman tem um ótimo post em seu blog sobre as definições de cada um, mas aqui está como eles serão usados neste artigo:

  • Terminal: O aplicativo Terminal do Windows.
  • Console: Qualquer aplicativo de host de console que não seja o Terminal do Windows.
  • Shell: O programa entre o terminal e o sistema operacional. (pwsh, cmd, zsh, etc.)

Instalar o Terminal do Windows

Existem algumas maneiras diferentes de instalar o Windows Terminal, mas a mais fácil de longe (e a recomendada pela Microsoft) é instalá-lo na Microsoft Store. Existem duas versões diferentes que você pode baixar; o Windows Terminal padrão e o Windows Terminal Preview.

Para os propósitos deste artigo, você pode usar qualquer um. A instalação é simples, então não vamos cobrir isso neste artigo e vamos presumir que você já o instalou.

Ao abrir o Windows Terminal pela primeira vez, ele não parece nem impressiona. Há muitos ajustes que você terá que fazer para chegar lá, mas tudo começa com uma janela como esta abaixo.

Default Windows terminal

Observe que o Windows Terminal possui quatro componentes principais:

  1. Janela do Terminal – Aqui é onde você fará a maior parte do seu trabalho e onde pode personalizar mais.
  2. Nome da Aba – O Windows Terminal suporta abas, o que significa que você pode ter shells diferentes
  3. Nova Aba – Este botão abrirá uma nova aba do seu perfil padrão
  4. Lista de Perfis – Esta lista mostrará os perfis disponíveis para abrir.

O Windows Terminal tem um layout minimalista, mas há muita funcionalidade escondida por trás dele.

Construindo o Terminal a partir do Código Fonte

Embora este seja o Terminal Windows, e ele vem da Microsoft, também é completamente open-source, o que significa que, se você quiser, pode contribuir para ele. É um programa C++ com uma comunidade muito ativa.

Mesmo que este seja um produto GA, no momento da escrita ainda há alguns bugs menores sendo corrigidos e recursos no roteiro para desenvolvimento futuro. Talvez seja você que ajude a contribuir com eles!

Se você é um desenvolvedor e realmente quer mergulhar no código, você pode compilar o Windows Terminal a partir do PowerShell, siga estes passos:

  1. Execute git submodule update --init --recursive para atualizar todos os submódulos do git
  2. Execute os comandos PowerShell abaixo:
Import-Module .\tools\OpenConsole.psm1
Set-MsBuildDevEnvironment
Invoke-OpenConsoleBuild

O arquivo settings.json: Personalizando todas as coisas

Eventualmente, você provavelmente vai querer tornar o terminal seu e personalizá-lo. Uma das melhores coisas sobre o Windows Terminal é o quão personalizável ele é. A maneira mais comum de personalizar o Windows Terminal é editando o arquivo settings.json localizado no diretório %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\.

Você também pode acessar o arquivo settings.json clicando na lista de perfis e selecionando Configurações.

O arquivo settings.json é onde você fará a maioria das customizações para o Windows Terminal até que uma opção gráfica esteja disponível.

A equipe do Windows Terminal prometeu em uma próxima versão que em breve será lançada uma interface gráfica para gerenciar as configurações!

Além de ter todas as configurações armazenadas em um único local conveniente, quando as configurações são armazenadas em um arquivo JSON, você pode colocar suas configurações no controle de origem ou fazer backup delas caso você mude entre máquinas diferentes.

Você até pode compartilhar as configurações com outras pessoas. Se quiser dar uma olhada em um exemplo de como é o arquivo settings.json, confira um aqui.

O Esquema settings.json

Se você está usando o Visual Studio Code, o terminal inclui um esquema JSON que ajudará a validar qualquer personalização que você fizer dentro de settings.json, incluindo o preenchimento automático de novas configurações.

Assim que suas alterações forem salvas (desde que settings.json ainda seja válido), as novas alterações serão refletidas imediatamente no terminal ou um erro será mostrado sem a necessidade de atualizar o terminal.

Embora o Visual Studio Code não seja necessário para editar JSON, é definitivamente recomendado quando se trata de personalizar o Windows Terminal.

Atualmente, existem quatro seções diferentes do arquivo settings.json que controlam a aparência e o comportamento do Windows Terminal: Globais, Perfis, Esquemas e Vínculos de Teclas. Vamos dar uma olhada em cada seção.

Globais

A seção globais é responsável por determinar o comportamento do Windows Terminal. Sempre no topo do arquivo, a seção globais controla coisas como confirmar ao fechar, tema visual e o perfil padrão. Você pode ver um exemplo no trecho de código a seguir.

// settings.json

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

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

    // Você pode adicionar mais configurações de aplicativo globais aqui.
    // Para saber mais sobre configurações globais, visite <https://aka.ms/terminal-global-settings>

    // Se ativado, seleções são automaticamente copiadas para sua área de transferência.
    "copyOnSelect": false,

    // Se ativado, dados formatados também são copiados para sua área de transferência
    "copyFormatting": false,

		...
		...
}

Perfis

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.

O Windows Terminal vem com três perfis por padrão: Windows PowerShell, cmd.exe e Azure Cloud Shell. Se você tiver o WSL instalado, também irá gerar um perfil para cada distribuição do WSL que você tiver instalada. Ele também inclui uma seção de padrões que aplicará configurações a todos os perfis no arquivo settings.json. Este é um ótimo lugar para colocar fontes compatíveis com Unicode, que serão abordadas mais adiante neste artigo.

Você pode ver um exemplo de como um perfil se parece no seguinte trecho de código.

// settings.json

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

Criando um Novo Perfil

Configurar perfis pode ser útil se você quiser adicionar variações na mesma shell, ou adicionar perfis remotos personalizados ao terminal.

Para criar um novo perfil do Windows Terminal em settings.json, aqui estão os passos que você precisará seguir:

Certifique-se de adicionar uma vírgula após cada perfil, exceto o último, para tornar o JSON válido.

  1. Copie qualquer perfil da sua seção de perfis. Estes começam em [ e terminam em ] sob o nó list no arquivo JSON. Isso está nas linhas sete a 14 acima.
  2. Gere um novo GUID executando [guid]::NewGuid() de qualquer sessão do PowerShell. Substitua o valor atual para guid no seu novo perfil pelo GUID que você gerou. GUIDs são gerados aleatoriamente quando o terminal configura os perfis padrão.
  3. Adicione ou mude quaisquer outros parâmetros para personalizar o perfil.
  4. Copie o conteúdo de settings.json e valide que ainda é válido executando-o através do JSON Lint ou outro verificador de JSON. Corrija quaisquer problemas.
  5. Salve suas alterações.

Há muitas opções disponíveis para configurar em um perfil. Tenha em mente que se você tiver uma configuração na seção de padrões em settings.json e tiver essa mesma configuração definida em seu novo perfil, você irá substituir o padrão. Para uma análise completa, confira a documentação de Configurações do Windows Terminal.

Esquemas

Esta seção refere-se a esquemas de cores para os perfis do Windows Terminal. Um esquema de cores informa ao terminal qual valor hexadecimal usar para cada cor que aparece no terminal. Como o terminal pode renderizar cores em 24 bits, essas cores podem ser bastante criativas. Cada esquema terá um nome e uma lista de cores que correspondem a um valor hexadecimal que pode ser facilmente alterado conforme mostrado abaixo.

// 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"
        }
    ]

Essas cores corresponderão às cores de fundo e de texto enquanto você estiver usando esse esquema no Windows Terminal. Se você tiver o settings.json aberto no Visual Studio Code, pode clicar nos valores hexadecimais que têm um controle deslizante gráfico que mostra as cores reais conforme visto abaixo.

VS Code color options

Temas do terminal (referidos como esquemas no Windows Terminal) não são incomuns no mundo dos programas de terminal. Embora não haja uma única maneira de criar um tema (esquema) que funcione em diferentes aplicativos de terminal, você pode encontrar muitas ferramentas por aí para criá-los, não importa qual aplicativo você use. Você pode encontrar um pronto facilmente, ou criar o seu próprio!

Atalhos

Os atalhos são como o Windows Terminal atribui teclas de atalho para ações como novos painéis, guias ou até mesmo ações básicas como copiar e colar. Existem muitas ações que podem ser atribuídas a atalhos personalizados, facilitando a personalização do terminal de qualquer maneira que seja confortável para você.

Você pode ver no trecho de código a seguir alguns atalhos padrão.

// 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" }
    ]

Agora, seu terminal pode começar a se comportar da maneira que você deseja, mas você ainda não terminou. Agora é hora de aprender a continuar personalizando a aparência e a sensação do terminal.

Configurações visuais

Quando você passa a maior parte de sua vida profissional olhando para texto em uma tela, vale a pena dar alguns passos extras para tornar esse texto mais fácil de ser visualizado. Seja mudando as fontes, tamanhos ou cores, dedicar um pouco de tempo à aparência do seu novo Terminal do Windows trará grandes benefícios após ficar olhando para ele durante um dia de trabalho completo.

Aprimoramentos de Texto

Uma das características mais anunciadas do Terminal do Windows é o suporte a cores de 24 bits e renderização de texto acelerada. Isso pode não parecer impressionante por si só, até você comparar com a forma como o powershell.exe ou o cmd.exe renderizam texto e cores. Usando a rich library do Python para demonstrar, fica bem claro o quão grande é a diferença na capacidade de renderização entre os consoles antigos e o Terminal do Windows.

Text enhancements in Windows Terminal

Abrindo a rich library do Python no Terminal do Windows e no powershell.exe

O Terminal do Windows também tem suporte para caracteres Unicode, o que significa que ele pode ser usado com outros alfabetos e símbolos, incluindo caracteres cirílicos, Kanji e qualquer outro caractere que será renderizado sem problemas. Isso se deve à Fonte Cascadia Code, que será abordada mais tarde.

Cascadia font

Escrevendo em Kanji japonês com o Terminal do Windows e o powershell.exe

Isso traz alguns benefícios óbvios de internacionalização, mas suportar Unicode e UTF-8 também significa que o Terminal do Windows também pode suportar…

Emoji ?

Os emojis podem não parecer uma coisa útil para incluir em uma ferramenta de linha de comando, mas estão se tornando cada vez mais comuns no desenvolvimento. Os engenheiros de software estão usando-os para rotular commits e problemas, responder rapidamente a mensagens com aplicativos como Slack ou Microsoft Teams, e até mesmo existe uma linguagem de programação de emoji. Embora alguns desses sejam definitivamente mais úteis do que outros, está claro que os emojis não estão indo a lugar algum.

Abaixo está um exemplo de renderização de emojis no console powershell.exe e o mesmo no Windows Terminal usando a biblioteca rich do Python. Note a linha O Terminal é bonito e veja a diferença.

Emojis in Windows Terminal

Exibindo emojis com a biblioteca de texto rico do Python

Fontes Cascadia

Como mencionado anteriormente, a fonte Cascadia Code é o que permite exibir alguns dos caracteres. Mas a fonte também tem algumas outras mudanças sutis que a tornam mais fácil de se olhar por horas a fio, como ligaduras.

Para sua informação: A mesma equipe que projetou o Windows Terminal criou a fonte Cascadia Code especificamente para uso no Windows Terminal.

Além dos caracteres especiais, a fonte Cascadia Code também suporta ligaduras. Ligaduras são símbolos que são renderizados um pouco diferente quando exibidos na tela. Você pode ver uma lista daquelas suportadas pela fonte Cascadia Code aqui.

Ligatures in Windows Terminal

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

Se preferir não usar ligaduras, mas ainda quiser os outros benefícios da fonte Cascadia Code, o Terminal do Windows também vem com uma fonte chamada Cascadia Mono que faz exatamente isso. Cada uma delas também possui uma variante para powerline, (Cascadia Code PL e Cascadia Mono PL), que serão abordadas a seguir.

Powerline

Powerline é originalmente um plugin do vim que adicionava informações ao shell e existe no mundo Linux há muito tempo. A ideia era fornecer mais informações no prompt, disponibilizando mais informações ao seu alcance enquanto trabalha no console.

O Powerline foi portado, clonado e replicado em todo shell moderno, incluindo o PowerShell, mas devido às limitações dos consoles anteriores, algo estava faltando. O terminal resolve esse problema incluindo símbolos específicos chamados glifos. Os glifos são usados no powerline para fornecer ao prompt muito mais informações de relance.

Powerline no PowerShell

Para o PowerShell, você pode configurar um prompt semelhante ao do powerline instalando oh-my-posh usando o código de exemplo abaixo.

# PowerShell

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

Uma vez instalado, seu prompt do PowerShell terá mais informações, incluindo o nome do branch do git e os commits entre repositórios remotos e locais. Você pode ver um exemplo abaixo.

Powerline support

Este é o tema Paradox do oh-my-posh com algumas personalizações para exibir o sistema operacional atual e a versão do PowerShell.

Powerline no Bash

Para o Bash, você precisará instalar um shell como zsh ou fishshell. Eles adicionam algumas funcionalidades e destaque personalizado ao terminal, mas podem ser um pouco difíceis de usar por conta própria. É recomendável que você também instale um framework para zsh como o ohmyzsh, que facilitará muito o uso. ohmyzsh vem com temas e personalização de prompt bash semelhante ao que oh-my-posh faz para um prompt PowerShell.

Uma vez instalado, você pode alterar o tema modificando a propriedade ZSH_THEME no arquivo ~/.zshrc. Altere isso usando um editor como vim ou nano e salve o arquivo. Uma vez feito isso, execute source ~/.zshrc e suas alterações serão aplicadas.

Powerline in Bash

Alterando do tema agnoster para o tema robbyrussell no zsh.

Imagens de Fundo

Uma das características mais comentadas do Windows Terminal em seu lançamento foi a capacidade de usar imagens em cada perfil. Até agora, você provavelmente notou que os planos de fundo todos têm sido de uma única cor definida no arquivo settings.json com a etiqueta background.

Algumas pessoas acham as imagens distraentes quando estão codificando, então se você é uma dessas pessoas, aqui está um exemplo de como usar um plano de fundo de cor única em settings.json.

// settings.json

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

Com uma única cor definida, essa cor se tornará o plano de fundo para esse perfil. Se nenhuma etiqueta de plano de fundo estiver definida em seu perfil, o Windows Terminal usará por padrão o que estiver em seu esquema.

Plain color background

O perfil de exemplo acima mostrará essa cor como o plano de fundo.

Para usar uma imagem de plano de fundo, você precisará ter a imagem em seu sistema de arquivos local. No momento da escrita, o Terminal não suporta imagens de plano de fundo de um URL. Em settings.json, navegue até o perfil ao qual deseja atribuir a imagem de plano de fundo. A partir daqui, adicione a etiqueta backgroundImage e atribua a ela o valor do caminho para a imagem. Abaixo está um exemplo que define o plano de fundo do perfil como uma imagem de um 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

Se você decidir personalizar seu próprio fundo, saiba que o terminal não leva em conta suas cores em relação ao fundo. O terminal irá usar por padrão as cores do esquema de perfil atual. Se você não tomar cuidado, pode colocar uma cor de fonte clara em um fundo claro, o que tornaria muito difícil de ler. Nem todos os fundos são bons para terminais.

O gato do terminal está em seu terminal, ocupando seu fundo.

Desde que settings.json ainda seja um arquivo JSON válido e ainda siga o esquema do terminal, você verá a atualização do fundo imediatamente, sem a necessidade de atualização manual ou fechar e reabrir o terminal. Você pode ver um ótimo exemplo dessa atualização em tempo real abaixo.

Real-time setting updates

O Terminal do Windows será atualizado assim que você fizer alterações no settings.json e salvar.

Posicionamento de Imagens

Você pode pensar que imagens são muito distrativas em uma janela de terminal, e podem ser. No entanto, elas também podem ser uma referência rápida se você precisar alternar entre guias e perfis com frequência. Abaixo está um exemplo de uso de uma imagem de fundo para destacar o shell sendo usado.

// 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 definir uma imagem de fundo, como mostrado acima, você precisa de três parâmetros adicionais que começam com backgroundImage para ajudar a controlar o tamanho, localização e opacidade da imagem na tela. Sempre lembre-se de verificar a documentação para ver quais opções estão disponíveis. Abaixo está um exemplo do perfil mostrado acima.

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

O Windows Terminal também suporta gifs animados, então se você não achar muito distrativo, também pode se divertir com seus perfis.

Animated GIFS in Windows Terminal

Comandos Avançados do Windows Terminal

Agora que seu terminal está configurado e personalizado conforme sua preferência, é hora de explorar algumas das capacidades mais avançadas do Windows Terminal.

Dividir Painéis com Kernels Diferentes

O Windows Terminal suporta múltiplos painéis. Isso significa que você pode executar sessões paralelas na mesma janela do Terminal. Esse comportamento não é novo. Outras aplicações de console têm suporte para painéis há anos. O Windows Terminal é diferente porque, como suporta perfis (em settings.json), você pode ter cada sessão aberta em seu próprio painel. Mesmo que cada sessão seja um sistema operacional completamente diferente, como ao usar WSL ou um perfil remoto (mais sobre perfis remotos em breve), você pode mostrar um painel para cada SO.

Para criar painéis divididos de diferentes perfis, no settings.json cada perfil deve ter sua própria tecla de ligação splitPane. Ao especificar o parâmetro profile com o nome ou o GUID do perfil do Terminal do Windows, você pode abrir cada um lado a lado.

A propriedade split pode ser definida como horizontal, vertical ou auto, que escolherá a orientação que fornece mais espaço com base no painel selecionado atualmente. Abaixo, você pode ver um exemplo de configuração de teclas para quatro painéis.


// 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 como o Terminal do Windows é aberto

Se você não gosta de teclas de atalho, ou deseja uma maneira rápida de abrir o terminal com o CLI, então está com sorte. O Terminal do Windows inclui um executável de linha de comando chamado wt que permite automatizar a abertura dele na configuração desejada.

Abaixo, você pode ver um exemplo de passagem de vários argumentos ao abrir o terminal, o que altera o comportamento.

Behavior changes in New Window Terminal

Perfis remotos

Maioria das vezes, seus perfis estarão executando shells locais. No entanto, o Terminal do Windows também pode exibir sessões remotas por meio de um conceito chamado perfis remotos também!

Se você der uma olhada em outros perfis de exemplo para o Terminal do Windows, pode notar que alguns deles não estão usando aplicativos .exe. O Terminal do Windows é flexível o suficiente para que você possa até mesmo usar o comando ssh ou o comando Enter-PsSession do PowerShell para criar perfis que mapeiam servidores remotos ou outros shells. Você pode até usar terraform console para iniciar uma sessão do Terraform! Você pode ver um exemplo disso no perfil abaixo.

Ao usar o parâmetro commandline na seção de perfil do arquivo settings.json, você pode abrir praticamente qualquer coisa como seu próprio Perfil do Terminal do Windows que não precisa fazer login de forma interativa.

// 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

Abrindo o REPL do Python e uma conexão SSH para uma instância AWS EC2 com perfis do Terminal do Windows

Resumo

Neste ponto, você não só deve estar familiarizado com o Terminal do Windows, mas também ter configurado suas configurações personalizadas e ter uma configuração bastante confortável configurada. Você deve ser capaz de personalizar perfis e teclas de atalho para controlar a aparência e o funcionamento do terminal, além de saber como modificar as fontes, glifos e caracteres que você pode usar no terminal.

As ferramentas de linha de comando não vão a lugar algum. Desenvolvedores e engenheiros precisam continuar usando-as. O novo Terminal do Windows não impedirá o desenvolvimento de software de ser um trabalho onde você fica olhando para texto pequeno em uma tela, mas pode torná-lo muito mais fácil de continuar fazendo isso!

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