L’editor è installato, ma non tutti gli strumenti di programmazione lo sono. Prima di scrivere il primo programma prepariamo il linguaggio che ci interessa. Questa pagina distingue i componenti, mostra come installare un’estensione e descrive la configurazione iniziale dei principali ambienti.
Le procedure sono alternative secondo il progetto. Per seguire l’esempio Python non occorre installare anche Java, PHP e C++. I comandi di installazione riportati nelle schede sono spiegazioni per il lettore: le pagine del corso non li eseguono automaticamente.
Che cosa serve oltre all’editor
Un ambiente di sviluppo combina editor, strumenti del linguaggio e dipendenze applicative. Per un HTML semplice basta un browser; per Python serve un interprete; per C e C++ servono compilatore e linker. Java e C# richiedono strumenti del rispettivo ecosistema. Un gestore di pacchetti può aggiungere librerie, ma è un livello ulteriore.
La parola installato va riferita a un componente preciso. Si può avere un’estensione Python attiva senza un interprete valido, oppure un compilatore funzionante con l’analisi dell’editor non configurata. Le due situazioni producono sintomi diversi: nel primo caso l’avvio fallisce; nel secondo il codice può compilare mentre compaiono segnalazioni nell’editor.

Schema esplicativo originale creato per il capitolo.
Per verificare una toolchain si controlla il comando nel terminale e si legge la versione. Non si interpreta il triangolo di esecuzione come prova di configurazione: il pulsante richiama uno strumento, che può essere assente o diverso da quello atteso.
Compilatore, interprete, runtime e SDK
Un compilatore traduce il sorgente secondo regole del linguaggio e produce un artefatto: può essere codice macchina, bytecode o altro codice. Il linker combina moduli e riferimenti a librerie dove previsto. Un interprete esegue istruzioni attraverso il proprio ambiente. Un runtime fornisce servizi necessari all’esecuzione. Un SDK raccoglie strumenti per sviluppare in un ecosistema.
Queste definizioni descrivono ruoli, non classificazioni assolute. Python può avere passaggi interni di compilazione; Java combina compilazione e runtime; TypeScript viene trasformato per un ambiente JavaScript. Per i primi passi conta capire il percorso concreto usato dal comando.
| Linguaggio o formato | Supporto dell’editor | Strumento esterno per gli esempi |
|---|---|---|
| HTML e CSS | Incorporato | Browser |
| JavaScript | Incorporato | Node.js per l’esempio da terminale |
| TypeScript | Incorporato per l’analisi | TypeScript del progetto e Node.js per l’esempio illustrato |
| Python | Estensione Python; supporti associati | Interprete Python 3 |
| C e C++ | Estensione C/C++ | GCC/G++ o Clang; debugger per debug |
| Java | Supporto Java o Extension Pack for Java | JDK |
| C# | Supporto C#; C# Dev Kit quando appropriato | SDK .NET |
| PHP | Supporto di base; estensione avanzata facoltativa | Interprete PHP |
Gli esempi usano un percorso semplice e dichiarato. Progetti professionali possono aggiungere build system, framework, servizi e debugger dedicati, che saranno trattati nei capitoli pertinenti.
Che cosa sono le estensioni
Un’estensione aggiunge capacità a VS Code: analisi di un linguaggio, completamento, diagnostica, formattazione, debug, viste o comandi. È un componente software con un editore e una versione. Può richiedere altri componenti o strumenti esterni e può cambiare comportamento con gli aggiornamenti.
Per scegliere si legge la scheda: nome, editore, identificatore, requisiti e istruzioni. L’identificatore unisce normalmente editore e nome, per esempio ms-python.python. Due risultati chiamati Python possono provenire da autori diversi e offrire funzioni diverse.
Un extension pack raccoglie più estensioni. È comodo per avviare un ambiente, ma va letto come una selezione di componenti, non come un unico compilatore. Non è necessario installare tutti i risultati suggeriti. Una configurazione essenziale rende più facile capire chi produca un comando o una segnalazione.
Cercare e installare un’estensione passo passo
- Apri la vista Extensions / Estensioni dalla barra delle attività. La relativa icona richiama un insieme di blocchi.
- Inserisci il nome o l’identificatore nel campo di ricerca.
- Apri la scheda del risultato, prima di premere Install / Installa.
- Controlla editore, identificatore e funzione. Leggi requisiti e istruzioni.
- Premi Install / Installa se il componente è quello desiderato.
- Attendi il completamento e segui l’eventuale richiesta di ricaricamento.
- Cerca il comando previsto nella Command Palette oppure apri un file del linguaggio appropriato.

