Come sviluppare su un server SSH remoto con Visual Studio Code

0
379

La modifica dei file archiviati su un server remoto non deve essere un goffo pasticcio di comandi di shell e editor di testo di base. Visual Studio Code è uno degli IDE per sviluppatori più popolari e un'estensione ufficialmente supportata ti consente di aggiungere connessioni SSH al tuo spazio di lavoro.

Il telecomando – L'estensione SSH può connettersi ai server di rete, elencare la loro struttura di directory e aprire e modificare i file. Sono disponibili quasi tutte le funzionalità di Visual Studio Code, incluso il completamento del codice IntelliSense, il debug integrato e le estensioni di terze parti.

Guida introduttiva

Inizia aggiungendo il telecomando – Estensione SSH al tuo editor. Premi Ctrl+Shift+P per aprire la tavolozza dei comandi e digita “install”. La barra laterale delle estensioni apparirà a sinistra. Cerca “remoto – ssh” e installa l'estensione corrispondente. È pubblicato e supportato da Microsoft.

Ora devi connetterti al tuo server SSH. L'estensione funziona con host che eseguono Ubuntu, Debian, CentOS, RHEL e Raspbian. Sono supportati anche i server Windows, a condizione che venga utilizzato il server OpenSSH ufficiale di Microsoft. Gli host macOS devono avere la funzione di accesso remoto del sistema operativo abilitata.

Prima di continuare, assicurati di aver copiato la tua chiave pubblica SSH locale nel file authorized_keys del tuo server. VS Code non supporta completamente l'autenticazione basata su password; anche se funzionerà, dovrai reinserire la password ogni volta che viene eseguito un comando.

Annuncio

Premi Ctrl+Shift+P per visualizzare la tavolozza dei comandi. Cerca “esploratore remoto” ed esegui “Visualizza: Mostra Remote Explorer” comando per richiamare il pannello laterale remoto. Seleziona “Destinazioni SSH” dal menu a discesa in alto se non è già selezionato.

Passa con il mouse sopra i “bersagli SSH” voce nel pannello laterale. Fare clic sul pulsante più per creare una nuova connessione. Apparirà un popup che ti permetterà di inserire i dettagli del tuo server. Questo dovrebbe essere un comando di connessione SSH completo con il flag -A per abilitare l'inoltro dell'agente. Ciò ti consente di utilizzare le tue chiavi locali durante l'esecuzione di comandi SSH successivi sul server.

ssh user@example.com -A

Ti verrà chiesto di scegliere un file di configurazione SSH su cui scrivere. Puoi scegliere tra il tuo file utente predefinito, il file delle impostazioni di sistema o una posizione personalizzata. La selezione dell'impostazione predefinita nella tua home directory è di solito l'opzione migliore se non sei sicuro.

Il tuo nuovo host verrà aggiunto alla barra laterale di Remote Explorer. Fare clic sull'icona della cartella accanto al nome per aprire una connessione in una nuova finestra di Visual Studio Code. La configurazione della prima esecuzione potrebbe richiedere alcuni istanti mentre Visual Studio configura l'host remoto e abilita il suo componente server.

Utilizzo di connessioni remote

Al termine dell'installazione, ti ritroverai in una normale finestra di Visual Studio Code che esegue operazioni sull'host selezionato. Fare clic su “Apri cartella” pulsante in alto a sinistra della barra laterale per trovare una directory sul tuo server. Potrebbe esserti richiesto di accettare una richiesta di attendibilità dell'area di lavoro; in tal caso, fai clic su “sì” per contrassegnare la directory come attendibile e abilitare tutte le funzionalità dell'editor.

Ora vedrai la directory lato server visualizzata nel normale pannello Explorer di VS Code. Puoi aprire file, visualizzarne il contenuto e modificarli utilizzando il flusso di lavoro familiare. Se stai lavorando in un repository Git, puoi utilizzare le funzionalità integrate di controllo del codice sorgente per organizzare e confermare le modifiche come al solito.

Pubblicità

Le directory con file .vscode abilitano funzionalità come build e debug. VS Code può eseguire i contenuti delle directory remote, offrendoti un'esperienza di sviluppo completa. Premi F5 per avviare la tua app se è definito un sistema di compilazione. Puoi impostare punti di interruzione e scorrere il codice allo stesso modo dei progetti locali.

