Installare Windows Terminal: una panoramica delle funzionalità pratica

Sviluppare software è un lavoro delicato. Alla fine della giornata, l’intero compito consiste nel scrivere istruzioni in un linguaggio strano per un interprete pignolo che chiuderà tutto su cui hai lavorato. Beh, è ora di installare Windows Terminal e scoprire un modo migliore.

In questa Guida Definitiva, imparerai su una delle migliori console disponibili per gli sviluppatori; il Windows Terminal. Otterrai una panoramica completa di quasi tutte le funzionalità del Windows Terminal. Imparerai come può aiutarti a gestire le cose su Windows dalla riga di comando.

Il Windows Terminal migliora l’esperienza della console con funzionalità terminal moderne come schede, riquadri e persino immagini di sfondo. Puoi persino avere una shell Linux completa in esecuzione insieme a Windows PowerShell o cmd.exe senza dover passare tra sessioni console.

Questo articolo sarà una panoramica su molte capacità del Windows Terminal. Sarà un tutorial pratico per tutto il tempo, quindi preparati a metterti al lavoro!

Prerequisiti

I requisiti per installare e utilizzare il Windows Terminal stesso sono abbastanza basici. Tutto ciò di cui hai bisogno è un PC con Windows 10 con build 1903 (maggio 2019) o successiva. Se vuoi seguire tutte le dimostrazioni in questo articolo, avrai bisogno anche di alcuni altri strumenti installati:

  • La funzionalità Windows Subsystem for Linux (WSL) abilitata con una distribuzione Linux installata (tutte le dimostrazioni mostrate utilizzano Ubuntu 20.04)
  • Visual Studio Code (VS Code)
  • Python con la libreria di testo ricco installata
  • Visual Studio 2019 o successivo con:
  • L’SDK di Windows 10 1903 installato
  • Il componente Desktop Development with C++ installato
  • Il componente Universal Windows Platform Development installato
  • Il componente Strumenti Universal Windows Platform C++ (v142) installato

Terminale vs. Console vs. Shell

Dato che affronteremo molti termini in questo articolo, è importante prima comprendere alcune differenze terminologiche per evitare confusione.

Anche se i concetti sono simili, è importante notare che un terminale non è una console non è una shell. Ognuno ha il suo specifico scopo. Scott Hanselman ha un ottimo post sul blog sulle definizioni di ognuno, ma ecco come saranno utilizzati in questo articolo:

  • Terminale: L’applicazione Terminale di Windows.
  • Console: Qualsiasi applicazione console che non sia il Terminale di Windows.
  • Shell: Il programma tra il terminale e il sistema operativo. (pwsh, cmd, zsh, ecc.)

Installare il Terminale di Windows

Ci sono alcuni modi diversi per installare Windows Terminal, ma il più semplice di gran lunga (e quello consigliato da Microsoft) è installarlo dal Microsoft Store. Ci sono due versioni diverse che puoi scaricare; il Windows Terminal standard e il Windows Terminal Preview.

Per gli scopi di questo articolo, puoi utilizzare una qualsiasi delle due. L’installazione è semplice quindi non la tratteremo in questo articolo e presumiamo che tu l’abbia già installata.

Quando apri per la prima volta Windows Terminal, non sembra né si sente impressionante. Ci sono molte personalizzazioni che dovrai fare per ottenerlo, ma tutto inizia con una finestra come quella qui sotto.

Default Windows terminal

Nota che Windows Terminal ha quattro componenti principali:

  1. Finestra del terminale – Qui è dove svolgerai la maggior parte del lavoro e dove puoi personalizzare di più.
  2. Nome scheda – Windows Terminal supporta le schede, il che significa che puoi avere diverse shell
  3. Nuova scheda – Questo pulsante aprirà una nuova scheda del tuo profilo predefinito
  4. Elenco dei profili – Questo elencherà i profili disponibili da aprire.

Windows Terminal ha un layout minimalista, ma dietro di esso c’è molta funzionalità nascosta.

