Współdzielony edytor JavaScript
Piszcie wspólnie w JavaScript w czasie rzeczywistym, korzystając ze wspólnych kursorów, a także sprawdzajcie poprawność kodu lub formatujcie go dla wszystkich.
Instrukcja
Czym jest wspólna edycja kodu?
Wspólna edycja kodu pozwala kilku programistom pracować jednocześnie nad tym samym kodem, każdemu we własnej przeglądarce. Przydaje się podczas programowania w parach, rozmów kwalifikacyjnych, nauczania i wspólnego debugowania fragmentu kodu — bez konfigurowania wspólnego IDE ani przesyłania plików.
Aby kopie kodu u wszystkich były identyczne, zmiany są przesyłane jako niewielkie poprawki, a nie całe pliki, a kolejność ich zastosowania ustala jeden serwer. Zmiany wprowadzane w tym samym momencie są wzajemnie dopasowywane, dzięki czemu żadna z nich nie zostaje utracona.
Opis narzędzia
To narzędzie jest wspólnym edytorem JavaScript z podświetlaniem składni. Otwórz go i wyślij link: wszyscy uczestnicy pokoju edytują ten sam kod w czasie rzeczywistym, widzą nawzajem swoje kursory i mogą jednym kliknięciem sprawdzić poprawność lub sformatować kod dla wszystkich.
Sprawdzanie poprawności składni odbywa się za pomocą parsera Babel (w tym modułów ES i JSX). Formatowanie wykorzystuje Prettier, a sformatowany kod zastępuje tylko zmienione wiersze, więc tekst wpisywany w tym czasie przez inne osoby pozostaje na swoim miejscu.
Funkcje
- Edycja w czasie rzeczywistym — zmiany wprowadzane przez wszystkich pojawiają się natychmiast i są łączone, gdy kilka osób pisze w tym samym momencie
- Kursory i zaznaczenia — widać, gdzie znajduje się każda osoba; kolor kursora jest taki sam jak kolor wyświetlany obok jej nazwy
- Sprawdź poprawność — sprawdza składnię JavaScript i pokazuje pierwszy błąd wraz z numerem wiersza i kolumny
- Formatuj — formatuje kod za pomocą Prettier dla wszystkich uczestników pokoju
- Kopiuj i pobierz — zachowaj kopię kodu jako plik .js
Jak to działa
Po otwarciu strony na serwerze synchronizacji tworzony jest pokój, a jego link pojawia się w pasku adresu. Każda osoba, która otworzy ten link, dołącza do tego samego pokoju i widzi ten sam dokument.
Każda zmiana jest wysyłana do serwera w postaci krótkiego opisu tego, co się zmieniło — które znaki zostały wstawione lub usunięte i w którym miejscu — zamiast całego tekstu. Serwer ustala kolejność zmian wprowadzanych przez wszystkich, przesuwa zmianę dokonaną na podstawie starszej wersji za te, które nadeszły wcześniej, a następnie przekazuje wynik pozostałym osobom. Wpisywany przez Ciebie tekst pojawia się od razu, a zmiany wprowadzane przez innych są z nim łączone, dzięki czemu tekst wpisywany przez nikogo nie ginie, gdy dwie osoby edytują dokument w tym samym momencie.
Dokument jest przechowywany w pamięci serwera tylko wtedy, gdy pokój jest otwarty. Po ponownym załadowaniu strony wracasz do pokoju i widzisz tekst w takim stanie, w jakim go pozostawiono; gdy wszyscy opuszczą pokój, pokój i jego tekst zostają usunięte.
Ograniczenia
- W pokoju może przebywać maksymalnie 20 osób, a dokument może zawierać do 100 000 znaków.
- Po zamknięciu pokoju nic nie jest przechowywane. Pobierz tekst, zanim ostatnia osoba opuści pokój.
- Bardzo szybkie lub bardzo duże zmiany, takie jak wielokrotne wklejenie całego dokumentu z rzędu, są odrzucane, a edytor ponownie wczytuje tekst z pokoju.
- Otwarcie linku do pokoju w innym edytorze współpracy (na przykład pokoju SQL w edytorze JavaScript) wyświetla komunikat „Nie znaleziono pokoju”: każdy pokój jest przypisany do jednego języka.
- Sprawdzanie poprawności obejmuje tylko składnię. Kod nigdy nie jest uruchamiany.