GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Visual Studio Code Remote Development può cambiare tutto

OK, è un po' clickbaity ma mi ha sicuramente impressionato. Puoi leggere di più sullo sviluppo remoto di VS Code (al momento della stesura di questo articolo, disponibile nelle build di VS Code Insider), ma ecco un po' della mia prima esperienza con esso.

Le estensioni per lo sviluppo remoto richiedono Visual Studio Code Insider .

Sviluppo remoto del codice di Visual Studio consente di utilizzare un contenitore, una macchina remota o il sottosistema Windows per Linux (WSL) come ambiente di sviluppo completo. Divide efficacemente VS Code a metà ed esegue la parte client sulla tua macchina e il "VS Code Server" praticamente ovunque altrove. Il pacchetto di estensione Sviluppo remoto include tre estensioni. Consulta i seguenti articoli per iniziare con ciascuno di essi:

  • Remoto - SSH - Connettiti a qualsiasi posizione aprendo le cartelle su una macchina/VM remota usando SSH.
  • Remoto - Contenitori - Lavora con una toolchain sandbox o un'applicazione basata su container all'interno (o montata in) un container.
  • Remote - WSL - Ottieni un'esperienza di sviluppo basata su Linux nel sottosistema Windows per Linux.

Fammi fare un esempio concreto. Diciamo che voglio lavorare in una di queste lingue, tranne per il fatto che non ho NESSUNA di queste lingue/SDKS/strumenti sulla mia macchina.

A parte: Potresti, a questo punto, aver già deciso che sto esagerando e questo post è una sciocchezza. Ecco la cosa però quando si tratta di sviluppo remoto. Tieni duro.

Sul lato Windows, molte persone creano VM Windows nel cloud di qualcuno e quindi eseguono RDP (Desktop remoto) in quella macchina e spingono i pixel in giro, lasciando che la VM faccia tutto il lavoro mentre remoti lo schermo. Sul lato Linux, molte persone creano VM o container Linux e poi SSH al loro interno con il loro terminale preferito, eseguono vim e tmux o altro, e poi spingono il testo, lasciando che la VM faccia tutto il lavoro mentre si remotizza lo schermo. In entrambi questi scenari non sei realmente client/server, sei un terminale/server o un thin client/server. VS Code è un thick client con interfacce pulite e chiare per i servizi linguistici che hanno la trasparenza della posizione.

Digito del codice, forse un'istanza dell'oggetto, quindi viene invocato intellisense premendo "." - chi funziona? Da dove viene quella lista? Se stai eseguendo codice localmente E nel contenitore, devi assicurarti che entrambe le parti siano sincronizzate, gli stessi SDK e così via. È impegnativo.

OK, non ho la lingua Rust o il toolkit sulla mia macchina.

Clonerò questo repository:

git clone https://github.com/Microsoft/vscode-remote-try-rust

Quindi eseguirò Code, la versione Insiders:

C:\github> git clone https://github.com/Microsoft/vscode-remote-try-rust   
Cloning into 'vscode-remote-try-rust'...
Unpacking objects: 100% (38/38), done.
C:\github> cd .\vscode-remote-try-rust\
C:\github\vscode-remote-try-rust [main =]> code-insiders .

Quindi VS Code dice, ehi, questo è un Dev Container, vuoi che lo apra?

C'è un file devcontainer.json che ha un elenco di estensioni necessarie al progetto. E installerà quelle estensioni VS all'interno di un contenitore Docker di sviluppo e quindi accedervi da remoto. Questo non è un elenco di estensioni di cui ha bisogno il tuo sistema LOCALE:non vuoi insudiciare il tuo sistema con 100 estensioni. Vuoi avere solo le estensioni di cui hai bisogno per il progetto su cui stai lavorando. Compartimentazione. Potresti fare sviluppo e non installare mai nulla sul tuo computer locale, ma stai trovando un punto debole che non implica il trasferimento di testo o pixel in giro.

Ora guarda questo screenshot e assorbi. Sta configurando un dockerfile, certo, con gli strumenti di sviluppo che vuoi usare e poi esegue docker exec e porta il VS Code Server!


Controlla la sezione Estensioni di VS Code e controlla l'angolo in basso a sinistra. Quella barra di stato verde mostra che ci troviamo in una situazione client/server. Le estensioni specifiche di Rust sono installate nel Dev Container e le stiamo usando da VS Code.

Quando sto digitando e lavorando sul mio codice in questo modo (tra l'altro ci sono voluti solo pochi minuti per iniziare) ho un'esperienza completa con Intellisense, Debugging, ecc.

Qui sto eseguendo una sessione di debug dal vivo di un'app Rust senza alcuna configurazione diversa da VS Code Insiders, Remote Extensions e Docker (che avevo già).

Come accennato, puoi eseguire all'interno di WSL, Containers o su SSH. Sono i primi giorni ma è straordinariamente pulito. Non vedo l'ora di vedere fino a che punto e senza sforzo questo stile di sviluppo può arrivare. C'è così tanto meno da radersi! Rimuove efficacemente l'intera parte di configurazione della tua esperienza di codifica e ci arrivi subito.

Sponsor: Gestisci le richieste pull di GitHub direttamente dall'IDE con l'ultimo JetBrains Rider. Anche un profiler delle prestazioni integrato su Windows viene in soccorso.


Docker
  1. Come installare il codice di Visual Studio su Ubuntu 18.04

  2. Come installare il codice di Visual Studio su Ubuntu 20.04

  3. Come installare il codice di Visual Studio su CentOS 7?

  4. Come utilizzare Qt in Visual Studio Code?

  5. Come cambiare il carattere dell'interfaccia utente di Visual Studio Code?

Come installare Visual Studio Code (VS Code) su Fedora 34/35

Come installare il codice di Visual Studio su AlmaLinux 8

Come installare il codice di Visual Studio su Manjaro 20

Come installare il codice di Visual Studio su Debian 11

Come installare il codice di Visual Studio su Ubuntu 15.04

Come modificare il codice nei contenitori Docker con il codice di Visual Studio