Schermata Microsoft, documentazione VS Code. Fonte · CC BY 3.0 US. Riprodotta senza modifiche; versione e lingua possono differire dalla tua installazione.
La schermata è tratta dalla documentazione e mostra una versione precedente. I numeri di versione, download e alcune funzioni descritte possono differire: non vengono usati come istruzione per scegliere un pacchetto vecchio. Il criterio rimane il componente corretto e la sua documentazione corrente.

Schermata Microsoft, documentazione VS Code. Fonte · CC BY 3.0 US. Riprodotta senza modifiche; versione e lingua possono differire dalla tua installazione.
Windows
La vista Estensioni si apre normalmente con Ctrl+Shift+X. Per un’installazione locale controlla che la finestra non sia collegata a WSL, SSH o un container: in quei contesti la destinazione dell’estensione può essere diversa.
Linux
Usa normalmente Ctrl+Shift+X oppure l’icona. Se la rete è amministrata, proxy o politiche possono impedire l’accesso al Marketplace. Un errore di download va distinto dalla presenza di una toolchain funzionante.
macOS
Usa normalmente Cmd+Shift+X oppure l’icona. Se una scorciatoia è stata personalizzata, il nome del comando e la vista rimangono disponibili dalla Command Palette.
HTML e CSS: supporto già disponibile
HTML e CSS non richiedono un compilatore per il piccolo sito statico di questo capitolo. VS Code include supporto di editing; il browser costruisce e visualizza la pagina. Il file HTML collega il CSS, e il percorso del collegamento deve corrispondere alla posizione dei documenti.
Non è indispensabile un’estensione di anteprima per aprire il primo esempio nel browser. Un server locale diventa utile quando il progetto usa risorse che richiedono HTTP, moduli o comportamenti specifici. Un’estensione di server è una comodità possibile, non un requisito universale per tutti gli HTML.
La preparazione iniziale consiste nell’avere un browser e nel creare i due file nella cartella prevista. L’esecuzione sarà spiegata nella pagina 1.7. Se il browser mostra il markup come testo, si controllano nome e estensione del file; se manca lo stile, si controlla il percorso del CSS.
JavaScript e TypeScript: installare Node.js
Per JavaScript nel browser si usa il runtime del browser. L’esempio da terminale di questo capitolo usa Node.js, che va installato separatamente. Il supporto JavaScript dell’editor non aggiunge automaticamente il comando node al sistema.
Download ufficiale di Node.js
Apri il sito ufficialeWindows
- Scegli dal sito ufficiale una versione LTS adatta al progetto e il pacchetto per l’architettura.
- Se usi l’installer, aprilo e segui i passaggi, mantenendo i componenti necessari a Node e npm.
- Completa l’installazione e riapri VS Code e il terminale perché ricevano il nuovo ambiente.
- Controlla
node --versionenpm --version.Get-Command nodemostra l’eseguibile trovato.
Se PowerShell segnala un blocco relativo a npm.ps1, si può richiamare npm.cmd --version e confrontare la policy del sistema, senza disabilitare indiscriminatamente protezioni.
Linux
- Scegli un metodo ufficialmente documentato per la distribuzione o un gestore di versioni coerente con il progetto.
- Installa Node e npm secondo quel metodo; non mescolare casualmente pacchetti di sistema e gestori di versioni.
- Riapri la shell e controlla
node --version,npm --versionecommand -v node. - Se il gestore usa uno script di inizializzazione, verifica che venga caricato anche nel terminale integrato.
I repository della distribuzione possono offrire versioni diverse dalle release del sito Node. Si sceglie in base ai requisiti, non soltanto alla disponibilità del primo comando.
macOS
- Scegli una distribuzione ufficiale compatibile con il processore e il progetto.
- Con il pacchetto installer, segui la procedura del sistema. Con un gestore di versioni, segui invece le sue istruzioni.
- Riapri la shell e controlla
node --version,npm --versionecommand -v node. - Verifica che il terminale integrato trovi lo stesso runtime della shell esterna.
TypeScript aggiunge un passaggio ulteriore. VS Code include un servizio di analisi, ma per una compilazione ripetibile si installa TypeScript nel progetto e lo si richiama tramite script o npx tsc. Questo compilatore non è un’estensione del Marketplace. La scelta della versione del servizio nell’editor può essere allineata a quella del workspace.
Python: installare e selezionare l’interprete
Python richiede un interprete e l’estensione Python di Microsoft, identificatore ms-python.python. Componenti associati possono fornire analisi e debug; per il debug si controlla anche Python Debugger. La preparazione del programma minimo non richiede pacchetti applicativi esterni.
Download ufficiale di Python
Apri il sito ufficialeWindows
- Dalla fonte ufficiale scegli il metodo Windows proposto. Le distribuzioni correnti possono usare Python Install Manager.
- Installa il manager con la procedura del sistema, poi apri un nuovo terminale.
- Se non è già presente un runtime, usa la procedura del manager, per esempio
py install default, per installare la versione stabile predefinita. - Controlla
py --versionopython --version. Con il manager puoi consultarepy list. - Se usi un’installazione tradizionale già presente, verifica il suo percorso e le sue opzioni PATH invece di sovrapporre un’altra installazione senza motivo.
Un launcher py precedente e il nuovo manager non sono sempre lo stesso comando. Get-Command py aiuta a capire quale venga trovato; pymanager identifica il manager quando disponibile.
Linux
- Controlla
python3 --version: molte distribuzioni hanno già un interprete di sistema. - Per Debian/Ubuntu, quando necessario, la preparazione può usare
sudo apt install python3 python3-venv python3-pip. - Per altre distribuzioni usa i pacchetti corrispondenti del loro gestore.
- Non sostituire manualmente il Python del sistema per adattarlo a un singolo progetto.
- Verifica
command -v python3nel terminale integrato.
La disponibilità di pip e venv dipende dai pacchetti installati. I pacchetti applicativi saranno isolati in un ambiente di progetto.
macOS
- Scarica un installer Python 3 appropriato dal sito ufficiale oppure usa un metodo documentato del progetto.
- Segui la procedura del pacchetto e riapri il terminale.
- Controlla
python3 --versionecommand -v python3. - Non presumere che una versione presente sul sistema sia quella scelta per sviluppare.
- Seleziona nell’editor il percorso dell’interprete che hai preparato.
Nella Command Palette cerca Python: Select Interpreter e scegli l’ambiente. Il terminale e il debugger devono usare lo stesso Python. La barra di stato e la selezione dell’interprete aiutano a riconoscere il contesto; il percorso concreto è verificabile anche stampando sys.executable, come vedremo nel primo programma.
Ambiente virtuale del progetto
Dopo aver creato la cartella nella pagina 1.6, si può creare .venv. Su Windows il comando è normalmente py -m venv .venv; su Linux e macOS python3 -m venv .venv. L’editor può riconoscerne l’interprete. L’ambiente non va copiato come se fosse portabile tra sistemi: si ricrea.
L’attivazione è una comodità della shell. È possibile usare direttamente l’eseguibile dell’ambiente, ad esempio .venv/bin/python sui sistemi POSIX, senza cambiare impostazioni globali. I percorsi Windows corrispondenti si trovano sotto .venv\Scripts.
C e C++: installare una toolchain
L’estensione C/C++ di Microsoft, identificatore ms-vscode.cpptools, offre funzioni di editor e integrazione. Non contiene automaticamente un compilatore universale. Per gli esempi useremo GCC/G++ o Clang. Il debugger è necessario soltanto quando si vuole una sessione di debug, non per ogni avvio dal terminale.
Windows
Percorso illustrato: GCC tramite MSYS2
- Apri il sito ufficiale MSYS2 e installa il pacchetto secondo le istruzioni del progetto.
- Usa l’ambiente UCRT64 per il percorso GCC x64 qui illustrato. Non confonderlo con la shell MSYS di base.
- Aggiorna l’ambiente seguendo le istruzioni MSYS2 correnti; se viene richiesto un riavvio della shell, completalo prima di continuare.
- Nella shell UCRT64 installa i pacchetti del compilatore e, se desiderato, del debugger.
pacman -S --needed mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gdb- Con l’installazione standard, gli eseguibili si trovano sotto
C:\msys64\ucrt64\bin. Se vuoi richiamarli da PowerShell, aggiungi questa directory al PATH del tuo account tramite le impostazioni delle variabili d’ambiente. - Riapri VS Code e PowerShell. Controlla
gcc --version,g++ --versione, per il debug,gdb --version.
Il percorso è un esempio della collocazione standard e deve corrispondere alla tua installazione. MSVC è un’altra toolchain valida, ma richiede strumenti e ambiente differenti: non si mescolano comandi GCC con configurazioni MSVC.
Linux
- Per Debian/Ubuntu puoi installare la toolchain con
sudo apt install build-essential gdb. - Per altre distribuzioni scegli i pacchetti di GCC/G++ e GDB dal gestore appropriato.
- Controlla
gcc --version,g++ --versionegdb --version. - Installa l’estensione C/C++ e configura il compilatore riconosciuto quando richiesto.
- Verifica che le librerie e gli header usati dal progetto siano disponibili anche alla build reale.
gcc è il comando tipico per C; g++ gestisce normalmente il collegamento necessario ai programmi C++. La sola colorazione di un .cpp non prova che il compilatore sia stato trovato.
macOS
- Per il percorso Clang installa gli strumenti da riga di comando previsti da Apple, normalmente richiamabili con
xcode-select --install. - Completa la procedura proposta dal sistema e le eventuali condizioni richieste.
- Controlla
clang --versioneclang++ --version. - Installa l’estensione C/C++ per l’editing e scegli un’integrazione debugger compatibile se ti serve il debug.
- Usa Clang per i comandi degli esempi, senza copiare un percorso GCC Windows.
Per progetti che richiedono un SDK specifico possono servire requisiti ulteriori. Il primo programma di questo capitolo usa soltanto la libreria standard.
La configurazione dell’analisi deve rispecchiare la build: standard del linguaggio, compilatore e percorsi include. Correggere una sottolineatura aggiungendo un percorso solo all’editor non rende automaticamente valido il comando di compilazione.
Java: installare il JDK e il supporto dell’editor
Java richiede un JDK, che comprende strumenti di sviluppo come javac. Un solo runtime non basta per compilare il primo programma. Il supporto nell’editor può essere predisposto con Extension Pack for Java, identificatore vscjava.vscode-java-pack, leggendo i componenti inclusi.
Download ufficiale del Microsoft Build di OpenJDK
Apri il sito ufficialeWindows
- Scegli un JDK compatibile con l’architettura e il progetto. Per gli esempi va bene un JDK supportato con javac disponibile.
- Segui l’installer della distribuzione. Se propone PATH e JAVA_HOME, leggi e configura le opzioni appropriate.
- Riapri il terminale e controlla
java -versionejavac -version. - Verifica i percorsi con
Get-Command javaeGet-Command javacse i numeri non corrispondono.
Linux
- Usa un JDK supportato dalla distribuzione o il pacchetto ufficiale della distribuzione Java scelta.
- Su Debian/Ubuntu un percorso semplice è
sudo apt install default-jdk, se adatto ai requisiti. - Controlla
java -version,javac -versione i percorsi trovati. - Con più JDK, seleziona quello desiderato secondo gli strumenti del sistema e la configurazione dell’editor.
macOS
- Scarica il JDK per Apple silicon o Intel, secondo il computer.
- Segui l’installazione della distribuzione scelta.
- Riapri il terminale e controlla
java -versionejavac -version. - Se sono presenti più installazioni, controlla quale venga usata e configura il progetto coerentemente.
Installa il supporto Java in VS Code. Un progetto semplice può essere aperto come cartella; Maven e Gradle hanno modelli più articolati. Se il language server richiede un JDK per il proprio avvio distinto da quello del progetto, si seguono i requisiti del componente corrente. È una scelta diversa dal compilatore usato dall’applicazione.
C#: installare l’SDK .NET
Per sviluppare il primo programma C# si usa l’SDK .NET, non soltanto il runtime. L’SDK offre i comandi per creare, compilare ed eseguire il progetto. Nell’editor si prepara il supporto C#; C# Dev Kit, identificatore ms-dotnettools.csdevkit, aggiunge funzioni progettuali secondo requisiti e condizioni del componente.
Download ufficiale dell’SDK .NET
Apri il sito ufficialeWindows
- Dalla pagina ufficiale scegli SDK della versione supportata adatta al progetto e all’architettura.
- Avvia l’installer e completa i passaggi.
- Riapri il terminale e usa
dotnet --info. - Controlla
dotnet --list-sdks: deve esserci un SDK utilizzabile, non soltanto un runtime.
Linux
- Scegli la pagina di installazione ufficiale relativa alla distribuzione.
- Segui il metodo del repository o del pacchetto previsto per quella versione; i comandi non sono universali tra distribuzioni.
- Controlla
dotnet --infoedotnet --list-sdks. - Verifica che l’SDK soddisfi il progetto, soprattutto se esiste un global.json che seleziona una versione.
macOS
- Scarica l’SDK per Apple silicon o Intel, secondo il contesto.
- Completa la procedura del pacchetto ufficiale.
- Riapri il terminale e controlla
dotnet --infoedotnet --list-sdks. - Con installazioni multiple verifica che il comando trovato appartenga al contesto desiderato.
L’estensione di editing e l’SDK hanno compiti differenti. La creazione del progetto console nella pagina 1.7 produrrà un file di progetto oltre al sorgente. Scrivere soltanto un Program.cs in una cartella vuota non equivale alla preparazione del progetto che useremo con dotnet run.
PHP: preparare l’interprete
PHP viene eseguito dall’interprete. Per il primo script basta il comando php; per un’applicazione web l’interprete deve essere coordinato con un server o con il server di sviluppo incorporato. Il browser non esegue il sorgente PHP semplicemente aprendo il file sul disco.
Download e istruzioni ufficiali di PHP
Apri il sito ufficialeWindows
- Segui il collegamento ufficiale alle build Windows e scegli il pacchetto compatibile con il sistema.
- Leggi i requisiti del runtime Visual C++ richiesto dalla build.
- Per un uso da riga di comando estrai il pacchetto in una directory riconoscibile, per esempio
C:\strumenti\php. - Aggiungi al PATH dell’account la directory che contiene php.exe, se vuoi richiamarlo semplicemente come php.
- Riapri il terminale e usa
php --version; controllaGet-Command phpse esistono più installazioni.
Thread Safe e Non Thread Safe dipendono anche dall’integrazione con il server. Per progetti già configurati si mantiene la scelta prevista dal progetto.
Linux
- Installa il pacchetto CLI della distribuzione; su Debian/Ubuntu un esempio è
sudo apt install php-cli. - Controlla
php --versionecommand -v php. - Aggiungi estensioni PHP applicative soltanto quando richieste dal progetto: il primo script non usa un database.
- Per applicazioni web leggi le istruzioni del server scelto, distinte dall’installazione CLI.
macOS
- Non presumere che PHP sia già disponibile nella versione del sistema.
- Segui un metodo di installazione documentato per macOS; un gestore di pacchetti già configurato può fornire PHP.
- Per esempio, con Homebrew già installato e appropriato al tuo contesto,
brew install phpinstalla il pacchetto gestito da quel sistema. - Controlla
php --versionecommand -v php. - Verifica che la versione sia compatibile con il progetto e con eventuali dipendenze Composer.
VS Code ha supporto PHP di base. Per analisi più avanzata si può valutare un componente come PHP Intelephense, identificatore bmewburn.vscode-intelephense-client, leggendo funzioni e condizioni. Per il debug serve anche la preparazione di un sistema come Xdebug sul processo PHP. Questo non è necessario per stampare il primo messaggio dal terminale.
Controllare che gli strumenti siano riconosciuti
Si controlla lo strumento nello stesso terminale che si userà per il progetto. Una shell aperta prima dell’installazione può avere un ambiente precedente; una finestra remota può usare un’altra macchina. Percorso e versione identificano ciò che verrà realmente eseguito.
| Ambiente | Comando iniziale | Che cosa dimostra |
|---|---|---|
| Node.js | node --version | Node è richiamabile in quella shell |
| Python Windows | py --version oppure python --version | Il comando selezionato trova un interprete |
| Python Linux/macOS | python3 --version | Python 3 è richiamabile |
| GCC/G++ | gcc --version e g++ --version | I compilatori sono disponibili |
| Clang | clang --version e clang++ --version | La toolchain Clang è disponibile |
| Java | java -version e javac -version | Runtime e compilatore sono richiamabili |
| .NET | dotnet --info e dotnet --list-sdks | Si vede l’ambiente e la presenza degli SDK |
| PHP | php --version | L’interprete è richiamabile |
Questi comandi non dimostrano che tutte le dipendenze del futuro progetto siano presenti. Sono un controllo del livello iniziale. Se falliscono con «comando non trovato», si affronta installazione o PATH prima di cercare errori nel sorgente.
Aggiornare, disabilitare e disinstallare estensioni
La scheda di un’estensione offre azioni di gestione. Disabilitare mantiene il componente installato ma ne limita l’uso; disinstallare lo rimuove dall’editor. Gli ambiti possono includere workspace, profilo e contesti remoti. Le versioni possono aggiungere o cambiare impostazioni.

Schermata Microsoft, documentazione VS Code. Fonte · CC BY 3.0 US. Riprodotta senza modifiche; versione e lingua possono differire dalla tua installazione.
Se due estensioni forniscono la stessa funzione, si sceglie il provider oppure si isola il conflitto. Non si installano più formatter per risolvere un formatter mal configurato senza controllare la selezione. Analogamente, aggiornare l’estensione non aggiorna necessariamente il compilatore o l’interprete installato nel sistema.