O Editor de Script no Studio é a principal ferramenta para programação na Roblox. É um ambiente que melhora a si mesmo, ajudando você a escrever códigos de alto impacto, encurtar o tempo de desenvolvimento e iterar suas experiências. Ele pode melhorar sua experiência de programação por meio de:
- Formatação e destaque de sintaxe no seu código.
- Oferecendo formas de autocompletar frases em seu código à medida que você digita.
- Ajudando você a navegar pelo código ao pular para declarações de variáveis e funções.
- Ajudando você a encontrar e substituir código em scripts abertos ou em todos os scripts.
- Fornecendo feedback em tempo real sobre a qualidade e desempenho do seu código.
O Editor de Script suporta todos os tipos de scripts e abre automaticamente quando você cria um novo script ou clica duas vezes em um script existente na janela Explorer.
Recursos de autocompletar
Os recursos de autocompletar do Editor de Script geram informações relacionadas ao código que podem melhorar sua eficiência de programação, como:
Sugestões informadas sobre como completar frases à medida que você as digita, contextualizadas no modelo de dados da experiência. Por exemplo, se você tem uma Model em Workspace chamada RocketShip, o autocompletar sugere RocketShip quando você digita workspace.roc e indica que é uma Model.

Preenchimento automático de nomes para variáveis e funções que você declara, ajudando a evitar erros de digitação.

Pop-ups de documentação com exemplos de código que são semelhantes aos da Referência API do Engine, fornecendo contexto sobre o uso da API.

Dicas de ferramentas ao passar o mouse que você pode personalizar com sua própria documentação definida.

Análises de diagnóstico de script ao passar o mouse com informações que você pode usar para solucionar erros.

Assinaturas de funções quando você digita um argumento, fornecendo referências para seus parâmetros e valores de retorno.

Navegação de código
Ir para declaração
Você pode pular para a declaração de uma função ou variável segurando Ctrl no Windows ou ⌘ no Mac ao clicar na chamada ou clicando com o botão direito em sua chamada e clicando em Ir para Declaração.

Filtro de funções de script
O Filtro de Funções de Script exibe uma lista de todas as funções declaradas em um script. Para abri-lo, pressione AltF no Windows ou ⌥F no Mac. Com a lista aberta, você pode navegar pelas assinaturas de cada função, filtrá-las pelo nome e clicar duas vezes em uma para pular para sua declaração.

Encontrar e substituir
O widget Buscar/Substituir permite que você encontre e substitua código em um script aberto. O widget suporta correspondência de maiúsculas e minúsculas, correspondência da palavra inteira e busca por expressões regulares. Para abri-lo, pressione CtrlF no Windows ou ⌘F no Mac.

Feedback em tempo real
Análise de Script
A janela Análise de Script, acessível através do botão Análise na barra de ferramentas da aba Script do Studio, realiza uma análise estática nos seus scripts e exibe erros e avisos ativos. Para mais informações sobre os erros e avisos, consulte a documentação sobre Linting Luau.


Saída
A janela Saída exibe erros capturados durante a execução de scripts, mensagens do motor Roblox, mensagens de chamadas para print() e erros de chamadas para warn().

