Roblox Studio heeft een ingebouwde scripteditor voor het bewerken van de code in je Roblox-project. De editor bevat belangrijke functies zoals linting, typecontrole, autocompletion en samenwerkingsbewerking.
Veel ontwikkelaars hebben echter een voorkeur voor een teksteditor of geïntegreerde ontwikkelomgeving (IDE), zoals Visual Studio Code, Cursor, Sublime Text of Notepad++. Populaire ontwikkelomgevingen hebben vaak functies of plugins die niet in Studio aanwezig zijn. Om een externe editor of IDE met Studio te gebruiken, schakel je de Script Synchronisatie-functie in.
Script Synchronisatie werkt door de scripts in je datamodel te synchroniseren met tekstbestanden op je lokale schijf. Wijzigingen die in de Luau-bestanden op de schijf worden aangebracht, worden toegepast op de scripts in Studio, en vice versa. Deze synchronisatie betekent dat je een script in een externe editor zoals VS Code kunt bewerken en de wijziging onmiddellijk in Studio kunt zien.
Wanneer Script Synchronisatie te gebruiken
Als je je favoriete teksteditor wilt gebruiken of code in versiebeheer wilt controleren, maar Studio voor de rest wilt gebruiken, is Script Synchronisatie een goede keuze. Het werkt ook met Roblox's ingebouwde samenwerkingstools, die vaak niet beschikbaar zijn in externe tools.
Script Synchronisatie werkt goed met bestaande Roblox-projecten, aangezien het een extra functie is in plaats van een totale verschuiving in hoe je het project beheert.
Als je je hele project (niet alleen de code) in versiebeheer wilt controleren of je bestandssysteem als de bron van waarheid voor je project wilt gebruiken, zijn externe tools zoals Rojo een betere keuze.
Script Synchronisatie instellen
Selecteer in de Explorer een of meer mappen die je wilt synchroniseren.
Klik met de rechtermuisknop en selecteer Synchroniseren naar….

