Windows Terminal: como customizar o seu terminal

Um ano após seu anúncio na build 2019, foi lançada a primeira versão estável do Windows Terminal. Dentre as novidades anunciadas, temos primeiramente o tão aguardado suporte a abas, além do suporte a panes, temas e múltiplos profiles, todos customizáveis de acordo com suas preferências.

Windows Terminal 1.0

Disponível para Windows 10, a instalação do Windows Terminal pode ser feita pela Microsoft Store. Novas atualizações serão lançadas com o tempo, e a atualização será automática e independente da versão do Windows, como acontecia com a linha de comando clássica.

No Windows Terminal temos muitas opções de customizações possíveis que alteram desde os atalhos do teclado até suas configurações, permitindo que você tenha um terminal único e ao mesmo tempo que atenda seu gosto. Vamos conhecer adiante algumas dessas configurações e como podemos customizar nosso Windows Terminal.

Configurações do Windows Terminal

Como já venho usando o Windows Terminal a algum tempo, acabei testando várias configurações possíveis. Minha configuração atual se encontra nesse gist aqui.

Ainda não temos uma interface gráfica para configurar nosso terminal, tudo é feito por um arquivo json. Entretanto, esse arquivo tem um schema bem configurado e com isso você pode usar autocomplete com o VS Code:

Autocomplete de configurações

Windows - Fundamentos para desenvolvedores
Curso de Windows - Fundamentos para desenvolvedores
CONHEÇA O CURSO

Estrutura do arquivo de configurações

As customizações do Windows Terminal são divididas em diferentes seções. Em primeiro lugar, temos algumas configurações globais em nosso arquivo. Nessa seção podemos configurar qual será nosso profile padrão com defaultProfile, qual o tamanho das abas com tabWidthMode, e o tamanho e posição da janela (initialPosition, initialCols e initialRows).

A segunda seção que encontramos no nosso arquivo de configurações são os profiles. Cada profile é associado com um shell específico e você pode customizar visualmente cada profile de uma forma. O Windows Terminal também reconhece automaticamente as distribuições WSL instaladas na sua máquina:

Distribuições WSL reconhecidas pelo Windows Terminal

Em seguida, temos a seção schemes, onde é possível salvar esquemas de cores que podem ser utilizados pelos profiles definidos anteriormente. Além dos esquemas padrões que podem ser encontrados na documentação do Windows Terminal, você pode adicionar seus próprios esquemas.

E por fim, temos a seção keybindings, onde podemos configurar atalhos de teclado que estamos mais acostumados. Por exemplo, por muito tempo eu usei o Gnome Terminal com o Ubuntu, e para alternar entre as abas eu usava CRTL + PageUp e CRTL + PageDown. No Windows Terminal posso configurar esse atalho dessa forma:

    "keybindings":
    [
        { "command": "prevTab", "keys": ["ctrl+pgup"] },
        { "command": "nextTab", "keys": ["ctrl+pgdn"] }
    ]

Agora que apresentei as principais seções desse arquivo, vamos conhecer algumas configurações interessantes que podemos fazer.

Android - Criação de aplicativos para SmartWatch com o Android Wear
Curso de Android - Criação de aplicativos para SmartWatch com o Android Wear
CONHEÇA O CURSO

Customizações de profile

Boa parte das configurações que podemos fazer no Windows Terminal está dentro da seção de profiles. Nessa seção podemos configurar o tipo e tamanho da fonte, diretório inicial de cada profile, imagens de fundo, transparência, entre muitas outras opções.

Apesar das configurações serem independentes para cada profile, é possível alterar as configurações padrão de todos os profiles dentro do bloco defaults. Pessoalmente, eu acho o tamanho padrão da fonte muito grande, e também gosto de mudar iniciar uma aba no meu diretório de código. Para isso eu faço o seguinte:

    "profiles":
    {
        "defaults":
        {
            "startingDirectory": "%USERPROFILE%\\Code",
            "fontFace": "Cascadia Code",
            "fontSize" : 10
        },
        "list":
        [
            { ... },
            { ... },
            {
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "hidden": false,
                "name": "Ubuntu-18.04",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory" : "//wsl$/Ubuntu-18.04/home/gmsantos/Code"
            },
            { ... },
        ]
    },

Nesse caso, eu reduzi a fonte em todos os profiles com fontSize em 10, alterei a fonte padrão para Cascadia Code com fontFace para ter suporte a ligaduras, e por fim mudei o diretório inicial com startingDirectory.

Repare que no meu perfil do Ubuntu eu sobrescrevo novamente essa configuração, pois o sistema de arquivos do Windows não reconhece diretamente o sistema de arquivos do WSL.

