O Roblox Studio possui um editor de script embutido para editar o código em seu projeto Roblox. O editor inclui recursos principais como linting, verificação de tipo, autocompletar e edição colaborativa.
No entanto, muitos desenvolvedores têm um editor de texto ou um ambiente de desenvolvimento integrado (IDE) preferido, como Visual Studio Code, Cursor, Sublime Text ou Notepad++. Ambientes de desenvolvimento populares frequentemente possuem recursos ou plugins que não existem no Studio. Para usar um editor ou IDE externo com o Studio, ative o recurso Sincronização de Script.
A Sincronização de Script funciona sincronizando os scripts em seu modelo de dados para arquivos de texto no seu disco local. Alterações feitas nos arquivos Luau no disco são aplicadas aos scripts no Studio e vice-versa. Essa sincronização significa que você pode editar um script em um editor externo como o VS Code e ver a alteração imediatamente no Studio.
Quando usar a Sincronização de Script
Se você deseja usar seu editor de texto preferido ou verificar o código em controle de versão, mas usar o Studio para todo o resto, a Sincronização de Script é uma boa opção. Ela também funciona com as ferramentas de colaboração integradas do Roblox, que ferramentas de terceiros frequentemente não suportam.
A Sincronização de Script funciona bem com projetos Roblox existentes, já que é um recurso extra em vez de uma mudança total na forma como você gerencia o projeto.
Se você deseja verificar seu projeto inteiro (não apenas o código) em controle de versão ou usar seu sistema de arquivos como a fonte da verdade para seu projeto, ferramentas de terceiros como Rojo são uma escolha melhor.
Configurar a Sincronização de Script
No Explorer, selecione uma ou mais pastas que você deseja sincronizar.
Clique com o botão direito e selecione Sincronização de Script ⟩ Sincronizar com Diretório.

Escolha um diretório no seu computador (ou crie um novo) e clique em Salvar.
No Studio, clique com o botão direito na pasta novamente e selecione Sincronização de Script ⟩ Revelar no Explorer (Windows) ou Revelar no Finder (macOS).
Abra o diretório no seu editor de texto preferido.
Alternativamente, clique com o botão direito em um script individual no Studio e selecione Abrir no Editor Externo.
Você pode sincronizar scripts individuais, mas recomendamos fortemente a sincronização de pastas; se você sincronizar uma pasta, a Sincronização de Script sincroniza automaticamente suas subpastas e scripts, o que permite criar, excluir e renomear scripts sem ter que ativar a sincronização a cada vez.
Após configurar a Sincronização de Script, você quase certamente desejará adicionar uma extensão LSP ao seu editor de texto.
Dicas principais
A Sincronização de Script só sincroniza instâncias Script, LocalScript, ModuleScript e Folder. Todas as outras instâncias em uma pasta sincronizada são ignoradas. Evite sincronizar pastas que contêm scripts junto com outras instâncias.
Não sincronize scripts que têm atributos ou tags. A Sincronização de Script ignora esses, o que pode levar à perda de dados se você criar ou excluir scripts ou começar a sincronizar com uma versão mais antiga de seus arquivos no disco.
A Sincronização de Script exige que os nomes dos scripts sejam compatíveis com o seu sistema de arquivos—sem nomes duplicados ou caracteres não suportados. Se o Studio encontrar algum desses problemas, ele gera um erro e pede que você resolva a situação antes de retomar a sincronização.
Se qualquer arquivo ou pasta sincronizado mudar enquanto o Studio estiver fechado, o Studio perguntará como você deseja resolver a situação quando reabrir o lugar.
Excluir uma instância de nível superior (ou "raiz")—a instância que você inicialmente sincronizou—no seu disco local pode fazer com que o Studio gere um erro. Para excluir uma instância de nível superior:
- No Studio, clique com o botão direito no script ou pasta e selecione Sincronização de Script ⟩ Parar Sincronização.
- Escolha a opção Excluir arquivo(s) ou Excluir pasta(s) para excluir a instância do seu disco local.
- Exclua o script ou pastas no Studio.
Você pode excluir instâncias filhas no Studio ou no seu disco local sem desabilitar a sincronização, e a exclusão será sincronizada como você espera.
Configurar um servidor de linguagem
Servidores de linguagem dão ao seu editor de texto recursos específicos de linguagem, como autocompletar, verificação de tipo, "ir para definição" e mais. Para o VS Code, recomendamos o Servidor de Linguagem Luau.
Extensões de protocolo do servidor de linguagem (LSP) precisam entender a hierarquia do modelo de dados de um projeto para funcionar corretamente. A extensão do VS Code vem com um plugin no Studio acompanhante (Companheiro do Servidor de Linguagem Luau) que fornece estes dados.
Recomendamos fortemente instalar ambos. Se você usar a extensão do VS Code e o plugin acompanhante do Studio, os recursos de linguagem funcionarão corretamente no VS Code enquanto usa a Sincronização de Script.
Extensões recomendadas
- Roblox Luau LSP e Companheiro do Servidor de Linguagem Luau - Recursos de linguagem (veja acima)
- selene - Análise de código estática (linting)
- StyLua - Formatação automática de código
Regras de sincronização
Ao sincronizar uma instância com filhos com um diretório no disco, o Studio sincronizará automaticamente as operações de criar, renomear, mover e excluir nos filhos com os arquivos e pastas correspondentes no disco. Essa abordagem permite que você mantenha seu código sem precisar parar e iniciar a sincronização manualmente em scripts individuais.
No disco, a Sincronização de Script usa as seguintes regras para desambiguar os diferentes tipos de scripts entre si.
| Convenção de nomenclatura no disco | Tipo de instância no Studio |
|---|---|
| name.luau | ModuleScript |
| name.server.luau | Script com Server Script.RunContext |
| name.client.luau | Script com Client Script.RunContext |
| name.local.luau | LocalScript |
| name.legacy.luau | Script com Legacy Script.RunContext |
| name.plugin.luau | Script com Plugin Script.RunContext |
| name/ (diretório) | Folder |
| name/init.*.luau | Instância de script com filhos. O tipo (*) é determinado pelas regras acima. |
Configurações
A Sincronização de Script possui várias configurações na janela Configurações do Studio (AltS ou ⌥S). As opções padrão são adequadas para a maioria dos casos de uso.
| Configuração | Descrição |
|---|---|
| Retomar sincronização automaticamente ao abrir lugar | Se o Studio deve retomar a sincronização quando você abre um lugar. Desabilitar esta configuração reduz drasticamente a utilidade da Sincronização de Script. |
| Retomar sincronização em conflito ao abrir lugar | Como o Studio deve lidar com conflitos ao abrir um lugar. A opção padrão, Não retomar, força você a resolver conflitos manualmente para evitar perda de dados. Você também pode escolher preferir a versão no disco ou a versão no Studio. |
| Manter arquivos/pastas locais após sincronização | Como lidar com arquivos no disco após você selecionar Sincronização de Script > Parar Sincronização no Studio. |
| Extensão do arquivo | A extensão do arquivo a ser usada para scripts no disco. |