Programování

GitHub převádí Visual Studio Code online

Ve své hlavní řeči na nedávné satelitní akci GitHubu řekl generální ředitel Nat Friedman: „Ve věku sociálního distancování se lidé obracejí k sociálnímu kódování.“ Pracujeme z domova a pomocí nástrojů zabudovaných do GitHubu jsme nahradili mezery v našem pracovním toku, které byly dříve vyplňovány interakcemi s kolegy. Nástroje jako GitHub se staly více než místem, kde ukládáme a sdílíme kód. Nyní jsou to naše virtuální pracoviště, která zahrnují více našich vývojových pracovních toků.

Vztah mezi GitHub a Microsoftem je zajímavý. Microsoft vlastní GitHub, ale je spuštěn jako samostatná entita s velmi malým kontaktem mezi těmito dvěma organizacemi. Je to divize, která dává smysl, protože role GitHubu jako globálního úložiště proprietárního a otevřeného softwaru vyžaduje, aby byl neutrálním centrem - software Spojených národů. To GitHubu umožnilo pokračovat v provozu na vlastní infrastruktuře postavené na vlastních nástrojích a technologiích. Společnost Microsoft mezitím zvýšila své závislosti na GitHubu, budováním vlastních nástrojů na elektronovém rámci GitHubu a používáním GitHubu ve vlastních vývojových procesech.

Vytvořte jej v kódových prostorech GitHub

Je zajímavé vidět, že GitHub staví jednu ze svých nejnovějších funkcí na vrcholu technologie Microsoftu (i když se silným základem open source). Microsoft nedávno změnil název svého vývojového prostředí hostovaného v cloudu Visual Studio Online na Visual Studio Codespaces a Satellite viděl GitHub spustit podobný produkt se stejným názvem.

Je důležité si uvědomit, že ačkoli jsou Visual Studio Codespaces a GitHub Codespaces postaveny na editoru Visual Studio Code společnosti Microsoft, jedná se o velmi odlišné produkty. Protože Visual Studio Code používá GitHub's Electron, je to aplikace TypeScript. Díky tomu je snadné portovat na web a moderní webové prohlížeče s otevřeným zdrojovým kódem editoru kódu v Monaku. Microsoft používá Codespaces jako způsob, jak rozšířit své vývojové prostředí pro stolní počítače do cloudu a sdílet je s spolupracovníky ad hoc. GitHub zachází s Codespaces zcela odlišně, což vám poskytuje prostředí pro úpravy hostované prohlížečem jako součást úložiště kódu.

Myšlenkou GitHub Codespaces je poskytnout spolupracovníkům přístup ke změnám kódu, ať už jsou kdekoli: kontrola kódu, práce s problémy, které byly vzneseny, nebo kontrola kódu, který byl odeslán s požadavkem na stažení. Je to způsob, jak rychle přejít do úložiště a upravit kód, pokud máte volnou minutu a moderní webový prohlížeč. Pokud dáváte přednost použití editoru, rozšíření Visual Studio Codespaces pro VS Code bude také fungovat s GitHub Codespaces.

Vytváření cloudových vývojových prostředí v GitHub Codespaces vám dává možnost definovat výchozí prostředky, které editor používá jako součást úložiště, pomocí známých dotfiles. Uživatelé mohou mít své vlastní konfigurace, které se načítají z jejich profilu. Existuje podpora pro stávající model rozšíření VS Code a Visual Studio Code Marketplace, takže si můžete nainstalovat rozšíření, která potřebujete pro práci s konkrétním projektem. Pokud pracujete s aplikací Go, můžete si nainstalovat příslušná rozšíření Go. Totéž pro Rust, C # a Flutter; prostředí GitHub Codespaces je stejně flexibilní jako samotný Code.

