El Editor de Scripts en Studio es la herramienta principal para la programación en Roblox. Es un entorno que se auto-mejora y puede ayudarte a escribir código de alto impacto, acortar tu tiempo de desarrollo e iterar en tus juegos. Puede mejorar tu experiencia de programación al:
- Formatear y resaltar la sintaxis en tu código.
- Ofrecer formas de autocompletar frases en tu código mientras escribes.
- Ayudarte a navegar por el código saltando a las declaraciones de variables y funciones.
- Ayudarte a buscar y reemplazar código en scripts abiertos o en todos los scripts.
- Proporcionar retroalimentación en tiempo real sobre la calidad y el rendimiento de tu código.
El Editor de Scripts admite todos los tipos de scripts y se abre automáticamente cuando creas un nuevo script o haces doble clic en un script existente en la ventana del Explorador.
Funciones de autocompletado
Las funciones de autocompletado del Editor de Scripts generan información relacionada con el código que puede mejorar tu eficiencia de programación, como:
Sugerencias informadas sobre cómo completar frases a medida que las escribes, que son contextuales al modelo de datos del juego. Por ejemplo, si tienes un Model en Workspace llamado RocketShip, el autocompletado sugiere RocketShip cuando escribes workspace.roc e indica que es un Model.

Autocompletar nombres para variables y funciones que declares, ayudándote a evitar molestos errores tipográficos.

Ventanas emergentes de documentación con ejemplos de código que son similares a los de la Referencia de API del Motor, dándote contexto sobre el uso de la API.

Tooltips al pasar el mouse que puedes personalizar con tu propia documentación definida.

Diagnósticos de análisis de scripts al pasar el mouse con información que puedes usar para solucionar errores.

Firmas de funciones cuando escribes un argumento, proporcionándote una referencia para sus parámetros y valores de retorno.

Navegación de código
Ir a declaración
Puedes saltar a la declaración de una función o variable manteniendo presionada Ctrl en Windows o ⌘ en Mac al hacer clic en la llamada, o haciendo clic derecho en su llamada y seleccionando Ir a Declaración.

Filtro de funciones de script
El Filtro de Funciones de Script muestra una lista de todas las funciones declaradas en un script. Para abrirlo, presiona AltF en Windows o ⌥F en Mac. Con la lista abierta, puedes navegar por las firmas de cada función, filtrarlas por nombre y hacer doble clic en una para saltar a su declaración.

Buscar y reemplazar
El widget de Buscar/Reemplazar te permite encontrar y reemplazar código en un script abierto. El widget admite coincidencias de mayúsculas y minúsculas, coincidencias de palabras completas y búsqueda mediante expresiones regulares. Para abrirlo, presiona CtrlF en Windows o ⌘F en Mac.

Retroalimentación en tiempo real
Análisis de Scripts
La ventana de Análisis de Scripts, accesible a través del botón Análisis en la barra de herramientas de la pestaña Script de Studio, realiza un análisis estático en tus scripts y muestra errores y advertencias activas. Para más información sobre los errores y advertencias, consulta la documentación de linting de Luau.


Salida
La ventana de Salida muestra errores capturados de la ejecución de scripts, mensajes del motor de Roblox, mensajes de llamadas a print(), y errores de llamadas a warn().

