Un ultimo pannello dell'editor da introdurre è quello dei "Problemi". Nome improprio in realtà in quanto ospita più schede di diversa utilità, come il terminale, l'output dei programmi e la console di debug.
Aprire il pannello dei problemi
Dalla barra del menù in alto cliccare su "Selezione", quindi scegliere tra le 4 voci:
- "Problemi"
- "Output"
- "Console di debug"
- "Terminale"
Una qualunque delle quattro aprirà il pannello inferiore:
Problemi
La prima scheda in ordine è quella dei "Problemi" ("Problems", in inglese).
Lo scopo è quello di creare una lista dei problemi che l'editor rileva nel codice, comprende anche eventuali consigli sulla quality code e commenti segnalibro (come il commento /*TODO*/
).
Questa scheda dipende fortemente dalle estensioni installate, in particolare dai language server, linter e sonar.
Personalmente mi sento di consigliarvi di installare SonarSource.sonarlint-vscode, ovvero Sonarlint, un estensione che in tempo reale fornisce diversi consigli su come migliorare la quality code. E lo fa per diversi linguaggi.
Ricerca dei problemi
Tramite la barra di testo sulla destra è possibile effettuare delle ricerche utilizzando anche caratteri jolly per sostituire path o nomi generici
Funzioni di visualizzazione dei problemi
Come impostazione predefinita la scheda dei problemi restituisce una visualizzazione ad "albero", ovvero ogni problema viene visualizzato sotto il nome del file che lo ha causato, così da poter vedere con chiarezza su quale file bisogna attuare le proprie correzioni.
Le voci son normalmente espanse, e si possono ridurre cliccando il pulsante apposito con il segno meno
È anche possibile cambiare la modalità di visualizzazione da albero a "elenco"
Ci verrà mostrata una tabella con varie voci:
- Il codice del problema.
- Il messaggio.
- Il file.
- L'estensione che individua il problema
Output
La scheda di output è utile al controllo di quelle attività che vengono eseguite in background nell'IDE, come estensioni, log del software, language server o task custom.
Quando si apre la scheda apposita si può scegliere con un menù a tendina il tipo di attività da monitorare.
Ad esempio selezionando Git è possibile vedere il log delle operazioni eseguite dietro le quinte da Visual Studio Code quando interroga il repository del nostro codice.
Non è comunque una tab che capita spesso di tenere sott'occhio.
Terminale
Una delle tab più utili del pannello in basso è sicuramente quella del terminale. Consente infatti di utilizzare l'interprete dei comandi del proprio sistema, scegliere tra i vari interpreti presenti e serve anche a mostrare output di task e programmi eseguiti.
Il pannello si apre con quello che è il terminale predefinito usato dal sistema operativo, probabilmente avrete:
Aprire nuovi terminali
È possibile tenere aperti più terminali contemporaneamente, per aprirne uno nuovo basta cliccare l'icona a forma di "+" in alto sulla destra.
Una volta aperto un secondo terminale ci troveremo la lista sulla destra.
Portandosi con il mouse su ogni istanza in lista possiamo notare due nuove icone:
- La prima, che ricorda una finestra con due ante, serve per creare una vista condivisa di quel terminale con un altro (nuovo, aperto sul momento).
- La seconda, che rappresenta un cestino, serve a chiudere quel determinato terminale
Scegliere l'eseguibile
Se si hanno più terminali eseguibili installati nel proprio sistema è possibile, in fase di apertura del terminale, specificare quello che si vuole aprire.
Accanto al simbolo "+" vi è una freccia che apre un menù a discesa, premendolo si avranno tutte le scelte individuate
Vista condivisa
Anche in questo caso è possibile creare più riquadri nella stessa schermata per inserire più terminali.
Il primo modo per farlo consiste nell'utilizzare il pulsante apposito per creare un terminale che condivide già la vista.
Come risultato si vedranno due terminali che condividono metà schermata e sulla destra nella lista saranno collegati da una struttura ad albero.
Se si hanno già aperti più terminali è possibile trascinarne uno su una vista per creare un ulteriore riquadro.
Per rimuoverne uno dal gruppo di riquadri basta premere con il tasto destro e selezionare "Unsplit".
Personalizzare i terminali aperti
È possibile personalizzare colori e icone dei terminali aperti, per avere un feedback visivo immediato del loro scopo.
Per farlo basta premere il tasto destro del mouse su uno dei terminali aperti.
Sessione ripristinata
Dopo la chiusura di Visual Studio Code il contenuto dei terminali viene salvato (non l'esecuzione, ma solo il contenuto testuale) per essere poi mostrato nella successiva riapertura del programma.
Task e Run
Le esecuzioni dei task vengono visualizzate tramite terminale.
Similmente, alcune configurazioni di avvio dei programmi, vengono anch'esse visualizzate direttamente nel terminale
Nella maggior parte dei casi tasks e avvio devono essere adeguatamente configurati prima di essere eseguiti, alcune estensioni come quelle di Java fanno comunque già un ottimo lavoro che non necessita di modifiche manuali.
Impostazioni utili per il terminale
Anche il terminale necessita di qualche piccola configurazione per essere utilizzato al meglio.
Terminale predefinito
Innanzitutto se si è in possesso di altri eseguibili per il terminale, si può configurare quello predefinito.
Aprire la command palette (CTRL+SHIFT+p) quindi scrivere "Terminal default profile" (o "Terminale Seleziona profilo predefinito").
Quindi cliccare e scegliere il profilo.
In alternativa è possibile cercare e scrivere manualmente le impostazioni, in base al sistema operativo:
- Su Windows cercare
terminal.integrated.defaultProfile.windows
. - Su Linux cercare
terminal.integrated.defaultProfile.linux
. - Su MacOS cercare
terminal.integrated.defaultProfile.osx
.
Font del terminale
Per supportare l'utilizzo di temi particolari della shell (come ad esempio la powerline) è possibile impostare un carattere personalizzato nel terminale cambiando l'impostazione con id terminal.integrated.fontFamily
.
Combinazioni per il terminale
Il sistema di shortcut di Visual Studio Code è normalmente prioritario sul terminale. Questo significa fondamentalmente che se la stessa shortcut è usata sia dal terminale che dall'editor di testo, quella del terminale viene ignorata.
Per evitare questo comportamento bisogna modificare l'opzione con id terminal.integrated.allowChords
(togliere la spunta o impostare su false
)
e controllare che la shortcut che si vuole bypassare non sia nella lista di terminal.integrated.commandsToSkipShell
.
Alcune shortcut son protette per scelta predefinita, la lista completa si può trovare cliccando su "Open the default settings JSON" nella descrizione dell'opzione.
Una volta che si aprono le configurazioni di sistema, basta cercare (con CTRL+f) l'id dell'impostazione e vedere la lista scritta subito sopra
Se la scorciatoia è presente non sarà possibile usarla nel terminale, a meno di aggiungerla nuovamente alla lista ma con il carattere - che antecede il codice.
Ad esempio la scorciatoia CTRL+e è associata alla ricerca dei file, per far si che nel terminale venga ignorata basta scrivere -workbench.action.quickOpen
.
Console Di Debug
La console di debug viene usata sia per eseguire alcuni programmi dalle estensioni (ad esempio il Run dei programmi eseguiti con node) sia per interrogare le variabili durante una sessione di debug.
Il debug e il running dei programmi sono sezioni dell'editor che vanno configurate a dovere e il loro funzionamento, così come le opzioni che ne derivano, variano da linguaggio a linguaggio. La conseguenza di una configurazione errata potrebbe essere ad esempio l'impossibilità di interrogare il valore delle variabili a partire dal loro vero nome.
Language Server e linter per linguaggio consigliati
Come già ricordato più volte, alcuni di questi pannelli ottengono il massimo della loro utilità se accompagnati dalle giuste estensioni.
Ecco una lista di quelle che potrebbero comunemente servire di più: