GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Vzdálený vývoj Visual Studio Code může vše změnit

OK, to je trochu clickbaity, ale rozhodně mě to zaujalo. Můžete si přečíst více o VS Code Remote Development (v době psaní tohoto článku k dispozici v sestaveních VS Code Insiders), ale zde je něco málo o mé první zkušenosti s ním.

Rozšíření pro vzdálený vývoj vyžadují Visual Studio Code Insiders .

Vzdálený vývoj kódu Visual Studio umožňuje používat kontejner, vzdálený počítač nebo Windows Subsystem for Linux (WSL) jako plnohodnotné vývojové prostředí. Efektivně rozděluje VS kód na polovinu a spouští klientskou část na vašem počítači a "VS Code Server" v podstatě kdekoli jinde. Balíček rozšíření Remote Development obsahuje tři rozšíření. Přečtěte si následující články, jak začít s každým z nich:

  • Vzdálené – SSH – Připojte se k libovolnému umístění otevřením složek na vzdáleném počítači/VM pomocí SSH.
  • Vzdálené – Kontejnery – Pracujte s izolovaným toolchainem nebo aplikací založenou na kontejnerech uvnitř (nebo namontované do) kontejneru.
  • Vzdálené – WSL – Získejte zkušenosti s vývojem se systémem Linux v subsystému Windows pro Linux.

Dovolte mi uvést konkrétní příklad. Řekněme, že chci dělat nějakou práci v kterémkoli z těchto jazyků, kromě toho, že na svém počítači ŽÁDNÝ z těchto jazyků/SDKS/nástrojů nemám.

Strana: Možná jste se v tuto chvíli již rozhodli, že reaguji přehnaně a tento příspěvek je nesmysl. Tady je věc, když přijde na vzdálený vývoj. Vydržte.

Na straně Windows spousta lidí vytváří virtuální počítače s Windows v něčím cloudu a pak do tohoto počítače vloží RDP (Remote Desktop) a posouvají kolem sebe pixely, čímž nechají virtuální počítač dělat veškerou práci, zatímco vy vzdálenou obrazovku. Na straně Linuxu spousta lidí vytváří linuxové virtuální počítače nebo kontejnery a pak do nich SSH pomocí svého oblíbeného terminálu, spouští vim a tmux nebo cokoli jiného, ​​a pak posouvají text, takže veškerou práci nechají virtuální počítač dělat, zatímco vy vzdálenou obrazovku. V obou těchto scénářích ve skutečnosti nejste klient/server, ale terminál/server nebo tenký klient/server. VS Code je tlustý klient s čistými a jasnými rozhraními pro jazykové služby, které mají transparentnost umístění.

Napíšu nějaký kód, možná instanci objektu, pak se intellisense vyvolá stisknutím "." - kdo to dělá? Odkud ten seznam pochází? Pokud kód spouštíte lokálně A v kontejneru, musíte se ujistit, že jsou obě strany synchronizované, stejné sady SDK atd. Je to náročné.

OK, na svém počítači nemám jazyk Rust ani sadu nástrojů.

Naklonuji toto úložiště:

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

Poté spustím Code, verzi 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 .

Pak VS Code říká, hej, tohle je Dev Container, chceš, abych ho otevřel?

Existuje soubor devcontainer.json se seznamem rozšíření, která projekt potřebuje. A nainstaluje tato rozšíření VS do kontejneru Development Docker a poté k nim vzdáleně přistupovat. Toto není seznam rozšíření, která váš MÍSTNÍ systém potřebuje – nechcete svůj systém pošpinit 100 rozšířeními. Chcete mít pouze ta rozšíření, která potřebujete pro projekt, na kterém pracujete. Oddělování. Mohli byste dělat vývoj a nikdy nic neinstalovat na svůj místní počítač, ale nacházíte sladké místo, které nezahrnuje posouvání textu nebo pixelů.

Nyní se podívejte na tento snímek obrazovky a absorbujte. Je to nastavení dockerfile, jistě, s vývojovými nástroji, které chcete použít, a pak spustí docker exec a přinese VS Code Server!


Podívejte se do sekce Rozšíření VS Code a podívejte se do levého dolního rohu. Tento zelený stavový řádek ukazuje, že jsme v situaci klient/server. Rozšíření specifická pro Rust jsou nainstalována v Dev Container a používáme je z VS Code.

Když píšu a pracuji na svém kódu tímto způsobem (mimochodem to trvalo jen několik minut, než jsem začal), mám plné zkušenosti s Intellisense, laděním atd.

Zde provádím relaci živého ladění aplikace Rust s nulovým nastavením kromě VS Code Insiders, Remote Extensions a Docker (které jsem již měl).

Jak jsem již zmínil, můžete běžet v rámci WSL, kontejnerů nebo přes SSH. Je to brzy, ale je to mimořádně čisté. Opravdu se těším, až uvidím, jak daleko a bez námahy tento styl vývoje může zajít. Je tu mnohem méně jačího holení! Efektivně odstraní celou část nastavení vašeho zážitku z kódování a dostanete se přímo k tomu.

Sponzor: Spravujte GitHub Pull Requests přímo z IDE s nejnovějším JetBrains Riderem. Integrovaný profilovač výkonu v systému Windows také přichází na pomoc.


Docker
  1. Jak nainstalovat kód Visual Studio na CentOS 7?

  2. Jak používat Qt v kódu Visual Studio?

  3. Jak změnit písmo uživatelského rozhraní Visual Studio Code?

  1. Jak nainstalovat kód Visual Studio na Ubuntu 18.04

  2. Jak nainstalovat kód Visual Studio na Ubuntu 20.04

  3. Jak nainstalovat kód Visual Studio na CentOS 7

  1. Jak nainstalovat kód Visual Studio na CentOS 8

  2. Jak nainstalovat kód Visual Studio na Debian 10

  3. Jak nainstalovat kód Visual Studio na Debian 9