Roblox Studio ha un editor di script integrato per modificare il codice nel tuo progetto Roblox. L'editor include funzionalità chiave come linting, controllo dei tipi, completamento automatico e modifica collaborativa.
Tuttavia, molti sviluppatori hanno un editor di testo o un ambiente di sviluppo integrato (IDE) preferito, come Visual Studio Code, Cursor, Sublime Text o Notepad++. Gli ambienti di sviluppo popolari spesso hanno funzionalità o plugin che non esistono in Studio. Per utilizzare un editor o un IDE esterno con Studio, abilita la funzione Sincronizzazione Script.
La Sincronizzazione Script funziona sincronizzando gli script nel tuo modello di dati con file di testo sul tuo disco locale. Le modifiche apportate ai file Luau sul disco vengono applicate agli script in Studio e viceversa. Questa sincronizzazione significa che puoi modificare uno script in un editor esterno come VS Code e vedere immediatamente la modifica in Studio.
Quando utilizzare la Sincronizzazione Script
Se desideri utilizzare il tuo editor di testo preferito o controllare il codice nel controllo versione, ma utilizzare Studio per tutto il resto, la Sincronizzazione Script è una buona soluzione. Funziona anche con gli strumenti di collaborazione integrati di Roblox, che spesso non sono supportati da strumenti di terze parti.
La Sincronizzazione Script funziona bene con i progetti Roblox esistenti, poiché è una funzionalità aggiuntiva piuttosto che un cambiamento totale nel modo in cui gestisci il progetto.
Se desideri controllare l'intero progetto (non solo il codice) nel controllo versione o utilizzare il tuo file system come fonte di verità per il tuo progetto, gli strumenti di terze parti come Rojo sono una scelta migliore.
Configurare la Sincronizzazione Script
Nell'Esplora, seleziona una o più cartelle che desideri sincronizzare.
Fai clic con il tasto destro e seleziona Sincronizza con….

