Programmering

GitHub tar Visual Studio Code online

I sin hovedtelling på GitHubs siste satellittarrangement sa administrerende direktør Nat Friedman: "I en tid med sosial distansering, snur folk seg til sosial koding." Vi jobber hjemmefra og bruker verktøyene som er innebygd i GitHub for å erstatte hullene i arbeidsflyten vår som tidligere ble fylt med interaksjoner med kolleger. Verktøy som GitHub har blitt mer enn stedet vi lagrer og deler kode. De er nå våre virtuelle arbeidsplasser, som omfatter flere av utviklingsarbeidsflytene våre.

Forholdet mellom GitHub og Microsoft er interessant. Microsoft eier GitHub, men det drives som en egen enhet med svært liten kontakt mellom de to organisasjonene. Det er en divisjon som er fornuftig, ettersom GitHubs rolle som et globalt lager for proprietær og åpen kildekode-programvare krever at den er et nøytralt knutepunkt - et FN-programvare. Det har tillatt GitHub å fortsette å kjøre på sin egen infrastruktur, bygget på egne verktøy og teknologier. I mellomtiden har Microsoft økt avhengigheten av GitHub, bygd sine egne verktøy på GitHubs elektronrammeverk og brukt GitHub i sine egne utviklingsprosesser.

Bygg den i GitHub Codespaces

Det er interessant å se GitHub bygge en av sine nyeste funksjoner på toppen av en Microsoft-teknologi (om enn en med et sterkt open source-fundament). Microsoft endret nylig navnet på sitt utviklingsmiljø for Visual Studio Online til Visual Studio Codespaces, og Satellite så GitHub lansere et lignende produkt med samme navn.

Det er viktig å merke seg at selv om både Visual Studio Codespaces og GitHub Codespaces er bygget oppå Microsofts Visual Studio Code Editor, er de veldig forskjellige produkter. Ettersom Visual Studio Code bruker GitHubs Electron, er det et TypeScript-program. Det gjør det enkelt å portere til Internett og moderne nettlesere, med åpen kildekode for Monaco-kodeditor. Microsoft bruker Codespaces som en måte å utvide skrivebordets utviklingsmiljø inn i skyen, og dele det med ad hoc-samarbeidspartnere. GitHub behandler Codespaces ganske annerledes, og gir deg et nettleservært redigeringsmiljø som en del av et kodelager.

Ideen bak GitHub Codespaces er å gi samarbeidspartnere tilgang til koden når den endres, uansett hvor de måtte være: gjennomgang av kode, arbeid med problemer som har blitt reist, eller gjennomgang av kode som er sendt inn med en pull-forespørsel. Det er en måte å raskt komme inn i et depot for å redigere kode hvis du har et gratis minutt og en moderne nettleser. Hvis du foretrekker å bruke en redaktør, fungerer Visual Studio Codespaces-utvidelsen for VS Code også med GitHub Codespaces.

Å bygge skyutviklingsmiljøer i GitHub Codespaces gir deg muligheten til å definere standardressursene redigereren bruker som en del av et lager, ved hjelp av kjente dotfiles. Brukere kan ha sine egne konfigurasjoner, som lastes inn fra profilen sin. Det er støtte for VS Codes eksisterende utvidelsesmodell og Visual Studio Code Marketplace, slik at du kan installere utvidelsene du trenger for å jobbe med et bestemt prosjekt. Hvis du jobber med en Go-app, kan du installere de aktuelle Go-utvidelsene. Det samme for Rust, C # og Flutter; GitHub Codespaces-miljøet er like fleksibelt som selve koden.

For å få fart på tingene tilbyr GitHub et lager med forhåndskonfigurerte versjoner av Codespaces-containere, med forekomster av Node, Go, .NET Core, C ++ og mer. Disse inkluderer verktøy for å bygge og feilsøke kode, som kjører i Codespaces-containeren. Ved å levere en hel verktøykjede i en container, kan du gjøre mye mer enn å redigere kode, for eksempel å teste og verifisere endringer før du slår sammen en pull-forespørsel.

