Editor TypeScript collaborativo
Scrivete TypeScript insieme in tempo reale con cursori condivisi e convalidatelo o formattatelo per tutti.
Leggimi
Che cos'è la modifica collaborativa del codice?
La modifica collaborativa del codice consente a più sviluppatori di lavorare contemporaneamente sullo stesso codice, ciascuno nel proprio browser. È utile per la programmazione in coppia, i colloqui, l'insegnamento e il debugging condiviso di uno snippet, senza dover configurare un IDE condiviso o scambiarsi file.
Per mantenere identiche le copie di tutti, le modifiche vengono trasmesse come piccoli interventi anziché come file interi, e un server ne stabilisce l'ordine di applicazione. Le modifiche apportate nello stesso momento vengono adattate l'una all'altra, così entrambe vengono mantenute.
Descrizione dello strumento
Questo strumento è un editor TypeScript condiviso con evidenziazione della sintassi. Aprilo e invia il link: tutti i partecipanti alla stanza modificano lo stesso codice in tempo reale, vedono i cursori degli altri e possono convalidare o formattare il codice per tutti con un solo clic.
La convalida controlla la sintassi con il parser Babel e il relativo plugin TypeScript, che riconoscono annotazioni di tipo, interfacce, generics ed enum. La formattazione usa il parser TypeScript di Prettier e il codice formattato sostituisce solo le righe modificate, così ciò che gli altri digitano nel frattempo resta al suo posto.
Funzionalità
- Modifica in tempo reale - le modifiche di tutti appaiono subito e vengono unite quando più persone digitano nello stesso momento
- Cursori e selezioni - scopri dove si trova ciascuno, grazie al colore mostrato accanto al suo nome
- Convalida - controlla la sintassi TypeScript e mostra il primo errore con la relativa riga e colonna
- Formatta - riformatta il codice con Prettier per tutti i partecipanti alla stanza
- Copia e scarica - conserva una copia del codice come file .ts
Come funziona
Quando si apre la pagina, viene creata una stanza sul server di sincronizzazione e il relativo link viene inserito nella barra degli indirizzi. Chiunque apra il link accede alla stessa stanza e visualizza lo stesso documento.
Ogni modifica viene inviata al server come una breve descrizione di ciò che è cambiato - quali caratteri sono stati inseriti o eliminati e dove - anziché come testo completo. Il server stabilisce un unico ordine per le modifiche di tutti, sposta una modifica apportata su una versione precedente dopo quelle che la precedono e ne invia il risultato a tutti gli altri. Ciò che digiti appare subito e le modifiche degli altri vengono unite alle tue, così nessuna digitazione va persa quando due persone modificano il documento nello stesso momento.
Il documento viene conservato solo nella memoria del server e solo finché la stanza è aperta. Se ricarichi la pagina, rientri nella stanza e ritrovi il testo com'era; quando tutti se ne sono andati, la stanza e il suo testo vengono eliminati.
Limitazioni
- Una stanza può ospitare fino a 20 persone e contenere 100.000 caratteri.
- Quando una stanza viene chiusa, non viene conservato nulla. Scarica il testo prima che l'ultima persona se ne vada.
- Le modifiche molto rapide o molto grandi, ad esempio incollare l'intero documento molte volte di seguito, vengono rifiutate e l'editor ricarica il testo della stanza.
- Se apri il link di una stanza in un altro editor collaborativo (ad esempio una stanza SQL nell'editor JavaScript), viene visualizzato il messaggio "Stanza non trovata": ogni stanza è associata a un solo linguaggio.
- La convalida controlla solo la sintassi, non i tipi: anche il codice che non verrebbe compilato a causa di un errore di tipo viene considerato valido. JSX (.tsx) non è supportato.