Roblox Studio tiene un editor de scripts integrado para editar el código en tu proyecto de Roblox. El editor incluye características clave como linting, verificación de tipos, autocompletado y edición colaborativa.
Sin embargo, muchos desarrolladores tienen un editor de texto o un entorno de desarrollo integrado (IDE) preferido, como Visual Studio Code, Cursor, Sublime Text o Notepad++. Los entornos de desarrollo populares a menudo tienen características o complementos que no existen en Studio. Para usar un editor o IDE externo con Studio, habilita la función de Sincronización de Scripts.
La Sincronización de Scripts funciona sincronizando los scripts en tu modelo de datos con archivos de texto en tu disco local. Los cambios realizados en los archivos de Luau en el disco se aplican a los scripts en Studio, y viceversa. Esta sincronización significa que puedes editar un script en un editor externo como VS Code y ver inmediatamente el cambio en Studio.
Cuándo usar la Sincronización de Scripts
Si deseas usar tu editor de texto preferido o registrar código en control de versiones, pero usar Studio para todo lo demás, la Sincronización de Scripts es una buena opción. También funciona con las herramientas de colaboración integradas de Roblox, que a menudo no tienen las herramientas de terceros.
La Sincronización de Scripts funciona bien con proyectos existentes de Roblox, ya que es una función adicional en lugar de un cambio total en la forma en que gestionas el proyecto.
Si deseas registrar todo tu proyecto (no solo el código) en control de versiones o usar tu sistema de archivos como la fuente de verdad para tu proyecto, las herramientas de terceros como Rojo son una mejor opción.
Configurar la Sincronización de Scripts
En el Explorador, selecciona una o más carpetas que deseas sincronizar.
Haz clic derecho y selecciona Sincronizar a….

