Fejlesztőkörnyezet
VS Code
A Visual Studio Code nyílt forráskódú kódszerkesztő, amelyet bővítményekkel szabunk a saját munkafolyamatunkra, helyi gépen és távoli Linux környezetben is.
A Visual Studio Code nyílt forráskódú kódszerkesztő Windowsra, macOS-re és Linuxra. Megmaradt szerkesztőnek: a fájlok, a mappák és a szövegszerkesztés köré épül, a nyelvi szolgáltatásokat, a debuggereket és a build eszközöket bővítmények adják hozzá. Ezért illik jól a mi munkánkhoz, ahol helyi Windows-os munkaállomások, valamint távoli Linux hosztok és konténerek egyaránt használatban vannak.
A felület hat részre tagolódik: szerkesztőterület, elsődleges és másodlagos oldalsáv, állapotsáv, tevékenységsáv és panel. A panel alapból a kimenetet, a hibákat és az integrált terminált tartalmazza. A beállítások a settings.json fájlban írhatók le, felhasználói és munkaterületi szinten is, így munkaterületenként eltérő viselkedés adható.
Bővítmények és a futtató környezet
A bővítményeket a Visual Studio Marketplace-ről telepítjük, a bővítménynézetből; egy bővítményt a közzétevő és a bővítmény azonosítója jelöl egyértelműen. A bővítményeket az extension host futtatja, amelynek ugyanolyan jogosultságai vannak, mint magának a VS Code-nak: fájlt olvashat és írhat, hálózati kérést indíthat, külső folyamatot futtathat, munkaterületi beállítást módosíthat. Ezért a dokumentáció is azt kéri, hogy csak ismert közzétevőtől telepítsünk bővítményt, és előtte nézzük meg a Marketplace oldalán a minősítést és a verifikált közzétevő jelzését.
Az 1.97-es kiadástól első telepítéskor a VS Code rákérdez a közzétevő megbízhatóságára, a megbízható közzétevők listája pedig parancsból szerkeszthető. Szervezeti szinten az extensions.allowed beállítás szabályozza, mely bővítmények telepíthetők. Távoli ablakban a bővítmény ott fut, ahol a munkaterület van: az extensionKind dönti el, hogy egy bővítmény a helyi gépen (ui) vagy a munkaterület oldalán (workspace) fusson.
A munkaterület megbízhatósága
Idegen kódot nem futtatunk magától. A Workspace Trust kérdésére a mappa vagy a munkaterület korlátozott módba kerül, ahol a VS Code a dokumentáció szerint több funkciót letilt vagy korlátoz: az AI ügynököket, a terminált, a feladatokat, a hibakeresést, a munkaterületi beállításokat és a bővítmények egy részét. A bizalmi szint mappánként értelmezett és örökölhető a szülőmappából, a felügyelt környezetek, például a konténerhez csatlakozás pedig eleve megbízhatónak számítanak.
Két dolgot érdemes szem előtt tartani. Kétség esetén hagyjuk a mappát korlátozott módban, mert a bizalom utólag is megadható. A korlátozás viszont nem akadályozza meg azt a rosszindulatú bővítményt, amely figyelmen kívül hagyja a módot.
Feladatok és hibakeresés
A feladatok a .vscode mappában lévő tasks.json fájlban írhatók le, és csak nyitott munkaterület-mappával működnek, egyetlen fájl szerkesztése mellett nem. A VS Code néhány rendszert automatikusan felismer (npm, Gulp, Grunt, Jake), a problem matcherrel pedig a fordító kimenete a hibapanelbe kerül.
- A feladatok nem bejelentkező és nem interaktív shellben futnak, ezért ha egy parancs csak a shell indító szkriptjei miatt van az útvonalon, a feladat nem találja meg.
- A hibakereséshez egyszerű esetben elég az aktív fájl, összetettebb esetben
launch.jsonírja le a konfigurációt. - A JavaScript, a TypeScript és a Node.js hibakeresése beépítve támogatott, más nyelvhez a Marketplace-ről telepítünk debuggert.
- A töréspontok a szerkesztő margóján állíthatók, a hívásverem, a változók és a figyelt kifejezések a hibakereső oldalsávon láthatók.
Távoli fejlesztés SSH-n, WSL-en és konténerben
A távoli fejlesztés lényege, hogy a forráskódnak nem kell a helyi gépen lennie. A Remote Development csomag négy bővítményből áll: SSH, Dev Containers, WSL és Remote - Tunnels. A bővítmények a távoli operációs rendszerre telepítik a VS Code Servert, amely független a távoli gépen esetleg már meglévő VS Code telepítéstől. Így a fejlesztői környezet ugyanaz lehet mindenkinél, és nem kell a helyi gépre telepíteni minden futtatókörnyezetet.
- A Linux hosztokon így dolgozunk: a szerkesztő a helyi gépen fut, a fájlok és a folyamatok a szerveren.
- A konténeres fejlesztés a Docker stackjeinkhez kapcsolódik, ugyanaz a kép szolgálhatja a fejlesztést és az üzemeltetést.
- A beállításszinkron nem viszi át a bővítményeket a távoli ablakokba, ezért a távoli oldalra külön kell telepíteni, amire szükség van.
Szinkronizálás és amire figyelni kell
A beállításszinkron a fiókok menüből kapcsolható be, Microsoft vagy GitHub fiókkal. A szinkronizált elemek: beállítások, billentyűparancsok, felhasználói kódrészletek, felhasználói feladatok, felületi állapot, bővítmények és profilok. Első bekapcsoláskor a helyi és a felhőben lévő állapot összefésülése vagy cseréje közül kell választani. A géphez kötött beállítások alapból nem szinkronizálódnak, a billentyűparancsok platformonként külön szinkronizálódnak, és ez a viselkedés beállításból átírható.
- A telemetria szintje egyetlen beállítással szabályozható, az összeomlásjelentés, a hibaadat és a használati adat külön kapcsolható. A bővítmények saját telemetriájára ez a beállítás nem hat, azt az adott bővítmény dokumentációja írja le.
- Nagy mappát lassabban nyit meg a szerkesztő, mert a projektfájlokat is átfésüli; ilyenkor a
files.excludebeállítással zárhatók ki mappák a keresésből. - A Cursor szerkesztőt is használjuk, és a beállításaink nagy része közös.
Tovább olvasás
A CyberElectrónál a VS Code az elsődleges szerkesztő a Windows-os munkaállomásokon, és innen csatlakozunk a távoli Linux hosztokhoz és a konténerekhez is.