Em maio de 2019 foi anunciado o Windows Terminal, um novo terminal que promete melhorar a experiência com a interface de linha de comandos no Windows 10. Já disponível como preview no Microsoft Store, vamos conhecer as suas principais funcionalidades.
O Windows Terminal
Durante a build 2019 que aconteceu em maio, foi anunciado o Windows Terminal, um terminal para Windows 10 que tem como objetivo entregar funcionalidades tão aguardadas como suporte a abas, temas, texto unicode (incluindo emojis 😄) e mais opções de configuração.
Mesmo com melhorias que foram incluídas nos últimos releases do Windows 10, como alterar o formato do cursor, suporte a atalhos na tecla CTRL (como CTRL+C CRTL+V), inclusão de um novo motor para parsear sequências ANSI/VT (fundamental para aplicações Linux rodando com Windows Subsystem for Linux, como tmux) e até a alteração do tema padrão do Console junto com a disponibilização de uma ferramenta para alterar as cores do console, ainda assim a experiência no Windows era inferior se comparada com terminais do Linux e Mac.
Curso Windows - Fundamentos para desenvolvedores
Conhecer o cursoIncluir todas essas funcionalidades esperadas como suporte a abas, transparência, entre outros precisariam de alterações tão profundas que precisariam quebrar a retro compatibilidade do terminal atual. Como manter a compatibilidade com aplicações antigas é algo levado a sério pela Microsoft, foi decidido criar um novo projeto para isso.
Durante a build 2019 foi anunciado o Windows Terminal, um novo terminal que permite uma experiência moderna com múltiplos shells.
O que muda com o Windows Terminal
O Windows Terminal será uma aplicação opcional e terá suporte a outros shells como prompt de comando, Powershell e o WSL. Assim todos os seus scripts continuarão funcionando como antes, porém em uma interface mais moderna.
Para ficar mais claro, precisamos entender qual a diferença entre o terminal, console e shell. Embora possam parecer a mesmo coisa, cada um tem um significado diferente.
No contexto histórico, o console se refere ao hardware que era capaz de se conectar com um servidor para executar comandos. Atualmente não utilizamos um hardware específico para isso, isso acaba sendo abstraído na forma de um console virtual, que no Linux pode ser acessado pela combinação de teclas como CTRL+ALT+F1 até F4. Atualmente esse termo tem entrado em desuso, mas é comum se referir ao console como uma interface via linha de comandos.
O terminal é um software que recebe os comandos do usuário e encaminha os mesmos para o shell. Ele é responsável por ser essa ponte entre o usuário e o sistema, enviando comandos e exibindo a sua saída para o usuário. O Windows Terminal se encaixa nessa categoria, juntamente com o gnome-terminal para Linux, iTerm para Mac e também o ConEmu para Windows.
O shell por sua vez é responsável por receber os comandos enviados pelo terminal e processar esses comandos junto ao Sistema Operacional. Como exemplos podemos citar o bash, zsh, powershell e até o cmd clássico do Windows.
O Windows Terminal permite que você configure diferentes profiles diferentes para utilizar diferentes shells. Para cada um desses profiles é possível ter configurações diferentes de fonte, transparência, temas, cursores, entre outros. Ele permite também a configuração de atalhos e da sua interface para se adaptar as necessidades do usuário.
Ao instalar o Windows Terminal, ele irá identificar automaticamente quais os diferentes shells disponíveis para você utilizar. Caso você tenha o WSL ou o Powershell Core instalado, ele irá possibilitar que você o utilize sem precisar configurar tudo do zero.
Como instalar
O Windows Terminal está disponível como preview no Windows Store. Mesmo estando em preview ele está em sua quarta versão (v0.4) e já se mostra bem estável.
Para os mais apressados, também é possível clonar o código do Terminal e fazer o build diretamente da sua máquina. O código do Windows Terminal é open source, e está disponível no GitHub de forma que você possa testa-lo e contribuir com seu desenvolvimento, sugerindo melhorias, reportando bugs ou até mesmo enviando pull requests!
Estou utilizando o Windows Terminal no meu dia a dia desde o primeiro preview e é visível a sua evolução. No próximo preview por exemplo, será possível simplificar seu arquivo de configurações, alterando somente as modificações que são diferentes do padrão:
No meu dia a dia utilizo o Powershell Core e também o WSL com Ubuntu e zsh como shell. Se comparado com o gnome-terminal do Ubuntu, não senti nenhuma diferença.
Curso Windows - Fundamentos para desenvolvedores
Conhecer o cursoE você, já conhecia o Windows Terminal? O que você achou desse novo terminal? Sentiu falta de alguma funcionalidade presente em algum outro terminal? Responda nos comentários abaixo :)