Elige un directorio en tu computadora (o crea uno nuevo) y haz clic en Guardar.
En Studio, haz clic derecho en la carpeta nuevamente y selecciona Sincronización de Scripts ⟩ Revelar en el Explorador (Windows) o Revelar en el Finder (macOS).
Abre el directorio en tu editor de texto preferido.
Alternativamente, haz clic derecho en un script individual en Studio y selecciona Abrir en Editor Externo.
Puedes sincronizar scripts individuales, pero altamente recomendamos sincronizar carpetas; si sincronizas una carpeta, la Sincronización de Scripts sincroniza automáticamente sus carpetas e scripts hijos, lo que te permite crear, eliminar y renombrar scripts sin tener que habilitar la sincronización cada vez.
Después de configurar la Sincronización de Scripts, casi seguramente querrás agregar una extensión LSP a tu editor de texto.
Límites
La Sincronización de Scripts admite hasta 10,000 scripts por instancia sincronizada de nivel superior y hasta 128 instancias sincronizadas de nivel superior, por lo que se adapta a grandes bases de código.
Resolución de conflictos
Al iniciar o reanudar la sincronización, si hay diferencias entre Studio y tus archivos en el disco, la Sincronización de Scripts muestra un cuadro de diálogo de resolución detallado. El cuadro de diálogo enumera qué scripts se agregarán, modificarán o eliminarán en cada lado para que puedas entender el impacto de elegir Mantener Studio frente a Mantener Disco.
Eliminación selectiva
Cuando eliminas un script o carpeta sincronizada en Studio o en el disco, la Sincronización de Scripts elimina solo scripts de Luau y archivos compatibles. No elimina archivos o carpetas no Luau que no gestiona; los activos que no son scripts, como modelos y partes, se preservan incluso cuando eliminas o reorganizas elementos sincronizados a su alrededor.
Creación en Equipo
La Sincronización de Scripts funciona con Creación en Equipo. El Explorador muestra un ícono en las instancias que un colaborador está sincronizando actualmente. Para evitar nombres duplicados, la Sincronización de Scripts agrega automáticamente un sufijo numérico al nombre de cualquier nueva instancia añadida bajo un árbol que tú o un colaborador están sincronizando.
Evita flujos de trabajo donde varias personas sincronicen el mismo script y editen los archivos al mismo tiempo. La Sincronización de Scripts seguirá funcionando, pero los colaboradores pueden sobrescribir los cambios de los demás.
Consejos clave
La Sincronización de Scripts solo sincroniza instancias de Script, LocalScript, ModuleScript y Folder. Todas las demás instancias en una carpeta sincronizada son ignoradas. Evita sincronizar carpetas que contengan scripts junto a otras instancias.
Puedes sincronizar paquetes, aunque el PackageLink en sí no se escribe en el disco.
No sincronices scripts que tengan atributos o etiquetas. La Sincronización de Scripts ignora estos, lo que puede llevar a la pérdida de datos si creas o eliminas scripts o comienzas a sincronizar con una versión anterior de tus archivos en el disco.
La Sincronización de Scripts requiere que los nombres de los scripts sean compatibles con tu sistema de archivos: sin nombres duplicados ni caracteres no soportados. Si Studio encuentra alguno de estos problemas, lanza un error y te pide que resuelvas la situación antes de reanudar la sincronización.
Si algún archivo o carpeta sincronizada cambia mientras Studio está cerrado, Studio te preguntará cómo deseas resolver la situación cuando vuelvas a abrir el lugar.
Eliminar una instancia de nivel superior (o "raíz")—la instancia que inicialmente sincronizaste—en tu disco local puede causar que Studio lance un error. Para eliminar una instancia de nivel superior:
- En Studio, haz clic derecho en el script o carpeta y selecciona Sincronización de Scripts ⟩ Detener Sincronización.
- Elige la opción Eliminar archivo(s) o Eliminar carpeta(s) para eliminar la instancia de tu disco local.
- Elimina el script o carpeta en Studio.
Puedes eliminar instancias hijas en Studio o en tu disco local sin deshabilitar la sincronización, y la eliminación se sincroniza como esperas.
Configurar un servidor de lenguaje
Los servidores de lenguaje le dan a tu editor de texto características específicas del lenguaje como autocompletado, verificación de tipos, "ir a definición" y más. Para VS Code, recomendamos Luau Language Server.
Las extensiones del protocolo de servidor de lenguaje (LSP) necesitan entender la jerarquía del modelo de datos de un proyecto para funcionar correctamente. La extensión de VS Code viene con un complemento de Studio compañero (Luau Language Server Companion) que proporciona estos datos.
Recomendamos encarecidamente instalar ambos. Si usas la extensión de VS Code y el complemento de Studio compañero, las características del lenguaje funcionarán correctamente en VS Code mientras usas la Sincronización de Scripts.
Extensiones recomendadas
- Roblox Luau LSP y Luau Language Server Companion - Características del lenguaje (ver arriba)
- selene - Análisis de código estático (linting)
- StyLua - Formateo automático de código
Reglas de sincronización
Al sincronizar una instancia con hijos con un directorio en el disco, Studio sincronizará automáticamente las operaciones de crear, renombrar, mover y eliminar en los hijos con los archivos y carpetas correspondientes en el disco. Este enfoque te permite mantener tu código sin tener que detener y reiniciar manualmente la sincronización en scripts individuales.
En el disco, la Sincronización de Scripts utiliza las siguientes reglas para desambiguar los diferentes tipos de scripts entre sí.
| Convención de nombres en el disco | Tipo de instancia en 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/ (directorio) | Folder |
| name/init.*.luau | Instancia de script con hijos. El tipo (*) se determina por las reglas anteriores. |
Configuraciones
La Sincronización de Scripts tiene varias configuraciones en la ventana de Configuraciones de Studio (AltS o ⌥S). Las opciones predeterminadas son adecuadas para la mayoría de los casos de uso.
| Configuración | Descripción |
|---|---|
| Reanudar sincronización automáticamente al abrir el lugar | Si Studio debe reanudar la sincronización cuando abres un lugar. Deshabilitar esta configuración reduce drásticamente la utilidad de la Sincronización de Scripts. |
| Reanudar sincronización en conflicto al abrir el lugar | Cómo debe manejar Studio los conflictos al abrir un lugar. La opción predeterminada, No reanudar, te obliga a resolver conflictos manualmente para evitar la pérdida de datos. También puedes elegir preferir la versión en disco o la versión en Studio. |
| Mantener archivos/directorios locales después de la sincronización | Cómo manejar los archivos en el disco después de seleccionar Sincronización de Scripts > Detener Sincronización en Studio. |
| Extensión de archivo | La extensión de archivo a utilizar para scripts en el disco. |