Chcete-li věci urychlit, GitHub nabízí úložiště předkonfigurovaných verzí kontejnerů Codespaces s instancemi pro Node, Go, .NET Core, C ++ a další. Patří mezi ně nástroje pro vytváření a ladění kódu spuštěné v kontejneru Codespaces. Dodáním celého řetězce nástrojů v kontejneru budete moci dělat mnohem víc než jen upravovat kód, například testovat a ověřovat změny před sloučením požadavku na vyžádání.

Každý editor Codespaces bude mít verzi rozšíření VS Code GitHub, která pomůže spravovat problémy a požadavky na vyžádání, stejně jako pracovat s více větvemi vašeho kódu. Úložiště můžete klonovat a pracovat se známým pracovním postupem Git. Codespaces má prostor pro práci se soukromými repozitáři, ale beta bude podporovat pouze osobní a veřejné repozitáře. Pokud používáte GitHub Enterprise, můžete pro práci s kódem použít jiné nástroje; možná dokonce i Visual Studio Codespaces.

GitHub Codespaces potřebují ke spuštění spoustu zdrojů, a přestože je služba během beta verze zdarma, je pravděpodobné, že po spuštění bude placená funkce. Každá instance vyžaduje kontejner k hostování jazykových serverů Visual Studio Code. Uživatelské rozhraní je ve vašem prohlížeči, ale velká část těžkého tréninku potřebného ke spuštění vývojářských nástrojů VS Code musí běžet v kontejneru Codespaces. S mnoha miliony vývojářů, kteří používají GitHub a každý kontejner Codespaces vyžadující dvě jádra a 4 GB paměti, by se využití mohlo velmi rychle sčítat. GitHub však plánuje nabídnout průběžné ceny, které by měly snížit náklady na minimum.

Diskutujte o tom v diskusích GitHub

Úpravy v cloudu jsou jen částí rozšířeného příběhu sociálního kódování GitHubu. Mnoho nedávných prací GitHubu usnadnilo správcům projektů práci s komunitou, která se spojila kolem jejich kódu. I když je možné mít Slack nebo jiné platformy pro spolupráci jako součást kombinovaného pracovního toku, projekty s otevřeným zdrojovým kódem často nejsou schopny platit za plány, které jim umožňují archivovat diskuse. Oddělení konverzace a kódu ztěžuje poskytování přímých vazeb mezi nimi, a přestože komentáře a problémy uvnitř GitHubu nabízejí jeden způsob jejich propojení, jsou stále mnohem formálnější než většina sociálních médií.

Satellite viděl spuštění GitHub Discussions, způsobu, jak vložit vláknové konverzace do úložiště. Poněkud připomínají staré školní diskusní skupiny Usenet, jsou užitečným způsobem, jak vytvořit dokumentaci založenou na spolupráci kolem projektu. Stack Overflow používá takovou strukturu, ale konverzace jsou volnější formou s možností hlasování pro obsah a přímými odkazy na každý diskusní prvek. Správci mohou použít odkazy k přenesení obsahu z Diskuze do jiných dokumentů, takže prvek Diskuze lze propojit s problémem a umožnit tak další konverzaci.

Správa konverzací je důležitá a správci mají možnost uzamknout diskuse, když skončí užitečná konverzace. Přístup založený na rolích může řídit konverzace, například poskytovat diskusi, kterou může číst každý, ale zveřejňovat mohou pouze schválení spolupracovníci. Pokud Discussions mohou dostát svému slibu jako soustředěný a relevantní prostor pro spolupráci kolem kódu a dokumentace, mělo by to dlouhou cestu pomoci vývojářům pracovat na GitHubu bez přepínání kontextu mezi aplikacemi a ztrátou pozornosti, stejně jako vyhnout se dlouhým konverzacím přes otřesy , nezabezpečené odkazy na video.

Vzdálená spolupráce není snadná, proto je pro komunitní weby, jako je GitHub, důležité nabídnout co nejvíce různých nástrojů a služeb s cílem usnadnit spolupráci bez ohledu na to, kde a jak pracujete. GitHub Codespaces a GitHub Discussions vypadají jako důležité kroky na této cestě a bude zajímavé sledovat, jak se používají.