Kies een map op je computer (of maak een nieuwe aan) en klik op Opslaan.
Klik in Studio opnieuw met de rechtermuisknop op de map en selecteer Script Synchronisatie ⟩ Toon in Explorer (Windows) of Toon in Finder (macOS).
Open de map in je favoriete teksteditor.
Als alternatief kun je met de rechtermuisknop op een individueel script in Studio klikken en Openen in Externe Editor selecteren.
Je kunt individuele scripts synchroniseren, maar we raden ten zeerste aan om mappen te synchroniseren; als je een map synchroniseert, synchroniseert Script Synchronisatie automatisch de submappen en scripts, waardoor je scripts kunt maken, verwijderen en hernoemen zonder elke keer de synchronisatie in te schakelen.
Nadat je Script Synchronisatie hebt ingesteld, wil je bijna zeker een LSP-extensie toevoegen aan je teksteditor. Voor richtlijnen over het organiseren van je code, zie Scripttypes en locaties.
Beperkingen
Script Synchronisatie ondersteunt tot 10.000 scripts per top-level gesynchroniseerde instantie en tot 128 top-level gesynchroniseerde instanties, zodat het geschikt is voor grote codebases.
Conflictoplossing
Bij het starten of hervatten van de synchronisatie, als er verschillen zijn tussen Studio en je bestanden op de schijf, toont Script Synchronisatie een gedetailleerde oplossingsdialoog. De dialoog geeft aan welke scripts aan elke kant zullen worden toegevoegd, gewijzigd of verwijderd, zodat je de impact van het kiezen van Studio behouden versus Schijf behouden kunt begrijpen.
Selectieve verwijdering
Wanneer je een gesynchroniseerd script of een map in Studio of op de schijf verwijdert, verwijdert Script Synchronisatie alleen Luau-scripts en ondersteunde bestanden. Het verwijdert geen niet-Luau-bestanden of mappen die het niet beheert; niet-scriptactiva zoals modellen en onderdelen blijven behouden, zelfs wanneer je gesynchroniseerde items eromheen verwijdert of reorganiseert.
Team Create
Script Synchronisatie werkt met Team Create. De Explorer toont een pictogram op instanties die een medewerker momenteel synchroniseert. Om dubbele namen te voorkomen, voegt Script Synchronisatie automatisch een numerieke suffix toe aan de naam van elke nieuwe instantie die onder een boom wordt toegevoegd die jij of een medewerker aan het synchroniseren is.
Vermijd workflows waarbij meerdere mensen hetzelfde script synchroniseren en de bestanden tegelijkertijd bewerken. Script Synchronisatie blijft functioneren, maar medewerkers kunnen elkaars wijzigingen overschrijven.
Belangrijke tips
Script Synchronisatie synchroniseert alleen Script, LocalScript, ModuleScript en Folder instanties. Alle andere instanties in een gesynchroniseerde map worden genegeerd. Vermijd het synchroniseren van mappen die scripts naast andere instanties bevatten.
Je kunt pakketten synchroniseren, hoewel de PackageLink zelf niet op de schijf wordt geschreven.
Synchroniseer geen scripts die attributen of tags hebben. Script Synchronisatie negeert deze, wat kan leiden tot gegevensverlies als je scripts maakt of verwijdert of begint met synchroniseren met een oudere versie van je bestanden op de schijf.
Script Synchronisatie vereist dat de namen van scripts compatibel zijn met je bestandssysteem—geen dubbele namen of niet-ondersteunde tekens. Als Studio een van deze problemen tegenkomt, geeft het een foutmelding en vraagt je om de situatie op te lossen voordat je de synchronisatie hervat.
Als er gesynchroniseerde bestanden of mappen veranderen terwijl Studio is gesloten, vraagt Studio je hoe je de situatie wilt oplossen wanneer je de plaats opnieuw opent.
Het verwijderen van een top-level (of "root") instantie—de instantie die je aanvankelijk hebt gesynchroniseerd—op je lokale schijf kan ervoor zorgen dat Studio een foutmelding geeft. Om een top-level instantie te verwijderen:
- Klik in Studio met de rechtermuisknop op het script of de map en selecteer Script Synchronisatie ⟩ Stop Synchronisatie.
- Kies de optie Verwijder bestand(en) of Verwijder map(pen) om de instantie van je lokale schijf te verwijderen.
- Verwijder het script of de map in Studio.
Je kunt kindinstanties in Studio of op je lokale schijf verwijderen zonder de synchronisatie uit te schakelen, en de verwijdering synchroniseert zoals je zou verwachten.
Een taaldienst instellen
Taaldiensten geven je teksteditor taal-specifieke functies zoals autocompletion, typecontrole, "ga naar definitie," en meer. Voor VS Code raden we de Luau Language Server aan.
Taaldienstprotocol (LSP) extensies moeten de hiërarchie van het datamodel van een project begrijpen om goed te functioneren. De VS Code-extensie wordt geleverd met een bijbehorende Studio-plugin (Luau Language Server Companion) die deze gegevens levert.
We raden ten zeerste aan om beide te installeren. Als je de VS Code-extensie en de bijbehorende Studio-plugin gebruikt, zullen taalfuncties correct werken in VS Code terwijl je Script Synchronisatie gebruikt.
Aanbevolen extensies
- Roblox Luau LSP en Luau Language Server Companion - Taalfuncties (zie hierboven)
- selene - Statische code-analyse (linting)
- StyLua - Automatische code-opmaak
Synchronisatieregels
Bij het synchroniseren van een instantie met kinderen met een map op de schijf, zal Studio automatisch aanmaak-, hernoem-, verplaats- en verwijderbewerkingen op kinderen synchroniseren met de bijbehorende bestanden en mappen op de schijf. Deze aanpak stelt je in staat om je code te onderhouden zonder handmatig de synchronisatie op individuele scripts te stoppen en opnieuw te starten.
Op de schijf gebruikt Script Synchronisatie de volgende regels om de verschillende soorten scripts van elkaar te onderscheiden.
| Naamgevingsconventie op schijf | Instantietype in Studio |
|---|---|
| name.luau | ModuleScript |
| name.server.luau | Script met Server Script.RunContext |
| name.client.luau | Script met Client Script.RunContext |
| name.local.luau | LocalScript |
| name.legacy.luau | Script met Legacy Script.RunContext |
| name.plugin.luau | Script met Plugin Script.RunContext |
| name/ (map) | Folder |
| name/init.*.luau | Scriptinstantie met kinderen. Type (*) wordt bepaald door de bovenstaande regels. |
Instellingen
Script Synchronisatie heeft verschillende instellingen in het Studio-instellingen venster (AltS of ⌥S). De standaardopties zijn een goede keuze voor de meeste gebruikssituaties.
| Instelling | Beschrijving |
|---|---|
| Automatisch hervatten van synchronisatie bij openen van plaats | Of Studio de synchronisatie moet hervatten wanneer je een plaats opent. Het uitschakelen van deze instelling vermindert de bruikbaarheid van Script Synchronisatie aanzienlijk. |
| Hervat conflicterende synchronisatie bij openen van plaats | Hoe Studio om moet gaan met conflicten wanneer je een plaats opent. De standaardoptie, Niet hervatten, dwingt je om conflicten handmatig op te lossen om gegevensverlies te voorkomen. Je kunt ook kiezen om de versie op de schijf of de versie in Studio te verkiezen. |
| Houd lokale bestanden/mappen na synchronisatie | Hoe om te gaan met bestanden op de schijf nadat je Script Synchronisatie > Stop Synchronisatie in Studio hebt geselecteerd. |
| Bestandsindeling | De bestandsindeling die moet worden gebruikt voor scripts op de schijf. |