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 editing collaborativo.
Molti sviluppatori, tuttavia, 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 dispongono di funzionalità o plugin che non esistono in Studio. Per utilizzare un editor o un IDE esterno con Studio, attiva la funzione Sincronizzazione Script.
La Sincronizzazione Script funziona sincronizzando gli script nel tuo modello 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 usare la Sincronizzazione Script
Se desideri utilizzare il tuo editor di testo preferito o controllare il codice in un sistema di 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 vengono supportati da strumenti di terze parti.
La Sincronizzazione Script funziona bene con i progetti esistenti di Roblox, in quanto è un'opzione aggiuntiva piuttosto che un cambiamento totale nel modo in cui gestisci il progetto.
Se desideri controllare l'intero progetto (non solo il codice) in un sistema di controllo versione o utilizzare il file system come fonte di verità per il tuo progetto, gli strumenti di terze parti come Rojo sono una scelta migliore.
Configura la Sincronizzazione Script
Nell'Esplora, seleziona una o più cartelle che vuoi sincronizzare.
Fai clic destro e seleziona Sincronizzazione Script ⟩ Sincronizza con Directory.

Scegli una directory sul tuo computer (o creane una nuova) e fai clic su Salva.
In Studio, fai clic destro sulla cartella di nuovo e seleziona Sincronizzazione Script ⟩ Rivela in Esplora (Windows) o Rivela nel Finder (macOS).
Apri la directory nel tuo editor di testo preferito.
In alternativa, fai clic 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 sotto-cartelle e script, il che ti consente di creare, eliminare e rinominare script senza dover attivare la sincronizzazione ogni volta.
Dopo aver configurato la Sincronizzazione Script, quasi certamente vorrai aggiungere un'estensione LSP al tuo editor di testo.
Suggerimenti chiave
La Sincronizzazione Script sycronizza 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.
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 posto.
Eliminare un'istanza di livello superiore (o "radice")—l'istanza che hai inizialmente sincronizzato—sul tuo disco locale può causare un errore in Studio. Per eliminare un'istanza di livello superiore:
- In Studio, fai clic destro sullo script o sulla cartella e seleziona Sincronizzazione Script ⟩ Ferma Sincronizzazione.
- Scegli l'opzione Elimina file(e) o Elimina cartella(e) per eliminare l'istanza dal tuo disco locale.
- Elimina lo script o la cartella in Studio.
Puoi eliminare istanze figlio in Studio o sul disco locale senza disabilitare la sincronizzazione, e l'eliminazione si sincronizzerà come ti aspetti.
Configura un server di linguaggio
I server di linguaggio offrono al tuo editor di testo funzionalità specifiche per il linguaggio, come completamento automatico, controllo dei tipi, "vai alla definizione" e altro ancora. Per VS Code, ti raccomandiamo Luau Language Server.
Le estensioni del protocollo del server di linguaggio (LSP) devono comprendere la gerarchia del modello dati di un progetto per funzionare correttamente. L'estensione per 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 per 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 sincronizza automaticamente le operazioni di creazione, rinominazione, spostamento ed eliminazione sui figli con i corrispondenti file e cartelle sul disco. Questo approccio ti consente di mantenere il tuo codice senza dover fermare e riavviare manualmente la sincronizzazione su singoli script.
Sul disco, la Sincronizzazione Script utilizza le seguenti regole per distinguere i diversi tipi di script tra di 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 | Istanze di script con figli. Il tipo (*) è determinato dalle regole sopra. |
Impostazioni
La Sincronizzazione Script ha diverse impostazioni nella finestra delle Impostazioni Studio (AltS o ⌥S). Le opzioni predefinite sono adatte per la maggior parte dei casi d'uso.
| Impostazione | Descrizione |
|---|---|
| Ripristina automaticamente la sincronizzazione all'apertura del posto | Se Studio deve riprendere la sincronizzazione quando apri un posto. Disabilitare questa impostazione riduce notevolmente l'utilità della Sincronizzazione Script. |
| Riprendi sincronizzazione in conflitto all'apertura del posto | Come Studio dovrebbe gestire i conflitti quando apri un posto. 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 > Ferma Sincronizzazione in Studio. |
| Estensione file | L'estensione del file da utilizzare per gli script sul disco. |