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.