Assistência de Código
Assistência de Código é um recurso que sugere linhas ou funções de código à medida que você digita, ajudando você a codificar mais eficientemente e a se manter concentrado. Com base nos contextos de seu comentário e código, sugestões serão acionadas de duas maneiras:
- Automaticamente quando você pausar em uma linha por alguns segundos e o modelo de IA tiver contexto suficiente para uma sugestão.
- Manual com o atalho Alt∖ no Windows ou ⌥∖ no Mac.
Pressione Tab para aceitar uma sugestão ou ignore-a continuando a digitar. Atualmente, seu script precisa conter pelo menos algumas linhas de código para acionar uma sugestão.
Melhorar sugestões
Para obter sugestões mais precisas e relevantes, é recomendado que você siga práticas de codificação limpa, independentemente da assistência, e:
- Divida seu código em funções menores.
- Use nomes descritivos para scripts que capturem a intenção geral do que cada script faz. Por exemplo, nomeie um script SyncCustomSounds em vez de apenas Sounds.
- Atribua nomes descritivos para parâmetros, funções e scripts. Por exemplo, nomeie uma parte GreenSphere em vez de simplesmente grs, ou nomeie uma função generateSphere() em vez de gen(). Usar funções nomeadas em vez de funções anônimas também pode gerar dicas melhores.
- Inclua consistentemente comentários bem escritos que descrevam a tarefa que você está implementando e quais devem ser as entradas/saídas.
- Considere incluir algumas chamadas de exemplo com resultados esperados nos comentários.
- Sugira como resolver um problema, por exemplo -- Usar raycast.
- Use o nome exato da função ou variável que você definiu, por exemplo -- Criar 10 objetos greenSphere em vez de -- Criar 10 spheres.
- Se você é um programador iniciante, comece com projetos básicos, como "fazer o jogador pular quando tocar na parte" ou use a ferramenta para gerar pequenos trechos de código que você pode expandir à medida que seu conhecimento cresce.
Limitações
A ferramenta ajuda a automatizar tarefas básicas de codificação, mas não sempre sugere um código perfeito. As limitações conhecidas incluem:
- A ativação manual não sempre força a geração de uma sugestão.
- As sugestões são aprendidas por máquina a partir de um corpus de código e podem, portanto, refletir algumas limitações do código com o qual foram treinadas. Por exemplo, sugestões podem não usar APIs mais novas em favor de APIs mais antigas, ou podem usar Lua em vez de Luau.
- A ferramenta pode gerar informações incorretas ou enganosas que não são úteis para seu propósito.
- Filtros internos tentam bloquear linguagem ofensiva, mas não são abrangentes e existe a possibilidade de que a ferramenta gere informações ofensivas ou tendenciosas.
- As sugestões podem ser iguais, similares ou diferentes entre os usuários, mesmo com os mesmos prompts. No entanto, seu código nunca será compartilhado com outros.
- A sugestão pode ser incompleta devido à extensão limitada de saída dos modelos de aprendizado.
- Há um limite diário para o número de sugestões e, uma vez que o limite seja alcançado, você não receberá mais sugestões até o dia seguinte.
Privacidade do Código
Atualmente, a Roblox não usa nenhum dado não público para treinar os modelos de aprendizado. A ferramenta usa apenas um pequeno subconjunto de ativos de mercado gratuito para ajustar grandes modelos de linguagem e o subconjunto passou por várias verificações de qualidade e filtros de segurança.
Além disso, todas as sugestões são geradas pelo modelo de IA e não são transferidas de um usuário para outro. Como seu código não é usado para o treinamento do modelo, ele não será sugerido a outros usuários de Assistência de Código, com a exceção de códigos postados em itens de mercado gratuito.
Múltiplos cursores
O Editor de Script suporta o uso de múltiplos cursores para fazer edições simultaneamente. Você pode adicionar cursores de acordo com suas necessidades com um clique do mouse ou um atalho de teclado. O cursor inicial é chamado de cursor primário e os cursores adicionais são chamados de cursores secundários.
- As edições que você faz no cursor primário são copiadas para os cursores secundários. Cada edição conta como uma ação, portanto, desfazer/repetir uma edição se aplica a todos os cursores.
- Widgets como autocompletar aparecem no cursor primário, mas não nos cursores secundários.
- Todos os atalhos de teclado padrão para edição de scripts funcionam com edição de múltiplos cursores, incluindo indentação de código, alternando comentários e excluindo linhas.
A tabela a seguir resume fluxos de trabalho de múltiplos cursores e seus atalhos.
| Comando | Windows | Mac |
|---|---|---|
| Adicionar/remover cursor na localização do mouse | Alt + clicar | ⌥ + clicar |
| Remover o cursor adicionado mais recentemente | CtrlU | ⌘U |
| Adicionar/modificar cursor ao arrastar o mouse | Alt + arrastar | ⌥ + arrastar |
| Adicionar cursor acima/abaixo | CtrlAlt↑ / CtrlAlt↓ | ⌘⌥↑ / ⌘⌥↓ |
| Adicionar cursor na próxima seleção correspondente | CtrlD | ⌘D |
| Adicionar cursor a cada seleção correspondente | ShiftAltL | Shift⌥L |
| Selecionar coluna/bloco | ShiftAlt + arrastar | Shift⌥ + arrastar |
| Dividir seleções em linhas | ShiftAltI | Shift⌥I |
Adicionar cursores
Você pode adicionar cursores com uma combinação de atalhos de teclado e manobras do mouse. Os cursores se fundem se ocuparem o mesmo espaço, como se você adicionar cursores com as teclas de seta ou excluir todos os caracteres entre os cursores.
Na localização do mouse
Para adicionar um cursor na localização do seu ponteiro do mouse:
Segure Alt no Windows ou ⌥ no Mac.
Clique onde você deseja adicionar o cursor.
Com arrasto do mouse
Você pode arrastar o mouse para adicionar um cursor a uma seleção, dividir uma seleção de várias linhas em linhas ou selecionar colunas e blocos de código/espaços em branco.
Para adicionar um cursor a uma seleção de código através do arrasto:
Segure Alt no Windows ou ⌥ no Mac.
Clique e arraste o mouse sobre a seleção de código.
Acima e abaixo do cursor primário
Para adicionar um cursor diretamente acima ou abaixo do cursor primário:
Pressione e segure CtrlAlt no Windows ou ⌘⌥ no Mac.
Pressione as setas ↑ ou ↓.
Para seleções correspondentes
Você pode adicionar cursores a todas as correspondências de uma seleção ou à próxima/anterior correspondência, e opcionalmente alternar se as correspondências devem ser sensíveis a maiúsculas/minúsculas e/ou corresponder à palavra inteira.
Para adicionar um cursor a todas as correspondências de uma parte selecionada:
Selecione o código que você deseja pesquisar por correspondências.
Pressione ShiftAltL no Windows ou Shift⌥L no Mac.
Remover cursores
Você pode remover cursores com os seguintes atalhos de teclado e manobras do mouse. Alternativamente, você pode sair da edição de múltiplos cursores pressionando Esc.
Na localização do mouse
Para remover um cursor:
Pressione e segure Alt no Windows ou ⌥ no Mac.
Clique no cursor que você deseja remover.
O mais recentemente adicionado
Para remover o cursor adicionado mais recentemente, pressione CtrlU no Windows ou ⌘U no Mac.
Copiar e colar cursos
Copiar uma seleção de código inclui os cursores dentro dela. O comportamento da colagem depende do número de cursores na origem e do número de cursores no destino:
- Se o número de cursores for o mesmo, cada cursor copiado será colado no respectivo cursor de destino.
- Se o número de cursores for diferente, cada cursor no destino receberá a colagem inteira com cada cursor copiado como uma nova linha.
Formatação ao digitar
Pressionar enter/return irá auto-indentá-los em cada cursor na nova linha em relação à linha anterior. Se a linha anterior começar com um bloco incompleto, o formatador tentará completá-lo.
Configurações do editor
Muitas opções de personalização estão acessíveis através da aba Editor de Script das Configurações do Studio. Opções comumente modificadas incluem:
| Opção | Descrição |
|---|---|
| Fonte | Tipo e tamanho de fonte para o código no editor. |
| Largura da Tab | Número de espaços representando uma indentação de Tab. |
| Indentar usando espaços | Se habilitado, espaços iguais à Largura da Tab serão inseridos com a tecla Tab. |
| Quebra de texto | Se habilitado, linhas de código mais longas quebram para a próxima linha. |
| Preset de cores do Editor de Script | Preset de cores para elementos de código, cores de seleção e mais. Após escolher um preset, você pode definir cores específicas para opções como Cor da Seleção e Cor dos Comentários. |
Atalhos de teclado
O Editor de Script possui os seguintes atalhos de teclado.
| Comando | Windows | Mac |
|---|---|---|
| Fechar script | CtrlW | ⌘W |
| Reabrir o último script fechado | CtrlShiftT | ⌘ShiftT |
| Abertura rápida | CtrlP | ⌘P |
| Mostrar script no Explorer | CtrlAltK | ⌘⌥K |
| Ampliar | Ctrl= | ⌘= |
| Reduzir | Ctrl- | ⌘- |
| Reiniciar zoom do script | Ctrl0 | ⌘0 |