Scegli una directory sul tuo computer (o creane una nuova) e fai clic su Salva.
In Studio, fai clic con il tasto destro sulla cartella di nuovo e seleziona Sincronizzazione Script ⟩ Mostra in Esplora (Windows) o Mostra in Finder (macOS).
Apri la directory nel tuo editor di testo preferito.
In alternativa, fai clic con il tasto destro su uno script individuale in Studio e seleziona Apri in Editor Esterno.
Puoi sincronizzare script individuali, ma ti consigliamo vivamente di sincronizzare le cartelle; se sincronizzi una cartella, la Sincronizzazione Script sincronizza automaticamente le sue sottocartelle e script, il che ti consente di creare, eliminare e rinominare script senza dover abilitare la sincronizzazione ogni volta.
Dopo aver configurato la Sincronizzazione Script, quasi sicuramente vorrai aggiungere un'estensione LSP al tuo editor di testo.
Limiti
La Sincronizzazione Script supporta fino a 10.000 script per ogni istanza sincronizzata di primo livello e fino a 128 istanze sincronizzate di primo livello, quindi si adatta a grandi basi di codice.
Risoluzione dei conflitti
Quando avvii o riprendi la sincronizzazione, se ci sono differenze tra Studio e i tuoi file sul disco, la Sincronizzazione Script mostra una finestra di dialogo di risoluzione dettagliata. La finestra di dialogo elenca quali script verranno aggiunti, modificati o eliminati su ciascun lato in modo da poter comprendere l'impatto della scelta Mantieni Studio rispetto a Mantieni Disco.
Eliminazione selettiva
Quando elimini uno script o una cartella sincronizzati in Studio o sul disco, la Sincronizzazione Script rimuove solo gli script Luau e i file supportati. Non elimina file o cartelle non Luau che non gestisce; le risorse non script come modelli e parti vengono preservate anche quando rimuovi o riorganizzi gli elementi sincronizzati attorno a esse.
Team Create
La Sincronizzazione Script funziona con Team Create. L'Esplora visualizza un'icona sulle istanze che un collaboratore sta attualmente sincronizzando. Per evitare nomi duplicati, la Sincronizzazione Script aggiunge automaticamente un suffisso numerico al nome di qualsiasi nuova istanza aggiunta sotto un albero che tu o un collaboratore state sincronizzando.
Evita flussi di lavoro in cui più persone sincronizzano lo stesso script e modificano i file contemporaneamente. La Sincronizzazione Script continuerà a funzionare, ma i collaboratori possono sovrascrivere le modifiche reciproche.
Suggerimenti chiave
La Sincronizzazione Script sincronizza solo le istanze Script, LocalScript, ModuleScript e Folder. Tutte le altre istanze in una cartella sincronizzata vengono ignorate. Evita di sincronizzare cartelle che contengono script insieme ad altre istanze.
Puoi sincronizzare pacchetti, anche se il PackageLink stesso non viene scritto sul disco.
Non sincronizzare script che hanno attributi o tag. La Sincronizzazione Script ignora questi, il che può portare a perdita di dati se crei o elimini script o inizi a sincronizzare con una versione più vecchia dei tuoi file sul disco.
La Sincronizzazione Script richiede che i nomi degli script siano compatibili con il tuo file system: nessun nome duplicato o caratteri non supportati. Se Studio incontra uno di questi problemi, genera un errore e ti chiede di risolvere la situazione prima di riprendere la sincronizzazione.
Se qualche file o cartella sincronizzati cambia mentre Studio è chiuso, Studio ti chiederà come desideri risolvere la situazione quando riapri il luogo.
Eliminare un'istanza di primo livello (o "radice")—l'istanza che hai inizialmente sincronizzato—sul tuo disco locale può causare un errore in Studio. Per eliminare un'istanza di primo livello:
- In Studio, fai clic con il tasto destro sullo script o sulla cartella e seleziona Sincronizzazione Script ⟩ Interrompi Sincronizzazione.
- Scegli l'opzione Elimina file o Elimina cartelle per eliminare l'istanza dal tuo disco locale.
- Elimina lo script o la cartella in Studio.
Puoi eliminare istanze figlie in Studio o sul tuo disco locale senza disabilitare la sincronizzazione, e l'eliminazione si sincronizza come ti aspetti.
Configurare un server di linguaggio
I server di linguaggio forniscono al tuo editor di testo funzionalità specifiche per il linguaggio come completamento automatico, controllo dei tipi, "vai alla definizione" e altro. Per VS Code, ti consigliamo di utilizzare Luau Language Server.
Le estensioni del protocollo del server di linguaggio (LSP) devono comprendere la gerarchia del modello di dati di un progetto per funzionare correttamente. L'estensione di VS Code viene fornita con un plugin companion per Studio (Luau Language Server Companion) che fornisce questi dati.
Ti consigliamo vivamente di installare entrambi. Se utilizzi l'estensione di VS Code e il plugin companion per Studio, le funzionalità linguistiche funzioneranno correttamente in VS Code mentre utilizzi la Sincronizzazione Script.
Estensioni consigliate
- Roblox Luau LSP e Luau Language Server Companion - Funzionalità linguistiche (vedi sopra)
- selene - Analisi statica del codice (linting)
- StyLua - Formattazione automatica del codice
Regole di sincronizzazione
Quando si sincronizza un'istanza con figli con una directory sul disco, Studio sincronizzerà automaticamente le operazioni di creazione, rinomina, spostamento ed eliminazione sui figli con i file e le cartelle corrispondenti sul disco. Questo approccio ti consente di mantenere il tuo codice senza dover interrompere e riavviare manualmente la sincronizzazione su script individuali.
Sul disco, la Sincronizzazione Script utilizza le seguenti regole per disambiguare i diversi tipi di script tra loro.
| Convenzione di denominazione sul disco | Tipo di istanza in Studio |
|---|---|
| name.luau | ModuleScript |
| name.server.luau | Script con Server Script.RunContext |
| name.client.luau | Script con Client Script.RunContext |
| name.local.luau | LocalScript |
| name.legacy.luau | Script con Legacy Script.RunContext |
| name.plugin.luau | Script con Plugin Script.RunContext |
| name/ (directory) | Folder |
| name/init.*.luau | Istanza di script con figli. Tipo (*) è determinato dalle regole sopra. |
Impostazioni
La Sincronizzazione Script ha diverse impostazioni nella finestra Impostazioni Studio (AltS o ⌥S). Le opzioni predefinite sono adatte per la maggior parte dei casi d'uso.
| Impostazione | Descrizione |
|---|---|
| Riprendi automaticamente la sincronizzazione all'apertura del luogo | Se Studio deve riprendere la sincronizzazione quando apri un luogo. Disabilitare questa impostazione riduce drasticamente l'utilità della Sincronizzazione Script. |
| Riprendi sincronizzazione in conflitto all'apertura del luogo | Come Studio deve gestire i conflitti quando apri un luogo. L'opzione predefinita, Non riprendere, ti costringe a risolvere i conflitti manualmente per evitare la perdita di dati. Puoi anche scegliere di preferire la versione sul disco o la versione in Studio. |
| Mantieni file/cartelle locali dopo la sincronizzazione | Come gestire i file sul disco dopo aver selezionato Sincronizzazione Script > Interrompi Sincronizzazione in Studio. |
| Estensione file | L'estensione del file da utilizzare per gli script sul disco. |