Costruire il terminale da sorgente

Mentre questo è il Terminale Windows, e proviene da Microsoft, è anche completamente open-source, il che significa che se lo desideri, puoi contribuire ad esso. È un programma C++ con una comunità molto attiva.

Anche se questo è un prodotto GA, al momento della stesura ci sono ancora alcuni piccoli bug in fase di risoluzione e funzionalità sulla tabella di marcia per lo sviluppo futuro. Forse sarai tu a contribuire a risolverli!

Se sei un sviluppatore e vuoi davvero immergerti nel codice, puoi compilare il Terminale Windows da PowerShell, segui questi passaggi:

  1. Esegui git submodule update --init --recursive per aggiornare tutti i sottomoduli git
  2. Esegui i seguenti comandi di PowerShell:
Import-Module .\tools\OpenConsole.psm1
Set-MsBuildDevEnvironment
Invoke-OpenConsoleBuild

Il file settings.json: Personalizzazione di tutte le cose

Prima o poi vorrai probabilmente rendere il terminale tuo e personalizzarlo. Una delle migliori cose del Terminale Windows è quanto sia personalizzabile. Il modo più comune per personalizzare il Terminale Windows è modificare il file settings.json situato nella directory %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\.

Puoi anche accedere al file settings.json facendo clic sull’elenco dei profili e selezionando Impostazioni.

Il file settings.json è dove effettuerai la maggior parte delle personalizzazioni per il Terminale Windows fino a quando non sarà disponibile un’opzione grafica.

Il team di Windows Terminal ha promesso in un prossimo rilascio che verrà presto rilasciata un’interfaccia grafica per la gestione delle impostazioni!

Oltre a avere tutte le impostazioni memorizzate in un’unica posizione conveniente, quando le impostazioni sono memorizzate in un file JSON, puoi mettere le tue impostazioni nel controllo del codice sorgente o farne il backup nel caso in cui passi tra macchine diverse.

Puoi persino condividere le impostazioni con gli altri. Se vuoi dare un’occhiata a un esempio di come appare il file settings.json, controlla uno qui qui.

Lo schema settings.json

Se stai utilizzando Visual Studio Code, il terminale include uno schema JSON che aiuterà a convalidare qualsiasi personalizzazione che fai all’interno di settings.json, inclusa l’autocompletamento di eventuali nuove impostazioni.

Non appena le tue modifiche vengono salvate (a condizione che settings.json sia ancora valido), le nuove modifiche saranno riflesse immediatamente nel terminale o verrà mostrato un errore senza la necessità di aggiornare il terminale.

Mentre Visual Studio Code non è richiesto per modificare JSON, è sicuramente consigliato quando si tratta di personalizzare il Windows Terminal.

Attualmente ci sono quattro diverse sezioni di settings.json che controllano l’aspetto e la sensazione di Windows Terminal: Globals, Profiles, Schemes e Key Bindings. Diamo un’occhiata a ciascuna sezione.

Globals

La sezione globale è responsabile del comportamento di Windows Terminal. Sempre in cima al file, la sezione globale controlla cose come la conferma alla chiusura, il tema visuale e il profilo predefinito. Puoi vedere un esempio nel seguente frammento di codice.

// settings.json

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

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

    // Puoi aggiungere qui altre impostazioni globali dell'applicazione.
    // Per saperne di più sulle impostazioni globali, visita <https://aka.ms/terminal-global-settings>

    // Se abilitato, le selezioni vengono automaticamente copiate negli appunti.
    "copyOnSelect": false,

    // Se abilitato, i dati formattati vengono anche copiati negli appunti.
    "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 fornito con tre profili predefiniti: Windows PowerShell, cmd.exe e Azure Cloud Shell. Se hai WSL installato, genererà anche un profilo per ogni distribuzione WSL installata. Include anche una sezione predefiniti che applicherà impostazioni a ogni profilo in settings.json. Questo è un ottimo posto per inserire font compatibili con Unicode che verranno trattati più avanti in questo articolo.