Com isso, não é possível definir algo como ~/Code. A solução nesse caso é usar o mapeamento de rede disponibilizado pelo WSL ("//wsl$//home// por exemplo).

Customizações visuais

Como vocês podem ver na minha configuração eu não sou muito fã de muitas configurações visuais. Entretanto o Windows Terminal permite configurar praticamente tudo, seja com transparências, imagens de fundo e até mesmo gifs!

Abaixo temos alguns temas bem legais que encontrei e que possuem sua configuração publicada.

Endjin theme:

Endjin com imagem de fundo

{
    "profiles": {
        "list": [
            {
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "name": "PowerShell Core",
                "source": "Windows.Terminal.PowershellCore",
                "backgroundImage": "https://compass-ssl.xbox.com/assets/84/9f/849fc619-fa6a-4706-be03-50246091b48d.jpg?n=OWotW_gallery-0_1350x759_09.jpg",
                "backgroundImageOpacity": 0.8,
                "backgroundImageAlignment": "top",
                "backgroundImageStretchMode": "fill"
            }
        ]
    }
}

Forest Glass Theme:

Frosted Glass Theme

{
    "theme": "light",
    "profiles": [
        {
            "name" : "PowerShell",
            "source" : "Windows.Terminal.PowershellCore",
            "acrylicOpacity": 0.7,
            "colorScheme" : "Frost",
            "cursorColor" : "#000000",
            "fontFace" : "Cascadia Code PL",
            "useAcrylic": true
        }
    ],
    "schemes": [
        {
            "name" : "Frost",
            "background" : "#FFFFFF",
            "black" : "#3C5712",
            "blue" : "#17b2ff",
            "brightBlack" : "#749B36",
            "brightBlue" : "#27B2F6",
            "brightCyan" : "#13A8C0",
            "brightGreen" : "#89AF50",
            "brightPurple" : "#F2A20A",
            "brightRed" : "#F49B36",
            "brightWhite" : "#741274",
            "brightYellow" : "#991070",
            "cyan" : "#3C96A6",
            "foreground" : "#000000",
            "green" : "#6AAE08",
            "purple" : "#991070",
            "red" : "#8D0C0C",
            "white" : "#6E386E",
            "yellow" : "#991070"
        }
    ]
}

Retro Command Prompt:

Retro Command Prompt

{
    "theme": "dark",
    "profiles": [
        {
            "name": "Command Prompt",
            "commandline": "cmd.exe",
            "closeOnExit" : true,
            "colorScheme" : "Retro",
            "cursorColor" : "#FFFFFF",
            "cursorShape": "filledBox",
            "fontSize" : 16,
            "padding" : "5, 5, 5, 5",
            "tabTitle" : "Command Prompt",
            "fontFace": "PxPlus IBM VGA8",
            "experimental.retroTerminalEffect": true
        }
    ],
    "schemes": [
        {
            "name": "Retro",
            "background": "#000000",
            "black": "#00ff00",
            "blue": "#00ff00",
            "brightBlack": "#00ff00",
            "brightBlue": "#00ff00",
            "brightCyan": "#00ff00",
            "brightGreen": "#00ff00",
            "brightPurple": "#00ff00",
            "brightRed": "#00ff00",
            "brightWhite": "#00ff00",
            "brightYellow": "#00ff00",
            "cyan": "#00ff00",
            "foreground": "#00ff00",
            "green": "#00ff00",
            "purple": "#00ff00",
            "red": "#00ff00",
            "white": "#00ff00",
            "yellow": "#00ff00"
        }
    ]
}

As possibilidades de como customizar o Windows Terminal são inúmeras! Como dito anteriormente, você pode baixar o Windows Terminal pela Microsoft Store. E então, o que achou dessas configurações? Deixe aqui nos comentários qual funcionalidade você mais gostou, e quem sabe, compartilhar suas configurações?

Fiquem ligados e nos sigam nas nossas redes sociais, como Twitter, Instagram, Facebook e LinkedIn para mais novidades!

Deixe seu comentário

Autor dos cursos de cloud computing da TreinaWeb. Graduado em Gestão de TI pela FATEC e quase bacharel em Sistemas de Informação pela UFSCar. Tem experiência em desenvolvimento backend com PHP, mas se encontrou trabalhando com DevOps. Microsoft Certified: DevOps Engineer Expert, Azure Solutions Architect Expert e Azure Data Engineer Associate, AWS Certified Solutions Architect - Associate, e Zend Certified Engineer (ZCE). @gmsantos

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200