Roblox Studio dispose d'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 de type, 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é, comme Visual Studio Code, Cursor, Sublime Text ou Notepad++. Les environnements de développement populaires disposent souvent de fonctionnalités ou de plugins qui n'existent pas dans Studio. Pour utiliser un éditeur ou un IDE externe avec Studio, activez la fonctionnalité Synchronisation de Script.
La synchronisation de script fonctionne en synchronisant les scripts dans 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 de script
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 de script est un bon choix. Elle fonctionne également avec les outils de collaboration intégrés de Roblox, que les outils tiers n'ont souvent pas.
La synchronisation de script fonctionne bien avec les projets Roblox existants, car c'est une fonctionnalité supplémentaire plutôt qu'un changement total dans la gestion du projet.
Si vous souhaitez vérifier l'ensemble de votre projet (pas seulement le code) dans le 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.
Configurer la synchronisation de script
Dans l'Explorateur, sélectionnez un ou plusieurs dossiers que vous souhaitez synchroniser.
Cliquez avec le bouton droit et sélectionnez Synchroniser avec….

Choisissez un répertoire sur votre ordinateur (ou créez-en un nouveau) et cliquez sur Enregistrer.
Dans Studio, cliquez à nouveau avec le bouton droit sur le dossier et sélectionnez Synchronisation de Script ⟩ 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 l'éditeur externe.
Vous pouvez synchroniser des scripts individuels, mais nous recommandons fortement de synchroniser des dossiers ; si vous synchronisez un dossier, la synchronisation de script synchronise automatiquement 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 de script, vous voudrez presque certainement ajouter une extension LSP à votre éditeur de texte.
Limites
La synchronisation de script prend en charge jusqu'à 10 000 scripts par instance synchronisée de niveau supérieur et jusqu'à 128 instances synchronisées de niveau supérieur, ce qui permet de s'adapter à de grandes bases de code.
Résolution de conflits
Lors du démarrage ou de la reprise de la synchronisation, s'il y a des différences entre Studio et vos fichiers sur le disque, la synchronisation de script affiche une boîte de dialogue de résolution détaillée. La boîte de dialogue répertorie quels scripts seront ajoutés, modifiés ou supprimés de chaque côté afin que vous puissiez comprendre l'impact du choix Conserver Studio contre Conserver le Disque.
Suppression sélective
Lorsque vous supprimez un script ou un dossier synchronisé dans Studio ou sur le disque, la synchronisation de script ne supprime que les scripts Luau et les fichiers pris en charge. Elle ne supprime pas les fichiers ou dossiers non-Luau qu'elle ne gère pas ; les actifs non-script comme les modèles et les pièces sont préservés même lorsque vous supprimez ou réorganisez des éléments synchronisés autour d'eux.
Création d'équipe
La synchronisation de script fonctionne avec Team Create. L'Explorateur affiche une icône sur les instances qu'un collaborateur est en train de synchroniser. Pour éviter les noms en double, la synchronisation de script ajoute automatiquement un suffixe numérique au nom de toute nouvelle instance ajoutée sous un arbre que vous ou un collaborateur synchronisez.
Évitez les flux de travail où plusieurs personnes synchronisent le même script et modifient les fichiers en même temps. La synchronisation de script continuera de fonctionner, mais les collaborateurs peuvent écraser les modifications des autres.
Conseils clés
La synchronisation de script 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 aux côtés d'autres instances.
Vous pouvez synchroniser des packages, bien que le PackageLink lui-même ne soit pas écrit sur le disque.
Ne synchronisez pas les scripts qui ont des attributs ou des balises. La synchronisation de script 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 le disque.
La synchronisation de script nécessite que les noms des scripts soient compatibles avec votre système de fichiers : pas de noms en double 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 provoquer 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 de Script ⟩ 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 enfants 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 langage
Les serveurs de langage offrent à votre éditeur de texte des fonctionnalités spécifiques à la langue telles que l'autocomplétion, la vérification de type, "aller à la définition", et plus encore. Pour VS Code, nous recommandons le Serveur de Langage Luau.
Les extensions du protocole de serveur de langage (LSP) doivent comprendre la hiérarchie du modèle de données d'un projet pour fonctionner correctement. L'extension VS Code est livrée avec un plugin compagnon pour Studio (Compagnon du Serveur de Langage Luau) qui fournit ces données.
Nous recommandons fortement d'installer les deux. Si vous utilisez l'extension VS Code et le plugin compagnon pour Studio, les fonctionnalités linguistiques fonctionneront correctement dans VS Code tout en utilisant la synchronisation de script.
Extensions recommandées
- Roblox Luau LSP et Compagnon du Serveur de Langage 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 le 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 le disque. Cette approche vous permet de maintenir votre code sans avoir à arrêter et à redémarrer manuellement la synchronisation sur des scripts individuels.
Sur le disque, la synchronisation de script utilise les règles suivantes pour disambiguïser les différents types de scripts les uns des autres.
| Convention de nommage sur le 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 avec enfants. Le type (*) est déterminé par les règles ci-dessus. |
Paramètres
La synchronisation de script a plusieurs paramètres dans la fenêtre Paramètres de Studio (AltS ou ⌥S). Les options par défaut conviennent à la plupart des cas d'utilisation.
| Paramètre | Description |
|---|---|
| Reprendre automatiquement la synchronisation à l'ouverture du lieu | Indique 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 de script. |
| 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 le disque ou la version dans Studio. |
| Conserver les fichiers/répertoires locaux après la synchronisation | Comment gérer les fichiers sur le disque après avoir sélectionné Synchronisation de Script > Arrêter la Synchronisation dans Studio. |
| Extension de fichier | L'extension de fichier à utiliser pour les scripts sur le disque. |