Puoi vedere un esempio di come appare un profilo nel seguente frammento di codice.

// settings.json

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

Creazione di un Nuovo Profilo

La creazione di profili può essere utile se si desidera aggiungere variazioni alla stessa shell o aggiungere profili remoti personalizzati al terminale.

Per creare un nuovo profilo di Windows Terminal in settings.json, ecco i passaggi che dovrai seguire:

Assicurati di aggiungere una virgola dopo ogni profilo tranne l’ultimo per rendere il JSON valido.

  1. Copia qualsiasi profilo dalla sezione dei tuoi profili. Questi iniziano con [ e terminano con ] sotto il nodo list nel file JSON. Queste sono le righe sette attraverso quattordici sopra.
  2. Genera un nuovo GUID eseguendo [guid]::NewGuid() da qualsiasi sessione PowerShell. Sostituisci il valore corrente per guid nel tuo nuovo profilo con il GUID che hai generato. I GUID vengono generati casualmente quando il terminale imposta i profili predefiniti.
  3. Aggiungi o modifica eventuali altri parametri per personalizzare il profilo.
  4. Copia i contenuti di settings.json e verifica che sia ancora valido eseguendolo attraverso JSON Lint o un altro linter JSON. Correggi eventuali problemi.
  5. Salva le tue modifiche.

Ci sono molte opzioni disponibili per configurare un profilo. Tieni presente che se hai un’impostazione nella sezione predefiniti nel file settings.json e hai la stessa impostazione nel tuo nuovo profilo, sovrascriverai il valore predefinito. Per una spiegazione completa, consulta la documentazione sulle impostazioni di Windows Terminal.

Schemi

Questa sezione si riferisce agli schemi di colore per i profili di Windows Terminal. Uno schema di colore indica al terminale quale valore esadecimale utilizzare per ogni colore che compare nel terminale. Poiché il terminale può rappresentare i colori in 24 bit, questi colori possono diventare piuttosto creativi. Ogni schema avrà un nome e un elenco di colori che corrispondono a un valore esadecimale che può essere facilmente modificato come mostrato di seguito.

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

Questi colori corrisponderanno ai colori dello sfondo e del testo mentre utilizzi quello schema in Windows Terminal. Se hai aperto il file settings.json in Visual Studio Code, puoi fare clic sui valori esadecimali che hanno uno slider grafico che mostra i colori effettivi come mostrato di seguito.

VS Code color options

I temi del terminale (chiamati schemi nel terminale di Windows) non sono rari nel mondo dei programmi terminali. Anche se non esiste un modo unico per creare un tema (schema) che funzioni su diverse applicazioni terminali, puoi trovare molti strumenti là fuori per realizzarli, non importa quale applicazione tu stia utilizzando. Puoi trovare facilmente un già pronto, o creare il tuo!

Assegnazioni tasti

Le assegnazioni dei tasti sono il modo in cui il terminale di Windows assegna tasti di scelta rapida per azioni come nuove riquadri, schede o anche azioni di base come copia e incolla. Ci sono moltissime azioni a cui è possibile assegnare tasti di scelta rapida personalizzati, rendendo facile personalizzare il terminale in qualsiasi modo ti risulti comodo.

Nel seguente frammento di codice è possibile vedere alcune assegnazioni predefinite dei tasti.

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

A questo punto, il tuo terminale potrebbe iniziare a comportarsi nel modo desiderato, ma non hai ancora finito. Ora è il momento di imparare come continuare a personalizzare l’aspetto e la sensazione del terminale.

Impostazioni visive

Quando trascorri la maggior parte della tua vita lavorativa fissando il testo su uno schermo, vale la pena compiere alcuni passi aggiuntivi per rendere quel testo più facile da guardare. Che si tratti di cambiare i caratteri, le dimensioni o i colori, dedicare un po’ di tempo all’aspetto del tuo nuovo Terminale Windows darà enormi benefici dopo averlo fissato per un’intera giornata lavorativa.