Asistencia de Código
Asistencia de Código es una función que sugiere líneas o funciones de código a medida que escribes, ayudándote a codificar de manera más eficiente y a mantenerte concentrado. Basado en contextos de tu comentario y código, las sugerencias se activarán de dos maneras:
- Automáticamente cuando pauses en una línea durante unos segundos y el modelo de IA tenga suficiente contexto para una sugerencia.
- Manualmente con el atajo Alt∖ en Windows o ⌥∖ en Mac.
Presiona Tab para aceptar una sugerencia, o ignórala continuando escribiendo. Actualmente, tu script necesita contener al menos unas pocas líneas de código para activar una sugerencia.
Mejorar sugerencias
Para obtener sugerencias más precisas y relevantes, se recomienda que sigas prácticas de codificación limpias, independientemente de la asistencia, y:
- Descompón tu código en funciones más pequeñas.
- Usa nombres descriptivos para los scripts que capturen la intención general de lo que hace cada script. Por ejemplo, nombra un script SyncCustomSounds en lugar de simplemente Sounds.
- Asigna nombres descriptivos a los parámetros, funciones y scripts. Por ejemplo, nombra una parte GreenSphere en lugar de simplemente grs, o nombra una función generateSphere() en lugar de gen(). Usar funciones nombradas en lugar de funciones anónimas también puede producir mejores sugerencias.
- Incluye consistentemente comentarios bien escritos que describan la tarea que estás implementando y cuáles deberían ser las entradas/salidas.
- Considera incluir algunas llamadas de ejemplo con resultados esperados en los comentarios.
- Sugiere cómo resolver un problema, por ejemplo -- Usar raycast.
- Usa el nombre exacto de la función o variable que definiste, por ejemplo -- Crear 10 objetos greenSphere en lugar de -- Crear 10 esferas.
- Si eres un programador novato, comienza con proyectos básicos como "hacer que el jugador salte cuando toque la parte" o usa la herramienta para generar pequeños fragmentos de código que puedas expandir a medida que crece tu conocimiento.
Limitaciones
La herramienta ayuda a automatizar tareas básicas de codificación, pero no siempre sugiere código perfecto. Las limitaciones conocidas incluyen:
- La activación manual no siempre genera forzosamente una sugerencia.
- Las sugerencias se aprenden de manera automática a partir de un corpus de código y, por lo tanto, pueden reflejar algunas limitaciones del código en el que están entrenadas. Por ejemplo, las sugerencias pueden no usar APIs más nuevas en favor de APIs más antiguas, o pueden usar Lua en lugar de Luau.
- La herramienta puede generar información incorrecta o engañosa que no es útil para tu propósito.
- Los filtros internos intentan bloquear lenguaje ofensivo, pero no son exhaustivos y existe la posibilidad de que la herramienta genere información ofensiva o sesgada.
- Las sugerencias pueden ser las mismas, similares o diferentes entre usuarios, incluso con los mismos prompts. Sin embargo, tu código nunca será compartido con otros.
- La sugerencia puede estar incompleta debido a la longitud limitada de la salida de los modelos de aprendizaje.
- Hay un límite diario para el número de sugerencias y, una vez alcanzado el límite, no recibirás más sugerencias hasta el día siguiente.
Privacidad del código
Actualmente, Roblox no utiliza ningún dato no público para entrenar los modelos de aprendizaje. La herramienta solo utiliza un pequeño subconjunto de activos del mercado gratuito para ajustar modelos de lenguaje grandes y el subconjunto ha pasado varias verificaciones de calidad y filtros de seguridad.
Además, todas las sugerencias son generadas por el modelo de IA y no se transfieren de un usuario a otro. Dado que tu código no se utiliza para el entrenamiento del modelo, no se sugerirá a otros usuarios de Asistencia de Código, con la única excepción de que el código se publique en elementos del mercado gratuito.
Múltiples cursores
El Editor de Scripts admite el uso de múltiples cursores para realizar ediciones simultáneamente. Puedes agregar cursores según tus necesidades con un clic del mouse o un atajo de teclado. El cursor inicial se llama cursor primario y los cursores adicionales se llaman cursores secundarios.
- Las ediciones que realices en el cursor primario se copian a los cursores secundarios. Cada edición cuenta como una acción, por lo que deshacer/rehacer una edición se aplica a todos los cursores.
- Widgets como autocompletado aparecen en el cursor primario pero no en los cursores secundarios.
- Todos los atajos de teclado estándar para la edición de scripts funcionan con la edición de múltiples cursores, incluyendo la indentación de código, alternar comentarios y eliminar líneas.
La siguiente tabla resume los flujos de trabajo de múltiples cursores y sus atajos.
| Comando | Windows | Mac |
|---|---|---|
| Agregar/quitar cursor en la ubicación del mouse | Alt + clic | ⌥ + clic |
| Eliminar el cursor agregado más recientemente | CtrlU | ⌘U |
| Agregar/modificar cursor al arrastrar el mouse | Alt + arrastrar | ⌥ + arrastrar |
| Agregar cursor arriba/abajo | CtrlAlt↑ / CtrlAlt↓ | ⌘⌥↑ / ⌘⌥↓ |
| Agregar cursor a la siguiente selección coincidente | CtrlD | ⌘D |
| Agregar cursor a cada selección coincidente | ShiftAltL | Shift⌥L |
| Seleccionar columna/bloque | ShiftAlt + arrastrar | Shift⌥ + arrastrar |
| Dividir selecciones en líneas | ShiftAltI | Shift⌥I |
Agregar cursores
Puedes agregar cursores con una combinación de atajos de teclado y maniobras del mouse. Los cursores se fusionan si ocupan el mismo espacio, como si agregas cursores con las teclas de flecha o eliminas todos los caracteres entre los cursores.
En la ubicación del mouse
Para agregar un cursor en la ubicación de tu puntero del mouse:
Mantén presionado Alt en Windows o ⌥ en Mac.
Haz clic donde quieras agregar el cursor.
Con arrastre del mouse
Puedes arrastrar el mouse para agregar un cursor a una selección, dividir una selección de varias líneas en líneas, o seleccionar columnas y bloques de código/espacios en blanco.
Para agregar un cursor a una selección de código arrastrando:
Mantén presionado Alt en Windows o ⌥ en Mac.
Haz clic y arrastra tu mouse sobre la selección de código.
Arriba y abajo del cursor primario
Para agregar un cursor directamente arriba o abajo del cursor primario:
Presiona y mantén CtrlAlt en Windows o ⌘⌥ en Mac.
Presiona las flechas ↑ o ↓.
A selecciones coincidentes
Puedes agregar cursores a todas las coincidencias de una selección o a la siguiente/anterior coincidencia, y opcionalmente alternar si las coincidencias son sensibles a mayúsculas y minúsculas y/o coinciden con la palabra completa.
Para agregar un cursor a todas las coincidencias de una porción seleccionada:
Selecciona el código que deseas buscar para coincidencias.
Presiona ShiftAltL en Windows o Shift⌥L en Mac.
Eliminar cursores
Puedes eliminar cursores con los siguientes atajos de teclado y maniobras del mouse. Alternativamente, puedes salir de la edición de múltiples cursores presionando Esc.
En la ubicación del mouse
Para eliminar un cursor:
Presiona y mantén Alt en Windows o ⌥ en Mac.
Haz clic en el cursor que deseas eliminar.
El más recientemente agregado
Para eliminar el cursor agregado más recientemente, presiona CtrlU en Windows o ⌘U en Mac.
Copiar y pegar cursores
Copiar una selección de código incluye los cursores dentro de ella. El comportamiento del pegado depende del número de cursores en la fuente y el número de cursores en el destino:
- Si el número de cursores es el mismo, entonces cada cursor copiado se pega en cada cursor de destino correspondiente.
- Si el número de cursores es diferente, entonces cada cursor en el destino recibe todo el pegado con cada cursor copiado como una nueva línea.
Formateo al escribir
Presionar enter/return auto-indentará cada cursor en la nueva línea en relación con la línea anterior. Si la línea anterior comienza con un bloque incompleto, el formateador intentará completarlo.
Configuraciones del editor
Muchas opciones de personalización son accesibles a través de la pestaña Editor de Scripts de Configuraciones de Studio. Las opciones comúnmente modificadas incluyen:
| Opción | Descripción |
|---|---|
| Fuente | Tipo y tamaño de fuente para el código en el editor. |
| Ancho de tabulación | Número de espacios que representan una indentación de Tab. |
| Indentar usando espacios | Si está habilitado, se insertan espacios equivalentes a Ancho de Tab con la pulsación de Tab. |
| Ajuste de texto | Si está habilitado, las líneas de código más largas se ajustan a la siguiente línea. |
| Preset de color del Editor de Scripts | Preset de color para elementos de código, colores de selección y más. Después de elegir un preset, puedes establecer colores específicos para opciones como Color de Selección y Color de Comentario. |
Atajos de teclado
El Editor de Scripts tiene los siguientes atajos de teclado.
| Comando | Windows | Mac |
|---|---|---|
| Cerrar script | CtrlW | ⌘W |
| Reabrir el último script cerrado | CtrlShiftT | ⌘ShiftT |
| Apertura rápida | CtrlP | ⌘P |
| Mostrar script en el Explorador | CtrlAltK | ⌘⌥K |
| Acercar | Ctrl= | ⌘= |
| Alejar | Ctrl- | ⌘- |
| Restablecer zoom del script | Ctrl0 | ⌘0 |