O Editor de Script no Studio é a principal ferramenta para scriptar no Roblox. É um ambiente que se autoaperfeiçoa e pode ajudá-lo a escrever código de alto impacto, encurtar seu tempo de desenvolvimento e iterar em seus jogos. Ele pode melhorar sua experiência de scriptando ao:
- Formatar e destacar a sintaxe em seu código.
- Oferecer maneiras de autocompletar frases em seu código enquanto você digita.
- Ajudá-lo a navegar no código pulando para declarações de variáveis e funções.
- Ajudá-lo a encontrar e substituir código em scripts abertos ou em todos os scripts.
- Fornecer feedback em tempo real sobre a qualidade e o 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 enquanto você as digita, que são contextuais ao modelo de dados do jogo. 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.

Nomes de preenchimento automático 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 da API do Engine, dando contexto sobre o uso da API.

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

Diagnósticos de análise de script ao passar o mouse com informações que você pode usar para solucionar erros.

Assinaturas de função quando você digita um argumento, fornecendo uma referência para seus parâmetros e valores de retorno.

Navegação no 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 na 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 Encontrar/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 pesquisa 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 análise estática em seus scripts e exibe erros e avisos ativos. Para mais informações sobre os erros e avisos, consulte a documentação de linting do Luau.


Saída
A janela Saída exibe erros capturados da 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 enquanto você digita, ajudando você a codificar de forma mais eficiente e a se manter focado. Com base nos contextos de seu comentário e código, as sugestões serão acionadas de duas maneiras:
- Automaticamente quando você pausa em uma linha por alguns segundos e o modelo de IA tem 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 de script descritivos que capturem a intenção geral do que cada script faz. Por exemplo, nomeie um script como SyncCustomSounds em vez de apenas Sounds.
- Atribua nomes descritivos para parâmetros, funções e scripts. Por exemplo, nomeie uma parte como GreenSphere em vez de simplesmente grs, ou nomeie uma função como generateSphere() em vez de gen(). Usar funções nomeadas em vez de funções anônimas também pode produzir 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 -- Use 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 esferas.
- Se você é um programador iniciante, comece com projetos básicos, como "fazer o jogador pular quando tocar a 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 sugere sempre o código perfeito. As limitações conhecidas incluem:
- O acionamento 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, portanto, podem refletir algumas limitações do código em que foram treinadas. Por exemplo, as 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 há a possibilidade de que a ferramenta possa gerar informações ofensivas ou tendenciosas.
- As sugestões podem ser as mesmas, semelhantes ou diferentes entre os usuários, mesmo com os mesmos prompts. Seu código, no entanto, nunca será compartilhado com outros.
- A sugestão pode ser incompleta devido ao comprimento limitado da saída dos modelos de aprendizado.
- Há um limite diário para o número de sugestões e, uma vez que o limite é atingido, você não receberá 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 do 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 treinamento do modelo, ele não será sugerido a outros usuários da Assistência de Código, com a única exceção de códigos sendo postados em itens do 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 com base em suas necessidades com um clique do mouse ou 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/refazer 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 script funcionam com edição de múltiplos cursores, incluindo indentação de código, alternância de comentários e exclusão de linhas.
A tabela a seguir resume os fluxos de trabalho de múltiplos cursores e seus atalhos.
| Comando | Windows | Mac |
|---|---|---|
| Adicionar/remover cursor na localização do mouse | Alt + clique | ⌥ + clique |
| 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 à 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 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 arrastando:
Segure Alt no Windows ou ⌥ no Mac.
Clique e arraste seu 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 são sensíveis a maiúsculas e minúsculas e/ou correspondem à palavra inteira.
Para adicionar um cursor a todas as correspondências de uma porção 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 cursores
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 em cada cursor de destino correspondente.
- Se o número de cursores for diferente, cada cursor no destino receberá toda a colagem com cada cursor copiado como uma nova linha.
Formatação ao digitar
Pressionar enter/return irá auto-indentar 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 nas Configurações do Studio. As opções comumente modificadas incluem:
| Opção | Descrição |
|---|---|
| Fonte | Tipo e tamanho da fonte para o código no editor. |
| Largura da tabulação | Número de espaços representando uma indentação de Tab. |
| Indentar usando espaços | Se ativado, espaços iguais a Largura da Tabulação são inseridos com a tecla Tab. |
| Quebra de texto | Se ativado, linhas de código mais longas quebram para a próxima linha. |
| Predefinição de cores do Editor de Script | Predefinição de cores para elementos de código, cores de seleção e mais. Após escolher uma predefinição, você pode definir cores específicas para opções como Cor de Seleção e Cor de Comentário. |
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 |
| Aumentar zoom | Ctrl= | ⌘= |
| Diminuir zoom | Ctrl- | ⌘- |
| Redefinir zoom do script | Ctrl0 | ⌘0 |