Potenziamenti del testo

Una delle caratteristiche più pubblicizzate del Terminale Windows è il supporto dei colori a 24 bit e il rendering del testo accelerato. Potrebbe non sembrare impressionante di per sé fino a quando non lo confronti con il modo in cui powershell.exe o cmd.exe renderizzano il testo e il colore. Utilizzando la libreria ricca di Python per dimostrare, è abbastanza chiaro quanto siano grandi le differenze nelle capacità di rendering tra le vecchie console e il Terminale Windows.

Text enhancements in Windows Terminal

Apertura della libreria ricca da Python nel Terminale Windows e powershell.exe

Il Terminale Windows ha anche il supporto per i caratteri Unicode, il che significa che può essere utilizzato con altri alfabeti e simboli, inclusi i caratteri cirillici, i kanji e qualsiasi altro carattere verrà visualizzato senza problemi. Questo grazie al font Cascadia Code, che sarà trattato in seguito.

Cascadia font

Scrittura in giapponese Kanji con il Terminale Windows e powershell.exe

Questo ha alcuni ovvi vantaggi di internazionalizzazione, ma il supporto di Unicode e UTF-8 significa anche che il Terminale Windows può supportare anche…

Emoji ?

Gli emoji potrebbero non sembrare una cosa utile da includere in uno strumento a riga di comando, ma stanno diventando sempre più essenziali nello sviluppo. Gli ingegneri del software li utilizzano per etichettare commit e problemi, rispondere rapidamente ai messaggi con app come Slack o Microsoft Teams, e c’è persino un linguaggio di programmazione emoji. Anche se alcuni di questi sono sicuramente più utili degli altri, è chiaro che gli emoji non stanno andando da nessuna parte.

Di seguito è riportato un esempio di rendering degli Emoji sulla console powershell.exe e lo stesso nel terminale di Windows utilizzando la libreria rich di Python. Nota la linea Il terminale è carino e vedi la differenza.

Emojis in Windows Terminal

Visualizzazione degli emoji con la libreria di testo ricco di Python

Font di Cascadia

Come già accennato, il font Cascadia Code consente di visualizzare alcuni dei caratteri. Ma il font ha anche alcuni altri cambiamenti sottili che lo rendono più facile da guardare per ore, come ligature.

FYI: Lo stesso team che ha progettato il Terminale di Windows ha creato il font Cascadia Code specificamente per l’uso sul Terminale di Windows.

Oltre ai caratteri speciali, il font Cascadia Code supporta anche le legature. Le legature sono simboli che vengono visualizzati leggermente diversamente sullo schermo. Puoi vedere un elenco di quelli supportati dal font Cascadia Code qui.

Ligatures in Windows Terminal

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

Se preferisci non utilizzare le legature ma desideri comunque gli altri vantaggi del Cascadia Code, il Windows Terminal include anche un font chiamato Cascadia Mono che fa proprio questo. Ciascuno di essi ha anche una variante per Powerline, (Cascadia Code PL e Cascadia Mono PL), che verrà trattata successivamente.

Powerline

Powerline è originariamente un plugin vim che aggiungeva informazioni alla shell ed è stato presente nel mondo Linux per molto tempo. L’idea era quella di fornire più informazioni nel prompt, rendendo più informazioni disponibili a portata di mano durante il lavoro nella console.

Powerline è stato portato, clonato e replicato in ogni shell moderna, incluso PowerShell, ma a causa delle limitazioni delle console precedenti, mancava qualcosa. Il terminale risolve quel problema includendo simboli specifici chiamati glifi. I glifi vengono utilizzati in Powerline per fornire al prompt molte più informazioni in un colpo d’occhio.

Powerline in PowerShell

Per PowerShell, puoi configurare un prompt simile a Powerline installando oh-my-posh utilizzando il codice di esempio qui sotto.

# PowerShell

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

