Roblox Studio a un éditeur de script intégré pour modifier le code de votre projet Roblox. L'éditeur comprend des fonctionnalités clés telles que le linting, la vérification des types, l'autocomplétion et l'édition collaborative.
Cependant, de nombreux développeurs ont un éditeur de texte ou un environnement de développement intégré (IDE) préféré, tel que Visual Studio Code, Cursor, Sublime Text ou Notepad++. Les environnements de développement populaires ont souvent des fonctionnalités ou des plugins qui n'existent pas dans Studio. Pour utiliser un éditeur ou un IDE externe avec Studio, activez la fonction Synchronisation des scripts.
La synchronisation des scripts fonctionne en synchronisant les scripts de votre modèle de données avec des fichiers texte sur votre disque local. Les modifications apportées aux fichiers Luau sur le disque sont appliquées aux scripts dans Studio, et vice versa. Cette synchronisation signifie que vous pouvez modifier un script dans un éditeur externe comme VS Code et voir immédiatement le changement dans Studio.
Quand utiliser la synchronisation des scripts
Si vous souhaitez utiliser votre éditeur de texte préféré ou vérifier le code dans le contrôle de version, mais utiliser Studio pour tout le reste, la synchronisation des scripts est un bon choix. Elle fonctionne également avec les outils de collaboration intégrés de Roblox, qui ne sont souvent pas pris en charge par des outils tiers.
La synchronisation des scripts fonctionne bien avec les projets Roblox existants, car c'est une fonctionnalité supplémentaire plutôt qu'un changement total dans la façon dont vous gérez le projet.
Si vous souhaitez vérifier l'ensemble de votre projet (pas seulement le code) dans un contrôle de version ou utiliser votre système de fichiers comme source de vérité pour votre projet, les outils tiers comme Rojo sont un meilleur choix.
Configuration de la synchronisation des scripts
Dans l'Explorateur, sélectionnez un ou plusieurs dossiers que vous souhaitez synchroniser.
Cliquez avec le bouton droit et sélectionnez Synchronisation des scripts ⟩ Synchroniser avec le répertoire.

