Roblox Studio tiene un editor de scripts incorporado 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 externo o un IDE con Studio, habilita la función 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 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 utilizar 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 de Roblox existentes, ya que es una característica 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.
Configura la Sincronización de Scripts
En el Explorador, selecciona una o más carpetas que deseas sincronizar.
Haz clic derecho y selecciona Sincronización de Scripts ⟩ Sincronizar con Directorio.

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 Explorador (Windows) o Revelar en 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 recomendamos encarecidamente sincronizar carpetas; si sincronizas una carpeta, la Sincronización de Scripts sincroniza automáticamente sus carpetas secundarias y scripts, 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.
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 con otras instancias.
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 disco.
La Sincronización de Scripts requiere que los nombres de los scripts sean compatibles con tu sistema de archivos: no debe haber 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 hacer 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 secundarias en Studio o en tu disco local sin deshabilitar la sincronización, y la eliminación se sincroniza como esperas.
Configura un servidor de lenguaje
Los servidores de lenguaje le brindan a tu editor de texto características específicas del lenguaje como autocompletado, verificación de tipos, "ir a la 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 para Studio (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, las características de 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 de lenguaje (ver arriba)
- selene - Análisis de código estático (linting)
- StyLua - Formato automático de código
Reglas de sincronización
Al sincronizar una instancia con hijos con un directorio en disco, Studio sincronizará automáticamente las operaciones de creación, renombrado, movimiento y eliminación en los hijos con los archivos y carpetas correspondientes en disco. Este enfoque te permite mantener tu código sin tener que detener y reiniciar manualmente la sincronización en scripts individuales.
En disco, la Sincronización de Scripts utiliza las siguientes reglas para desambiguar los diferentes tipos de scripts entre sí.
| Convención de nombres en 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ática al abrir lugar | Si Studio debe reanudar la sincronización al abrir un lugar. Deshabilitar esta configuración reduce drásticamente la utilidad de la Sincronización de Scripts. |
| Reanudar sincronización en conflicto al abrir 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 optar por 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 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 disco. |