Instalar o Terminal do Windows: Uma Visão 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 intérprete exigente que vai fechar tudo em que você trabalhou. Bem, é hora de instalar o Windows Terminal e descobrir uma maneira melhor.

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

O Windows Terminal aprimora a experiência do console com recursos modernos 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 precisar alternar entre sessões de console.

Este artigo será um guia sobre muitas capacidades do Windows Terminal. Será um tutorial prático ao longo de todo o processo, então esteja preparado para colocar a mão na massa!

Pré-requisitos

Os requisitos para instalar e usar o próprio Windows Terminal 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) habilitado com uma distribuição Linux instalada (todas as demonstrações mostradas estão usando o 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 Desktop 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

Como iremos abordar muitos termos neste artigo, é importante primeiro entender algumas diferenças de terminologia para não se confundir.

Mesmo que os conceitos sejam semelhantes, é importante notar que um terminal não é um 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 Windows Terminal.
  • Console: Qualquer aplicativo host de console que não seja o Windows Terminal.
  • Shell: O programa entre o terminal e o sistema operacional. (pwsh, cmd, zsh, etc.)

Instalar o Windows Terminal

Existem algumas maneiras diferentes de instalar o Windows Terminal, mas a mais fácil de longe (e a recomendada pela Microsoft) é instalá-lo pela 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 é direta, então não vamos cobrir isso neste artigo e vamos assumir que você já o instalou.

Quando você abrir o Windows Terminal pela primeira vez, ele não vai parecer ou se sentir impressionante. Existem 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 tem quatro componentes principais:

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

O Windows Terminal tem um layout minimalista, mas há muitas funcionalidades escondidas por trás dele.

Construindo o Terminal a partir do código-fonte

Enquanto este é o Terminal do Windows, e ele vem da Microsoft, também é completamente de código aberto, o que significa que, se desejar, pode contribuir para ele. É um programa em C++ com uma comunidade muito ativa.

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

Se você é um desenvolvedor e realmente deseja mergulhar no código, pode compilar o Windows Terminal a partir do PowerShell, seguindo estas etapas:

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

O arquivo settings.json: Personalizando tudo

Eventualmente, você provavelmente vai querer tornar o terminal personalizado 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 personalizaçõ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 configurações!

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

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

O Esquema do 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 do settings.json, incluindo preenchimento automático para novas configurações.

Assim que as alterações forem salvas (desde que o 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 obrigatório para editar JSON, é definitivamente recomendado quando se trata de personalizar o Windows Terminal.

Existem atualmente quatro seções diferentes de settings.json que controlam a aparência e o comportamento do Windows Terminal: Globais, Perfis, Esquemas e Atalhos. Vamos dar uma olhada em cada seção.

Globais

A seção de globais é responsável por determinar o comportamento do Windows Terminal. Sempre no topo do arquivo, a seção global controla coisas como confirmação 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 globais do aplicativo aqui.
    // Para saber mais sobre configurações globais, visite <https://aka.ms/terminal-global-settings>

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

    // Se ativado, dados formatados também são copiados para a á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 gerará um perfil para cada distribuição do WSL que você tiver instalado. Ele também inclui uma seção de padrões que aplicará configurações a cada perfil em settings.json. Este é um ótimo lugar para colocar fontes compatíveis com Unicode, o que será abordado mais tarde neste artigo.

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

// 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ê deseja adicionar variações na mesma shell ou adicionar perfis remotos personalizados ao terminal.

Para criar um novo perfil no Windows Terminal em settings.json, siga as etapas abaixo:

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 de 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 altere 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 JSON. Corrija quaisquer problemas.
  5. Salve suas alterações.

Existem 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 no arquivo settings.json e tiver essa mesma configuração definida em seu novo perfil, você substituirá o padrão. Para uma explicação completa, confira a documentação de Configurações do Windows Terminal.

Esquemas

Esta seção refere-se aos esquemas de cores para os seus perfis do Windows Terminal. Um esquema de cores diz 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, como mostrado 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 fazer o seu próprio!

Atalhos de Teclado

Atalhos de teclado são como o Windows Terminal atribui teclas de atalho para ações como novos painéis, abas, ou até mesmo ações básicas como copiar e colar. Há uma grande quantidade de ações que podem ser atribuídas a atalhos personalizados, tornando fácil personalizar o terminal da maneira que for mais confortável para você.

Você pode ver no trecho de código a seguir alguns atalhos de teclado 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 como continuar personalizando a aparência e sensação do terminal.

Configurações Visuais

Quando você passa a maioria da sua vida profissional encarando 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 Windows Terminal trará grandes benefícios depois de ficar encarando-o por um dia inteiro de trabalho.

Aprimoramentos de Texto

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

Text enhancements in Windows Terminal

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

O Windows Terminal também oferece suporte a caracteres Unicode, o que significa que 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 posteriormente.

Cascadia font

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

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

Emoji ?

Emoji pode não parecer algo útil para incluir em uma ferramenta de linha de comando, mas eles estão se tornando cada vez mais uma parte fundamental no desenvolvimento. Engenheiros de software os estão utilizando 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, fica claro que os emojis não vão a lugar algum.

Abaixo está um exemplo de renderização de emojis no console do powershell.exe e o mesmo no Windows Terminal usando a biblioteca rich do Python. Observe 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 possui algumas outras mudanças sutis que a tornam mais fácil de se olhar por horas a fio, como ligaduras.

PS: 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 Windows Terminal também vem com uma fonte chamada Cascadia Mono que faz exatamente isso. Cada uma delas também tem uma variante para powerline, (Cascadia Code PL e Cascadia Mono PL), que será coberta em seguida.

Powerline

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

O Powerline foi portado, clonado e replicado em todos os shells modernos, incluindo o PowerShell, mas devido às limitações dos consoles anteriores, estava faltando algo. O terminal resolve esse problema ao incluir símbolos específicos chamados glifos. 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 powerline instalando o 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, o prompt do seu 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 também instalar um framework para o zsh, como o ohmyzsh, que facilitará o uso. O ohmyzsh vem com temas e personalização de prompt de bash semelhantes ao oh-my-posh para o prompt do PowerShell.

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

Powerline in Bash

Mudando 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 fundos eram todos de uma única cor definida no arquivo settings.json com a tag background.

Algumas pessoas acham que imagens são distrativas durante a codificação. Se você é uma dessas pessoas, aqui está um exemplo de como usar um fundo de cor única no arquivo 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 cor única definida, essa cor se tornará o fundo para esse perfil. Se nenhuma tag de fundo estiver definida em seu perfil, o Windows Terminal usará o padrão do seu esquema.

Plain color background

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

Para usar uma imagem de fundo, você precisará ter a imagem em seu sistema de arquivos local. No momento da escrita, o Terminal não suporta imagens de fundo de uma URL. No settings.json, vá até o perfil ao qual deseja atribuir a imagem de fundo. Em seguida, adicione a tag backgroundImage e atribua a ela o valor do caminho para a imagem. Abaixo está um exemplo que define o 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 plano de fundo, saiba que o terminal não leva em consideração suas cores em relação ao plano de fundo. O terminal usará as cores padrão do esquema do seu perfil atual. Se não tomar cuidado, pode acabar colocando uma fonte de cor clara em um plano de fundo de cor clara, o que tornaria a leitura muito difícil. Nem todos os planos de fundo são adequados para terminais.

O cat do terminal está em seu terminal, ocupando o seu plano de fundo.

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

Real-time setting updates

O Windows Terminal 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 frequentemente entre abas e perfis. 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. Lembre-se sempre 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 ao seu gosto, é hora de explorar algumas das capacidades mais avançadas do Windows Terminal.

Dividir Painéis com Kernels Diferentes

O Windows Terminal suporta vários 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 sistema operacional.

Para criar painéis divididos de diferentes perfis, no arquivo settings.json, cada perfil deve ter sua própria tecla de atalho 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 oferece mais espaço com base no painel selecionado atualmente. Abaixo você pode ver um exemplo de definição de teclas de atalho 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 a CLI, então está com sorte. O Terminal do Windows inclui um executável de linha de comando chamado wt que permite automatizar sua abertura na configuração que você deseja.

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

Na maioria das vezes, seus perfis estarão executando shells locais. No entanto, o Terminal do Windows também pode exibir sessões remotas através 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 nem mesmo 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 mapeiem 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 settings.json, você pode abrir quase qualquer coisa como seu próprio Perfil do Terminal do Windows que não precisa fazer login interativamente.

// 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 apenas deve estar familiarizado com o Terminal do Windows, mas também ter configurado suas configurações personalizadas e ter uma configuração razoavelmente confortável. Você deve ser capaz de personalizar perfis e atalhos de teclado 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.

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 vai impedir o desenvolvimento de software de ser um trabalho onde você fica olhando para texto pequeno em uma tela, mas pode tornar isso muito mais fácil de continuar fazendo!

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