Choisissez un répertoire sur votre ordinateur (ou créez-en un nouveau) et cliquez sur Enregistrer.
Dans Studio, cliquez avec le bouton droit sur le dossier à nouveau et sélectionnez Synchronisation des scripts ⟩ Révéler dans l'Explorateur (Windows) ou Révéler dans le Finder (macOS).
Ouvrez le répertoire dans votre éditeur de texte préféré.
Alternativement, cliquez avec le bouton droit sur un script individuel dans Studio et sélectionnez Ouvrir dans un éditeur externe.
Vous pouvez synchroniser des scripts individuels, mais nous recommandons fortement de synchroniser des dossiers ; si vous synchronisez un dossier, la synchronisation des scripts automatique prend en charge ses sous-dossiers et scripts, ce qui vous permet de créer, supprimer et renommer des scripts sans avoir à activer la synchronisation à chaque fois.
Après avoir configuré la synchronisation des scripts, vous voudrez presque certainement ajouter une extension LSP à votre éditeur de texte.
Conseils clés
La synchronisation des scripts ne synchronise que les instances Script, LocalScript, ModuleScript et Folder. Toutes les autres instances dans un dossier synchronisé sont ignorées. Évitez de synchroniser des dossiers contenant des scripts à côté d'autres instances.
Ne synchronisez pas les scripts qui ont des attributs ou des étiquettes. La synchronisation des scripts les ignore, ce qui peut entraîner une perte de données si vous créez ou supprimez des scripts ou commencez à synchroniser avec une version plus ancienne de vos fichiers sur disque.
La synchronisation des scripts nécessite que les noms des scripts soient compatibles avec votre système de fichiers—pas de noms dupliqués ou de caractères non pris en charge. Si Studio rencontre l'un de ces problèmes, il génère une erreur et vous demande de résoudre la situation avant de reprendre la synchronisation.
Si des fichiers ou dossiers synchronisés changent pendant que Studio est fermé, Studio vous demande comment vous souhaitez résoudre la situation lorsque vous rouvrez le lieu.
Supprimer une instance de niveau supérieur (ou "racine")—l'instance que vous avez initialement synchronisée—sur votre disque local peut entraîner une erreur dans Studio. Pour supprimer une instance de niveau supérieur :
- Dans Studio, cliquez avec le bouton droit sur le script ou le dossier et sélectionnez Synchronisation des scripts ⟩ Arrêter la synchronisation.
- Choisissez l'option Supprimer le(s) fichier(s) ou Supprimer le(s) dossier(s) pour supprimer l'instance de votre disque local.
- Supprimez le script ou le dossier dans Studio.
Vous pouvez supprimer des instances enfant dans Studio ou sur votre disque local sans désactiver la synchronisation, et la suppression se synchronise comme vous vous y attendez.
Configurer un serveur de langue
Les serveurs de langue donnent à votre éditeur de texte des fonctionnalités spécifiques à la langue telles que l'autocomplétion, la vérification des types, "aller à la définition", et plus encore. Pour VS Code, nous recommandons le serveur de langue Luau.
Les extensions du protocole de serveur de langue (LSP) doivent comprendre la hiérarchie du modèle de données d'un projet pour fonctionner correctement. L'extension VS Code est fournie avec un plugin compagnon Studio (Compagnon du serveur de langue Luau) qui fournit ces données.
Nous recommandons vivement d'installer les deux. Si vous utilisez l'extension VS Code et le plugin compagnon Studio, les fonctionnalités de langage fonctionneront correctement dans VS Code tout en utilisant la synchronisation des scripts.
Extensions recommandées
- Roblox Luau LSP et Compagnon du serveur de langue Luau - Fonctionnalités linguistiques (voir ci-dessus)
- selene - Analyse de code statique (linting)
- StyLua - Formatage automatique du code
Règles de synchronisation
Lors de la synchronisation d'une instance avec des enfants avec un répertoire sur disque, Studio synchronisera automatiquement les opérations de création, de renommage, de déplacement et de suppression sur les enfants avec les fichiers et dossiers correspondants sur disque. Cette approche vous permet de maintenir votre code sans avoir à arrêter et à redémarrer manuellement la synchronisation sur des scripts individuels.
Sur disque, la synchronisation des scripts utilise les règles suivantes pour désambiguïser les différents types de scripts les uns des autres.
| Convention de nommage sur disque | Type d'instance dans Studio |
|---|---|
| name.luau | ModuleScript |
| name.server.luau | Script avec Server Script.RunContext |
| name.client.luau | Script avec Client Script.RunContext |
| name.local.luau | LocalScript |
| name.legacy.luau | Script avec Legacy Script.RunContext |
| name.plugin.luau | Script avec Plugin Script.RunContext |
| name/ (répertoire) | Folder |
| name/init.*.luau | Instance de script contenant des enfants. Le type (*) est déterminé par les règles ci-dessus. |
Paramètres
La synchronisation des scripts a plusieurs paramètres dans la fenêtre Paramètres de Studio (AltS ou ⌥S). Les options par défaut sont bien adaptées à la plupart des cas d'utilisation.
| Paramètre | Description |
|---|---|
| Auto reprendre la synchronisation à l'ouverture du lieu | Si Studio doit reprendre la synchronisation lorsque vous ouvrez un lieu. Désactiver ce paramètre réduit considérablement l'utilité de la synchronisation des scripts. |
| Reprendre la synchronisation conflictuelle à l'ouverture du lieu | Comment Studio doit gérer les conflits lorsque vous ouvrez un lieu. L'option par défaut, Ne pas reprendre, vous oblige à résoudre les conflits manuellement pour éviter la perte de données. Vous pouvez également choisir de préférer la version sur disque ou la version dans Studio. |
| Conserver les fichiers/répertoires locaux après la synchronisation | Comment gérer les fichiers sur disque après avoir sélectionné Synchronisation des scripts > Arrêter la synchronisation dans Studio. |
| Extension de fichier | L'extension de fichier à utiliser pour les scripts sur disque. |