Una volta installato, il prompt di PowerShell mostrerà più informazioni, inclusi il nome del branch git e i commit tra repository remoti e locali. Puoi vedere un esempio qui sotto.

Powerline support

Questo è il tema Paradox di oh-my-posh con alcune personalizzazioni per visualizzare il sistema operativo corrente e la versione di PowerShell.

Powerline in Bash

Per Bash, dovrai installare una shell come zsh o fishshell. Questi aggiungono alcune funzionalità e personalizzazioni alla terminal, ma possono essere un po’ difficili da usare da soli. Si consiglia anche di installare un framework per zsh come ohmyzsh, che renderà l’utilizzo molto più semplice. ohmyzsh include temi e personalizzazioni del prompt bash simili a come oh-my-posh fa per un prompt PowerShell.

Una volta installato, puoi cambiare il tema modificando la proprietà ZSH_THEME nel file ~/.zshrc. Modificalo utilizzando un editor come vim o nano e salva il file. Una volta fatto ciò, esegui source ~/.zshrc e le tue modifiche verranno applicate.

Powerline in Bash

Cambiare dal tema agnoster al tema robbyrussell in zsh.

Immagini di sfondo

Una delle funzionalità più discusse del Windows Terminal al momento del suo rilascio era la possibilità di utilizzare immagini in ogni profilo. Fino ad ora, probabilmente hai notato che gli sfondi erano tutti di un singolo colore definito nel file settings.json con il tag background.

Alcune persone trovano le immagini distraggenti quando stanno programmando, quindi se sei una di quelle persone, ecco un esempio di come utilizzare uno sfondo di un solo colore in 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 singolo colore impostato, quel colore diventerà lo sfondo per quel profilo. Se nessun tag di sfondo è impostato nel tuo profilo, il Windows Terminal utilizzerà di default ciò che è nel tuo schema.

Plain color background

L’esempio di profilo sopra mostrerà questo colore come sfondo.

Per utilizzare un’immagine di sfondo, dovrai avere l’immagine nel tuo sistema di file locale. Al momento della scrittura, il Terminale non supporta immagini di sfondo da un URL. In settings.json, vai al profilo a cui vuoi assegnare l’immagine di sfondo. Da qui, aggiungi il tag backgroundImage e attribuisci ad esso il valore del percorso dell’immagine. Di seguito è riportato un esempio che imposta lo sfondo del profilo su un’immagine di un gatto.

// 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 decidi di personalizzare il tuo sfondo, sappi che il terminale non tiene conto dei tuoi colori rispetto al tuo sfondo. Il terminale utilizzerà i colori predefiniti dello schema del profilo corrente. Se non sei attento, potresti mettere un carattere di colore chiaro su uno sfondo di colore chiaro, rendendolo davvero difficile da leggere. Non tutti gli sfondi sono adatti per il terminale.

Il gatto del terminale è nel tuo terminale, occupando il tuo sfondo.

Finché settings.json è ancora un file JSON valido e continua a rispettare lo schema del terminale, vedrai l’aggiornamento dello sfondo immediatamente senza bisogno di aggiornare manualmente o chiudere e riaprire il terminale. Puoi vedere un ottimo esempio di questo aggiornamento in tempo reale di seguito.

Real-time setting updates

Il Windows Terminal si aggiornerà non appena apporti modifiche a settings.json e salvi.

Posizionamento delle Immagini

Potresti pensare che le immagini siano troppo distrattive in una finestra di terminale, e possono esserlo. Tuttavia, possono anche essere un riferimento rapido se devi passare spesso tra schede e profili. Di seguito è riportato un esempio di utilizzo di un’immagine di sfondo per evidenziare la shell utilizzata.

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

Per impostare un’immagine di sfondo, come mostrato sopra, è necessario tre parametri aggiuntivi che iniziano con backgroundImage per aiutare a controllare la dimensione, la posizione e l’opacità dell’immagine sullo schermo. Ricordati sempre di controllare la documentazione per vedere quali opzioni sono disponibili. Di seguito è riportato un esempio del profilo mostrato sopra.

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

