Guida Completa a Visual Studio Code
Dall'installazione ai flussi di lavoro professionali: HTML/CSS, JavaScript, Python, C++ e PHP. Con estensioni consigliate, scorciatoie da tastiera e trucchi da sviluppatore esperto.
0Introduzione
Visual Studio Code (VS Code) è l'editor di codice più usato al mondo. Gratuito, open source, veloce, e soprattutto estensibile: migliaia di estensioni lo trasformano in un ambiente completo per qualsiasi linguaggio.
In questa guida vedrai come:
- Installarlo e configurarlo la prima volta
- Lavorare con HTML, CSS, JavaScript, Python, C++ e PHP
- Scegliere le estensioni giuste per ogni linguaggio
- Imparare le scorciatoie da tastiera che fanno risparmiare ore
- Usare trucchi professionali (multi-cursore, refactoring, debug, Git integrato)
Perché VS Code? È gratuito, leggero, funziona su Windows/Mac/Linux, ha un enorme ecosistema di estensioni, e supporta nativamente Git, debug e terminale integrato. È lo standard di fatto nelle scuole e nelle aziende.
🌐 Web
HTML, CSS, JavaScript, PHP: tutto in un unico editor.
🐍 Python
Supporto completo con debugger, Jupyter, linting.
⚙️ C++
Compilazione, debug e IntelliSense con estensione Microsoft.
1Installazione e Setup
Download e installazione
Scarica VS Code dal sito ufficiale: code.visualstudio.com. Scegli la versione per il tuo sistema operativo.
Scarica l'installer
Dal sito ufficiale scarica VSCodeUserSetup-x64.exe.
Esegui l'installer
Spunta «Aggiungi al PATH» e «Apri con Code» nel menu contestuale.
Verifica
Apri il Prompt dei comandi e digita code --version per verificare l'installazione.
Scarica il .zip
Dal sito ufficiale scarica la versione per Mac (Intel o Apple Silicon).
Sposta in Applicazioni
Trascina VS Code nella cartella Applicazioni.
Installa il comando code
Da VS Code: ⌘+⇧+P → «Shell Command: Install 'code' command in PATH».
# Debian/Ubuntu sudo apt install code # Fedora/RHEL sudo dnf install code # Snap sudo snap install code --classic
Configurazione iniziale
Scegli il tema
Ctrl+K poi Ctrl+T — oppure File → Preferences → Color Theme. Consigliati: Dark+, One Dark Pro, Dracula.
Imposta la font
Consigliata: Fira Code (con ligatures) o JetBrains Mono. Configura la dimensione a 14-16 px.
Attiva Auto Save
File → Auto Save — salva automaticamente ogni modifica. Evita di perdere lavoro.
Imposta le tabulazioni
File → Preferences → Settings → cerca «tab size» → imposta 2 (HTML/CSS) o 4 (Python). Attiva «Insert Spaces».
Settings Sync: attiva la sincronizzazione con GitHub per portare le tue impostazioni, estensioni e scorciatoie su qualsiasi computer. Accounts → Turn on Settings Sync.
2L'Interfaccia di VS Code
L'interfaccia è composta da 5 aree principali:
Activity Bar (barra sinistra)
Icone per Explorer, Search, Source Control, Run & Debug, Extensions. Puoi spostarla a destra dalle impostazioni.
Side Bar (pannello laterale)
Mostra il contenuto dell'area selezionata (es. i file del progetto). Si apre con Ctrl+B.
Editor (al centro)
Dove scrivi il codice. Supporta split, anteprima markdown, diff, gruppi di schede.
Panel (in basso)
Terminale integrato, problemi, output, debug console. Si apre con Ctrl+`.
Status Bar (in fondo)
Mostra info: ramo Git, errori, riga/colonna, linguaggio, encoding, tipo di fine riga (LF/CRLF).
Command Palette (Ctrl+Shift+P o F1): la scorciatoia più importante. Cerca qualsiasi comando di VS Code. Se non ricordi un tasto, cercalo qui.
3HTML e CSS in VS Code
Setup base
VS Code supporta HTML e CSS nativamente, ma per lavorare professionalmente servono alcune estensioni e un flusso di lavoro:
Crea il progetto
Crea una cartella mio-sito e aprila in VS Code con File → Open Folder.
Struttura file
Crea index.html, la cartella css/ con style.css, e la cartella js/ con script.js.
Snippet HTML
In un file .html vuoto, digita ! e premi Tab: VS Code genera automaticamente la struttura HTML5 completa (grazie a Emmet).
Emmet — il tuo superpotere per HTML/CSS
Emmet è integrato in VS Code. Trasforma abbreviazioni in codice completo premendo Tab.
| Scrivi | Premi Tab | Ottieni |
|---|---|---|
! | Tab | Struttura HTML5 completa |
ul>li*3 | Tab | Lista con 3 elementi |
div.container | Tab | <div class="container"></div> |
a[href="#"]{Clicca} | Tab | <a href="#">Clicca</a> |
table>tr>td*3 | Tab | Tabella con 3 celle |
m10 (in CSS) | Tab | margin: 10px; |
p20-30 (in CSS) | Tab | padding: 20px 30px; |
Live Server — anteprima automatica
Con l'estensione Live Server (Ritwick Dey) puoi vedere le modifiche al volo nel browser:
Apri il file HTML
Fai click destro sull'editor di index.html.
Avvia Live Server
Scegli «Open with Live Server». Il browser si apre su localhost:5500.
Modifica e salva
Ogni volta che salvi, il browser si ricarica automaticamente. Nessun refresh manuale!
Prettier — formattazione automatica
Prettier formatta HTML, CSS, JS, JSON e Markdown automaticamente. Configura «Format on Save» in Settings → Editor: Format On Save.
{ "semi": true, "singleQuote": true, "tabWidth": 2, "printWidth": 100 }
Estensioni HTML/CSS consigliate: Live Server, Prettier, Auto Rename Tag (rinomina il tag di chiusura insieme all'apertura), CSS Peek (vai alla definizione CSS con F12), HTML CSS Support (autocompletamento delle classi CSS).
4JavaScript in VS Code
VS Code è nato per JavaScript: supporto nativo, IntelliSense, debug, integrazione Node.js e npm.
Setup base
Crea un file JS
Crea script.js. VS Code riconosce automaticamente la sintassi JS.
Collega all'HTML
Nel tuo HTML aggiungi <script src="/assets/js/script.js"></script> prima di </body>.
Apri la Console
Con Live Server attivo, premi F12 nel browser per aprire la Console e vedere i console.log().
Debug con breakpoint
VS Code ha un debugger integrato potentissimo. Ecco come usarlo:
function calcolaMedia(voti) { let somma = 0; for (let i = 0; i < voti.length; i++) { somma += voti[i]; // ← clicca a sinistra di questa riga } return somma / voti.length; } console.log(calcolaMedia([8, 7, 9, 6]));
Quando il codice si ferma sul breakpoint, nella Run & Debug panel vedi:
- Variables — il valore di tutte le variabili in quel momento
- Watch — espressioni personalizzate da monitorare
- Call Stack — la catena di chiamate
- Breakpoints — tutti i punti di interruzione attivi
Estensioni JavaScript
⚡ ESLint
Trova errori e problemi di stile mentre scrivi. Configurabile con un file .eslintrc.json.
✨ Prettier
Formattazione automatica di JS, TS, JSON, HTML, CSS, MD.
📦 npm Intellisense
Autocompleta i nomi dei pacchetti npm negli import.
🌐 REST Client
Testa API REST direttamente in VS Code con file .http.
5Python in VS Code
Setup completo
Installa Python
Scarica Python da python.org. Importante: spunta «Add Python to PATH» durante l'installazione.
Installa l'estensione Python
In VS Code: Ctrl+Shift+X → cerca «Python» di Microsoft → Installa.
Seleziona l'interprete
Ctrl+Shift+P → «Python: Select Interpreter» → scegli la versione (es. 3.12).
Crea un file .py
VS Code mostra in basso a destra l'interprete selezionato. Clicca per cambiarlo.
Il tuo primo script
def saluta(nome): return f"Ciao, {nome}!" if __name__ == "__main__": print(saluta("Mondo"))
Per eseguirlo:
- Clicca sull'icona ▶ in alto a destra, oppure
- Ctrl+F5 (Run senza debug), oppure
- Nel terminale integrato (Ctrl+`):
python hello.py
Debug Python
Clicca a sinistra del numero di riga per mettere un breakpoint. Premi F5 per avviare il debug. Puoi:
- Step Over (F10) — esegui la riga corrente
- Step Into (F11) — entra nella funzione chiamata
- Continue (F5) — vai al prossimo breakpoint
Ambienti virtuali
Per isolare le dipendenze di ogni progetto:
# Crea un ambiente virtuale python -m venv .venv # Attivalo (Windows) .venv\Scripts\activate # Attivalo (macOS/Linux) source .venv/bin/activate # Installa pacchetti pip install requests # Salva le dipendenze pip freeze > requirements.txt
Estensioni Python
🐍 Python
IntelliSense, linting, debug, test, Jupyter. Indispensabile.
🔍 Pylance
Analisi statica avanzata, type checking, refactoring.
📓 Jupyter
Supporto nativo per notebook .ipynb dentro VS Code.
🎨 Black Formatter
Il formatter ufficiale di Python. Zero configurazione.
6C++ in VS Code
Prerequisiti
Per compilare C++ ti serve un compilatore:
- Windows: MinGW-w64 (installalo tramite MSYS2 o l'installer standalone)
- macOS: Xcode Command Line Tools (
xcode-select --install) - Linux: GCC (
sudo apt install build-essential)
Setup VS Code
Installa l'estensione C/C++
Cerca «C/C++» di Microsoft. Indispensabile.
Crea un file .cpp
Es. main.cpp. Apri la cartella del progetto (non solo il file).
Configura le attività
Premi Ctrl+Shift+P → «C/C++: Edit Configurations (UI)» → imposta il compilatore.
Compila ed esegui
Premi F5: VS Code genera tasks.json e launch.json automaticamente.
#include <iostream> using namespace std; int main() { cout << "Ciao, mondo!" << endl; return 0; }
Estensione alternativa: Code Runner di Jun Han permette di eseguire C++, C, Python, JS e altri con un click. Utile per test veloci, ma l'estensione C/C++ ufficiale è migliore per l'IntelliSense.
7PHP in VS Code
Prerequisiti
Installa PHP:
- Windows: XAMPP, WAMP o installazione nativa
- macOS:
brew install php - Linux:
sudo apt install php
Estensioni essenziali PHP
🐘 PHP Intelephense
IntelliSense, go-to-definition, refactoring, diagnostica. La migliore per PHP.
🐞 PHP Debug
Debug passo-passo con Xdebug. Configurabile via launch.json.
📖 PHP DocBlocker
Genera automaticamente i DocBlock (commenti /** */) per classi e funzioni.
✨ PHP CS Fixer
Formattazione automatica secondo gli standard PSR-12.
Eseguire PHP
Il modo più semplice è usare il server integrato di PHP:
# Dalla cartella del progetto php -S localhost:8000 # Ora apri http://localhost:8000 nel browser
<?php $nome = "Mondo"; echo "Ciao, $nome!"; ?> <!DOCTYPE html> <html> <body> <h1>Pagina PHP</h1> </body> </html>
8Estensioni Top da Installare
Ecco le estensioni che ogni sviluppatore dovrebbe avere, indipendentemente dal linguaggio.
Universali (sempre utili)
✨ Prettier — Code Formatter
Formatta automaticamente il codice. Supporta 15+ linguaggi. Attiva «Format on Save».
30M+ installazioni⚠️ Error Lens
Mostra gli errori direttamente accanto alla riga di codice, senza aprire il panel Problemi.
🎨 Material Icon Theme
Icone colorate per ogni tipo di file. Rende l'Explorer molto più leggibile.
📊 GitLens
Superpoteri per Git: vedi chi ha scritto ogni riga, cronologia, confronti. Indispensabile per lavorare in team.
🔤 Italian Language Pack
Interfaccia di VS Code in italiano. Utile per chi inizia.
📝 Code Spell Checker
Correttore ortografico per codice e commenti. Evita typo nei nomi di variabili.
Web Development
🔴 Live Server
Server locale con ricarica automatica del browser al salvataggio.
🏷️ Auto Rename Tag
Rinomina automaticamente il tag di chiusura quando modifichi quello di apertura.
👁️ CSS Peek
F12 su una classe CSS nell'HTML per andare alla sua definizione.
🌐 REST Client
Testa API REST con file .http. Alternativa leggera a Postman.
Python & Data Science
🐍 Python (Microsoft)
IntelliSense, debug, test, Jupyter. La base per Python in VS Code.
🔍 Pylance
Analisi statica avanzata, type hints, refactoring intelligente.
📓 Jupyter
Esegui celle Jupyter direttamente dentro VS Code.
9Scorciatoie da Tastiera
Le scorciatoie sono ciò che distingue un principiante da un utente esperto. Ecco le più importanti, divise per categoria.
Generali
| Azione | Windows/Linux |
|---|---|
| Command Palette | Ctrl+Shift+P |
| Apri file rapido | Ctrl+P |
| Nuovo file | Ctrl+N |
| Salva | Ctrl+S |
| Salva tutto | Ctrl+K S |
| Chiudi editor | Ctrl+W |
| Riapri editor chiuso | Ctrl+Shift+T |
| Chiudi VS Code | Ctrl+Shift+W |
| Impostazioni | Ctrl+, |
| Scorciatoie tastiera | Ctrl+K Ctrl+S |
Editing
| Azione | Windows/Linux |
|---|---|
| Taglia riga | Ctrl+X |
| Copia riga | Ctrl+C |
| Sposta riga su/giù | Alt+↑/↓ |
| Copia riga su/giù | Shift+Alt+↑/↓ |
| Elimina riga | Ctrl+Shift+K |
| Commenta riga | Ctrl+ù (o /) |
| Commenta blocco | Shift+Alt+A |
| Indenta / de-indenta | Ctrl+] / [ |
| Selezione multipla (cursori) | Alt+Click |
| Aggiungi cursore sopra/sotto | Ctrl+Alt+↑/↓ |
| Seleziona tutte le occorrenze | Ctrl+Shift+L |
| Aggiungi occorrenza alla selezione | Ctrl+D |
Navigazione
| Azione | Windows/Linux |
|---|---|
| Vai a riga | Ctrl+G |
| Vai a simbolo (funzione, classe) | Ctrl+Shift+O |
| Vai a file | Ctrl+P |
| Vai a definizione | F12 |
| Vai indietro | Alt+← |
| Vai avanti | Alt+→ |
| Cerca in tutti i file | Ctrl+Shift+F |
| Sostituisci in tutti i file | Ctrl+Shift+H |
| Split editor | Ctrl+\ |
| Passa a editor successivo | Ctrl+Tab |
Visualizzazione
| Azione | Windows/Linux |
|---|---|
| Mostra/nascondi sidebar | Ctrl+B |
| Mostra/nascondi terminale | Ctrl+` |
| Mostra/nascondi pannello problemi | Ctrl+Shift+M |
| Zen mode (focus) | Ctrl+K Z |
| Full screen | F11 |
| Zoom in / out | Ctrl++ / - |
| Word wrap | Alt+Z |
Debug & esecuzione
| Azione | Windows/Linux |
|---|---|
| Avvia debug | F5 |
| Esegui senza debug | Ctrl+F5 |
| Step over | F10 |
| Step into | F11 |
| Step out | Shift+F11 |
| Continua | F5 |
| Attiva/disattiva breakpoint | F9 |
| Ferma debug | Shift+F5 |
Personalizza le scorciatoie: Ctrl+K Ctrl+S per aprire l'editor delle scorciatoie. Cerca un comando e assegna il tuo tasto preferito.
10Trucchi da Sviluppatore Esperto
1. Multi-cursore
Premi Alt+Click per aggiungere cursori multipli. Utile per modificare più righe contemporaneamente.
Seleziona una parola e premi Ctrl+D ripetutamente per selezionare le occorrenze successive.
2. Command Palette (sempre)
Ctrl+Shift+P e digita quello che vuoi fare. VS Code ha oltre 1000 comandi: cerca «format», «sort», «convert», «run» — c'è quasi sempre un comando pronto.
3. Ricerca intelligente
Premi Ctrl+F nell'editor e usa i toggle:
- Aa — Match case (maiuscole/minuscole)
- ab — Match whole word (parola intera)
- .* — Regex (espressioni regolari)
Con Ctrl+Shift+F cerchi in tutto il progetto, con filtri per tipo di file.
4. Emmet ovunque
Oltre a HTML/CSS, Emmet funziona anche in JSX, Vue, Svelte, PHP e altri. Sempre con Tab.
5. Refactoring intelligente
Clicca destro su una variabile → Rename Symbol (F2). VS Code rinomina tutte le occorrenze nel progetto, non solo dove hai il cursore.
6. Anteprima Markdown
Apri un file .md e premi Ctrl+Shift+V per l'anteprima. Ctrl+K V per l'anteprima affiancata (split).
7. Integrazione Git
VS Code ha Git integrato. Nell'Activity Bar, l'icona con il ramo mostra:
- File modificati (in giallo) e nuovi (in verde)
- Pulsanti per stage, commit, push/pull
- Risoluzione conflitti con diff visuale
Con GitLens vedi chi ha scritto ogni riga, quando, e in quale commit.
8. Terminale integrato
Ctrl+` apre il terminale. Puoi:
- Aprire più terminali con Ctrl+Shift+5
- Dividerli (split) con il pulsante in alto
- Cercare nel terminale con Ctrl+F
- Scegliere la shell predefinita (PowerShell, Bash, Zsh) in Settings
9. Snippet personalizzati
Crea i tuoi snippet riutilizzabili. File → Preferences → Configure User Snippets → scegli linguaggio → aggiungi:
{ "HTML5 base": { "prefix": "html5", "body": [ "<!DOCTYPE html>", "<html lang=\"it\">", "<head>", " <meta charset=\"UTF-8\">", " <title>$1</title>", "</head>", "<body>", " $2", "</body>", "</html>" ], "description": "Struttura HTML5 base" } }
Poi in un file HTML scrivi html5 e premi Tab. Il tuo snippet viene inserito!
10. Estensioni per produttività
📋 Paste JSON as Code
Incolla un JSON e genera automaticamente le classi/interfacce (TypeScript, Python, Go…).
🔢 Sort Lines
Ordina righe alfabeticamente, per lunghezza, reverse. Comodo per liste e import.
📖 Better Comments
Commenti colorati: // ! rosso, // ? blu, // TODO arancione. Molto più leggibili.
🎯 Todo Tree
Raccoglie tutti i TODO, FIXME, HACK del progetto in un pannello unico.
11Esercizi Pratici
Setup completo di un progetto web
Crea una cartella mio-sito con questa struttura:
mio-sito/ ├── index.html ├── css/ │ └── style.css ├── js/ │ └── script.js └── img/
Collega CSS e JS all'HTML, apri con Live Server e verifica che funzioni.
Emmet — scrivi in 5 secondi
Usando solo Emmet (abbreviazioni + Tab), genera:
- Una lista
ulcon 5 elementili - Una tabella con header e 3 righe
- Un form con 3 campi (testo, email, password) e un bottone submit
Mostra suggerimenti
// Lista con 5 elementi ul>li*5 // Tabella con header e 3 righe table>thead>tr>th*3^^tbody>tr*3>td*3 // Form con 3 campi e bottone form>(label+input)*3+button[type=submit]
Debug JavaScript con breakpoint
Scrivi una funzione che calcoli il fattoriale di un numero. Inserisci un breakpoint nella riga del ciclo e osserva come cambiano le variabili passo passo.
Mostra soluzione
function fattoriale(n) { let risultato = 1; for (let i = 2; i <= n; i++) { risultato *= i; // ← breakpoint qui } return risultato; } console.log(fattoriale(5)); // 120
Python: ambiente virtuale
Crea un ambiente virtuale con venv, installa il pacchetto requests, scrivi uno script che scarica una pagina web e salva le dipendenze in requirements.txt.
Estensioni: installa e configura
Installa queste 5 estensioni e configura VS Code per:
- Attivare Format on Save con Prettier
- Mostrare errori inline con Error Lens
- Aprire Live Server con click destro
- Usare le icone di Material Icon Theme
- Attivare GitLens per vedere la cronologia
Checklist di autovalutazione