Hva er samarbeidende kode-redigering?

Samarbeidende kode-redigering lar flere utviklere jobbe med den samme koden samtidig, hver i sin egen nettleser. Det er nyttig for parprogrammering, intervjuer, undervisning og feilsøking av et kodeutdrag sammen, uten å måtte sette opp et delt IDE eller sende filer fram og tilbake.

For at alle skal ha en identisk kopi, sendes endringer som små redigeringer i stedet for hele filer, og én server bestemmer rekkefølgen de brukes i. Endringer som gjøres samtidig, tilpasses hverandre slik at begge blir bevart.

Verktøybeskrivelse

Dette verktøyet er en delt JavaScript-editor med syntaksutheving. Åpne den og send lenken: Alle i rommet redigerer den samme koden i sanntid, ser hverandres markører og kan validere eller formatere koden for alle med ett klikk.

Valideringen kontrollerer syntaksen med Babel-parseren (inkludert ES-moduler og JSX). Formateringen bruker Prettier, og den formaterte koden erstatter bare linjene som er endret, slik at det andre skriver imens, forblir der det er.

Funksjoner

  • Redigering i sanntid – endringer fra alle vises umiddelbart og slås sammen når flere skriver samtidig
  • Markører og utvalg – se hvor hver person er, med fargen som vises ved siden av navnet
  • Valider – kontrollerer JavaScript-syntaksen og viser den første feilen med linje og kolonne
  • Formater – formaterer koden på nytt med Prettier for alle i rommet
  • Kopier og last ned – ta vare på en kopi av koden som en .js-fil

Slik fungerer det

Når siden åpnes, oppretter den et rom på synkroniseringsserveren og legger lenken i adressefeltet. Alle som åpner lenken, blir med i det samme rommet og ser det samme dokumentet.

Hver endring sendes til serveren som en kort beskrivelse av hva som ble endret – hvilke tegn som ble satt inn eller slettet, og hvor – i stedet for hele teksten. Serveren setter endringene fra alle i én rekkefølge, flytter en endring som ble gjort i en eldre versjon, forbi endringene som kom først, og sender resultatet videre til alle andre. Det du selv skriver, vises med én gang, og endringer fra andre flettes inn rundt det, slik at ingen mister det de skriver når to personer redigerer samtidig.

Dokumentet lagres bare i serverens minne mens rommet er åpent. Hvis du laster siden på nytt, kommer du tilbake til rommet med teksten slik den var. Når alle har forlatt rommet, slettes rommet og teksten.

Begrensninger

  • Et rom har plass til opptil 20 personer og 100 000 tegn.
  • Ingenting lagres etter at et rom lukkes. Last ned teksten før den siste personen forlater rommet.
  • Svært raske eller omfattende endringer, for eksempel å lime inn hele dokumentet mange ganger etter hverandre, avvises, og editoren laster inn teksten fra rommet på nytt.
  • Hvis du åpner en romlenke i en annen av de samarbeidende editorene (for eksempel et SQL-rom i JavaScript-editoren), vises «Fant ikke rommet»: Hvert rom er knyttet til ett språk.
  • Valideringen kontrollerer bare syntaksen. Koden kjøres aldri.