Il Windows Terminal supporta anche le gif animate, quindi se non lo trovi troppo distraggente, puoi anche divertirti con i tuoi profili.

Animated GIFS in Windows Terminal

Comandi Avanzati del Windows Terminal

Ora che il tuo terminale è configurato e personalizzato secondo i tuoi gusti, è il momento di esplorare alcune delle funzionalità più avanzate del Windows Terminal.

Dividi Pannelli con Kernel Diversi

Il Windows Terminal supporta più pannelli. Ciò significa che puoi eseguire sessioni parallele nella stessa finestra del terminale. Questo comportamento non è nuovo. Altre applicazioni console hanno avuto il supporto per i pannelli per anni. Il Windows Terminal è diverso perché supporta i profili (in settings.json), puoi avere ogni sessione aperta nel suo proprio pannello. Anche se ogni sessione è un sistema operativo completamente diverso, come quando si utilizza WSL o un profilo remoto (più avanti sui profili remoti), puoi mostrare un pannello per ogni sistema operativo.

Per creare riquadri divisi con profili diversi, in settings.json ogni profilo deve avere la propria combinazione di tasti per la chiave splitPane. Specificando il parametro profile con il nome o l’ID GUID del profilo di Windows Terminal, è possibile aprirne uno accanto all’altro.

La proprietà split può essere impostata su horizontal, vertical o auto che sceglierà l’orientamento che fornisce più spazio in base al riquadro attualmente selezionato. Di seguito è riportato un esempio di impostazione dei tasti per quattro riquadri.


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

Personalizzazione del modo in cui viene aperto Windows Terminal

Se non ti piacciono le scorciatoie da tastiera, o se desideri un modo rapido per aprire il terminale con la CLI, sei fortunato. Windows Terminal include un eseguibile da riga di comando chiamato wt che ti consente di automatizzare l’apertura in qualsiasi configurazione desideri.

Di seguito puoi vedere un esempio di passaggio di vari argomenti durante l’apertura del terminale che cambia il comportamento.

Behavior changes in New Window Terminal

Profili remoti

La maggior parte delle volte, i tuoi profili eseguiranno shell locali. Tuttavia, Windows Terminal può anche visualizzare sessioni remote attraverso un concetto chiamato anche profili remoti!

Se dai un’occhiata ad altri profili di esempio per il Terminale di Windows, potresti notare che alcuni di essi non utilizzano affatto applicazioni .exe. Il Terminale di Windows è sufficientemente flessibile da consentire di utilizzare persino il comando ssh o il comando Enter-PsSession di PowerShell per creare profili che si mappano su server remoti o altre shell. Puoi persino utilizzare terraform console per avviare una sessione Terraform! Puoi vedere un esempio di ciò nel profilo sottostante.

Utilizzando il parametro commandline nella sezione del profilo di settings.json, puoi aprire praticamente qualsiasi cosa come proprio Profilo del Terminale di Windows che non ha bisogno di accedere interattivamente.

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

Apertura del REPL di Python e di una connessione SSH a un’istanza AWS EC2 con profili del Terminale di Windows

Riepilogo

A questo punto, dovresti non solo essere familiare con il Terminale di Windows, ma aver configurato le tue impostazioni personalizzate e avere una configurazione abbastanza confortevole. Dovresti essere in grado di personalizzare profili e associazioni di tasti per controllare l’aspetto e il funzionamento del terminale, nonché sapere come modificare i caratteri, i glifi e i caratteri che puoi utilizzare nel terminale.

Gli strumenti da riga di comando non stanno andando da nessuna parte. Sviluppatori e ingegneri devono continuare ad usarli. Il nuovo Terminale di Windows non impedirà che lo sviluppo software sia un lavoro in cui si fissano piccoli testi su uno schermo, ma potrebbe rendere molto più facile continuare a farlo!

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