Hver Codespaces-redaktør vil ha en versjon av VS Code GitHub-utvidelsen for å hjelpe deg med å håndtere problemer og trekke forespørsler, samt å jobbe med flere grener av koden din. Du kan klone arkiver ved å jobbe med den kjente Git-arbeidsflyten. Det er mulighet for Codespaces til å jobbe med private repositories, men beta vil bare støtte personlige og offentlige repositorier. Hvis du bruker GitHub Enterprise, kan du bruke andre verktøy til å jobbe med koden din; kanskje til og med Visual Studio Codespaces.

GitHub Codespaces trenger mange ressurser for å kjøre, og selv om tjenesten er gratis i løpet av betaversionen, vil det sannsynligvis være en betalingsfunksjon når den lanseres. Hver forekomst krever en container for å være vert for Visual Studio Code språkserverne. Brukergrensesnittet er i nettleseren din, men mye av det tunge løftet som kreves for å kjøre VS Codes utviklerverktøy, må kjøres i Codespaces-containeren. Med mange millioner utviklere som bruker GitHub og hver Codespaces-beholder som krever to kjerner og 4 GB minne, kan bruken legge seg raskt opp. Imidlertid planlegger GitHub å tilby prissammenligning, som skal holde kostnadene på et minimum.

Diskuter det i GitHub Discussions

Redigering i skyen er bare en del av GitHubs utvidede sosiale kodingshistorie. Mye av GitHubs nylige arbeid har gjort det lettere for prosjektansvarlige å jobbe med samfunnet som har samlet seg rundt koden deres. Selv om det er mulig å ha Slack eller andre samarbeidsplattformer som en del av en kombinert arbeidsflyt, kan ikke open source-prosjekter ofte betale for planer som gjør det mulig for dem å arkivere diskusjoner. Å skille samtale og kode gjør det vanskelig å gi direkte koblinger mellom de to, og selv om kommentarer og problemer i GitHub tilbyr en måte å knytte dem sammen, er de fortsatt mye mer formelle enn de fleste sosiale medier.

Satellite så lanseringen av GitHub Discussions, en måte å legge inn gjengede samtaler i et depot. Noe som minner om Usenet-nyhetsgrupper fra old school, de er en nyttig måte å bygge samarbeidsdokumentasjon rundt et prosjekt. Stack Overflow bruker en struktur som den, men samtaler er mer fri form med muligheten til å stemme på innhold, samt direkte lenker til hvert diskusjonselement. Vedlikeholdere kan bruke lenker til å bringe innhold fra diskusjoner til andre dokumenter, slik at et diskusjonselement kan knyttes til et problem for å tillate videre samtale.

Samtalestyring er viktig, og vedlikeholdere har muligheten til å låse diskusjoner når nyttig samtale er over. Rollebasert tilgang kan kontrollere samtaler, for eksempel ved å gi en diskusjon alle kan lese, men bare godkjente samarbeidspartnere kan legge ut. Hvis Diskusjoner kan oppfylle løftet sitt som et fokusert, relevant rom for samarbeid rundt kode og dokumentasjon, bør det gå langt for å hjelpe utviklere med å jobbe på GitHub uten å bytte kontekst mellom applikasjoner og miste fokus, samt å unngå lange samtaler over rystende , usikre videolinker.

Eksternt samarbeid er ikke enkelt, så det er viktig for nettsteder som GitHub å tilby så mange forskjellige verktøy og tjenester som mulig, med sikte på å gjøre det enkelt å jobbe sammen, uansett hvor eller hvordan du jobber. GitHub Codespaces og GitHub Discussions ser ut til å være viktige trinn på den reisen, og det vil være interessant å se hvordan de blir brukt.

$config[zx-auto] not found$config[zx-overlay] not found