Il pannello Terminale VS Code nella parte inferiore della finestra si connetterà anche all'host selezionato. Puoi usarlo per eseguire comandi sul tuo server remoto.

Una volta aperta una directory, in futuro verrà visualizzata nella barra laterale di Remote Explorer. Fai clic sul suo nome sotto l'host SSH per avviare una nuova finestra di VS Code direttamente in quella directory remota.

Come funziona?

Le funzionalità remote funzionano installando un componente server VS Code sulla macchina remota. Questo accade automaticamente la prima volta che ti connetti. Il server monitora il filesystem, applica le modifiche e avvia i processi richiesti dall'editor.

Il server è necessario affinché VS Code abbia accesso completo al filesystem e la capacità di eseguire codice ed eseguire il debug sul tuo host. Normalmente non è necessario interagire con il processo del server poiché è completamente gestito dal client dell'editor. Se necessario, puoi riavviarlo dalla tavolozza dei comandi.

Le estensioni nel file .vscode verranno installate anche sull'host remoto. Questo dà loro lo stesso accesso senza compromessi ai tuoi file, quindi la maggior parte delle estensioni funzionerà senza problemi.

Pubblicità

Quando modifichi all'interno di VS Code, ottieni prestazioni quasi native con pochi spese generali. Le richieste di lettura e scrittura di file vengono inoltrate dalla finestra dell'editor di VS Code al processo del server sull'host remoto. Questo interagisce con il filesystem per fornire i dati richiesti e mettere in atto le modifiche necessarie.

A differenza di altre estensioni di modifica remota, questa si concentra sulla fornitura di un'esperienza di sviluppo remoto completa, non solo sulla semplice modifica dei file. L'inclusione del componente server è fondamentale per questo approccio poiché le funzionalità dell'editor principale rimangono vicine al codice. Sono disaccoppiati dalla finestra di modifica che vedi e con cui interagisci.

Configurazione dell'estensione

L'estensione ha diverse impostazioni a cui puoi accedere tramite “Remote-SSH: Settings” comando. Nella parte superiore della pagina, puoi specificare il percorso di un file di configurazione SSH personalizzato e aggiungere un timeout di connessione predefinito. Ciò interrompe il blocco di Visual Studio per troppo tempo quando un host remoto non risponde. Più in basso nella pagina, i “Tentativi di riconnessione massimi” consente di modificare il comportamento di Visual Studio quando una connessione non riesce.

Le “Estensioni predefinite” L'impostazione consente di aggiungere estensioni VS Code che verranno installate su tutti gli host SSH remoti. Queste estensioni saranno disponibili universalmente, anche se non le hai aggiunte al file .vscode del tuo progetto attivo.

Le seguenti caselle di controllo controllano l'inoltro automatico dell'agente. Questi corrispondono alle impostazioni predefinite del client SSH nel file di configurazione SSH.

Ulteriori impostazioni consentono di personalizzare il modo in cui VS Code espone e si connette al server remoto. Puoi scegliere di utilizzare un socket anziché una porta, raggruppare le connessioni tra finestre aperte e utilizzare un percorso binario SSH personalizzato. Queste impostazioni sono specifiche dell'ambiente; ognuno è accompagnato da una descrizione dell'uso previsto.

Riepilogo

L'estensione SSH remota di VS Code semplifica il lavoro con i file in remoto padroni di casa. Ottieni un'esperienza di sviluppo di prima classe senza sincronizzare manualmente i file tra le macchine.

Pubblicità

Il flusso di lavoro migliora l'utilità degli ambienti di sviluppo remoti. Puoi configurare la tua toolchain su un singolo server e consentire agli sviluppatori di accedervi da remoto. VS Code è più affidabile, performante e potente degli approcci tradizionali come il montaggio del file system remoto localmente o l'utilizzo di software di accesso remoto come VNC.

Oltre alle connessioni SSH, VS Code comprende anche i container Docker, il sottosistema Windows per Linux e GitHub Codespaces. Ottieni tutte le funzionalità dell'editor VS Code indipendentemente da dove risiede il tuo codice, offrendoti maggiore flessibilità durante la configurazione di un nuovo ambiente.