2026-04-03

O WebStorm é o meu IDE preferido para trabalhar com JavaScript e TypeScript, e o GitHub Copilot virou parte essencial do meu fluxo. Só que instalar o plugin e sair usando no automático deixa muita coisa boa na mesa. Nesse guia eu vou te mostrar a configuração que eu uso, com os atalhos que mais economizam tempo e as opções que fazem o Copilot parar de atrapalhar o autocomplete nativo do WebStorm.
Pra seguir esse tutorial, você vai precisar de:
Se você ainda está numa versão antiga, atualize antes de continuar. Versões abaixo da 2024.3.6 têm um conflito conhecido entre o Copilot e o Full Line Code Completion nativo, e o Tab fica brigando entre os dois.
Cmd + , no Mac / Ctrl + Alt + S no Windows/Linux)GitHub Copilot na buscaEm algumas versões o plugin GitHub Copilot Chat vem separado. Se for o caso, instale ele também: é quem entrega a janela de chat, o inline chat e o Agent Mode, que são as partes mais poderosas do Copilot hoje.
Depois que o WebStorm reinicia, você vai ver o ícone do Copilot na barra inferior.
Quando o ícone ficar verde, o Copilot está ativo.
Esse é o passo que mais faz diferença e quase ninguém conta. O WebStorm tem um autocomplete de linha inteira nativo, local, que compete com o Copilot pelo mesmo atalho (Tab). Se você deixar os dois ligados sem ajustar, o Tab ora aceita um, ora aceita outro, e você perde a confiança no fluxo.
Você tem duas opções boas.
Assim o Tab sempre aceita a sugestão do Copilot, sem dúvida.
Se você gosta do Full Line porque ele é instantâneo offline, dá pra manter os dois:
Insert Inline Completion (é o do WebStorm nativo)Cmd + Shift + ] (Mac) / Ctrl + Shift + ] (Windows/Linux)Apply completions to Editor (Copilot) no TabVá em Settings > Tools > GitHub Copilot > Completions e ajuste:
| Opção | Valor recomendado | Motivo |
|---|---|---|
| Show completions automatically | Ativo | Sugere enquanto você digita, sem precisar chamar |
| Automatically check for updates | Ativo | Evita ficar preso em versões antigas com bugs |
| Enable Copilot | Ativo globalmente | Controle fino por linguagem fica mais abaixo |
Mais abaixo, na seção Languages, você pode ativar/desativar por linguagem. A minha recomendação é:
package-lock.json, yarn.lock, pnpm-lock.yaml): o Copilot só atrapalha aquiSe preferir mexer direto no arquivo github-copilot.xml, dá pra usar wildcards. Mas a interface gráfica resolve pra 99% dos casos.
O chat é onde mora metade da produtividade. Abra ele com Ctrl + Shift + C ou pela barra lateral direita (ícone do Copilot).
Dentro da janela de chat você vai ver três modos:
Para habilitar o Agent Mode:
Custom instructions são um arquivo que o Copilot lê antes de cada resposta. Você escreve ali as regras do seu projeto, as bibliotecas que usa, os padrões de código, e o Copilot passa a seguir de verdade.
.github/ (se não existir)copilot-instructions.md# Instruções para o Copilot
Esse projeto é um site em Hugo com posts em português, inglês e espanhol.
## Stack
- Hugo (static site generator)
- SCSS com Dart Sass
- JavaScript vanilla (sem frameworks)
- Imagens otimizadas em WebP
## Padrões de código
- Indentação com 2 espaços
- Strings em aspas simples no JS
- Nomes de arquivos em kebab-case
O Copilot vai ler isso toda vez que você abrir o chat ou pedir uma sugestão pelo Agent Mode.
Se quiser instruções que valem para todos os projetos:
A partir da versão 2026.2 o Copilot passou a ler também AGENTS.md e CLAUDE.md aninhados no projeto. Se você já usa Claude Code ou Cursor, aproveite o mesmo arquivo. Habilite em Settings > Tools > GitHub Copilot > Customizations > Enable nested AGENTS.md and CLAUDE.md.
| Ação | Mac | Windows/Linux |
|---|---|---|
| Aceitar sugestão completa | Tab | Tab |
| Rejeitar sugestão | Esc | Esc |
| Aceitar linha por linha | Shift + Option + → | Shift + Alt + → |
| Próxima sugestão | Shift + Option + ] | Shift + Alt + ] |
| Sugestão anterior | Shift + Option + [ | Shift + Alt + [ |
| Forçar sugestão (chamar manualmente) | Shift + Option + \ | Shift + Alt + \ |
| Abrir painel de sugestões (10 opções) | Cmd + Shift + A > Open Copilot | Ctrl + Shift + A > Open Copilot |
Importante pra quem usa teclado ABNT2: o padrão oficial do Copilot é
Option + ],Option + [eOption + \, mas no teclado brasileiro essas combinações geram caracteres tipográficos («,», entre outros) e nunca chegam no Copilot. A solução é adicionarShiftna combinação (viraShift + Option + ...), que é o que deixei na tabela acima. Se você usar teclado US, pode usar o padrão sem oShift.
| Ação | Mac | Windows/Linux |
|---|---|---|
| Abrir inline chat no cursor | Ctrl + Shift + I | Ctrl + Shift + G |
| Executar prompt | Enter | Enter |
| Cancelar | Esc | Esc |
O inline chat é o que substitui 90% do Copy/Paste pra ChatGPT. Você seleciona um bloco de código, aperta Ctrl + Shift + I, digita “transforma isso em TypeScript strict” e pronto.
| Ação | Mac | Windows/Linux |
|---|---|---|
| Abrir janela de chat | Ctrl + Shift + C | Ctrl + Shift + C |
| Nova conversa | Cmd + N dentro do chat | Ctrl + N dentro do chat |
| Focar campo de input | Cmd + L | Ctrl + L |
| Anexar arquivo ao contexto | Arrastar da sidebar ou #nome-do-arquivo | Idem |
Vale muito a pena entrar em Settings > Keymap e procurar por copilot. O plugin só expõe meia dúzia de ações bindáveis (copilot.chat.show, copilot.chat.inline, copilot.openCopilot, copilot.applyInlays, copilot.cycleNextInlays, copilot.cyclePrevInlays e copilot.requestCompletions), mas elas cobrem 100% do que dá pra acelerar de verdade. Os outros comandos (explain, fix, tests, doc) são slash commands que você digita dentro do chat, não teclas de atalho.
O que eu deixo no meu keymap:
| Ação do plugin | Atalho customizado |
|---|---|
copilot.chat.show (abrir janela de chat) | Cmd + Shift + K |
copilot.chat.inline (abrir inline chat no cursor) | Cmd + Shift + I |
copilot.openCopilot (tool window do Copilot) | Ctrl + Option + \ |
Se algum atalho já estiver em uso, o WebStorm avisa e você escolhe remover ou manter o atalho antigo. O Cmd + Shift + K por padrão abre o Push… do Git: eu não uso o Push pelo atalho então liberei essa tecla pro Copilot, mas se você usa, escolha outra.
Depois que o chat está aberto, os slash commands resolvem o resto:
/explain explica o código selecionado/fix tenta corrigir erros apontados pelo TS ou ESLint/tests gera testes unitários/doc gera documentação JSDoc/simplify propõe uma versão mais curtaEscreva um comentário claro acima da função e o Copilot gera a implementação. Por exemplo:
// Retorna a lista de posts publicados nos últimos 30 dias,
// ordenados por data decrescente, com no máximo 10 itens.
// Usa a API interna em services/posts.ts
function recentPosts(): Promise<Post[]> {
// o Copilot preenche daqui pra baixo
}
Quanto mais específico o comentário (incluindo o caminho de arquivos relevantes), melhor o resultado.
# pra referenciar arquivos no chatDentro do chat, digite #package.json ou #services/posts.ts e o Copilot carrega o arquivo no contexto. Evita descrição manual de estrutura.
Quando você precisa renomear uma função em 20 arquivos, mudar a assinatura de um hook ou migrar de uma lib pra outra, abra o chat em Agent Mode, descreva o objetivo e deixa ele propor as alterações. Você revisa arquivo por arquivo antes de aceitar.
Antes de abrir PR, seleciona o diff de um método, aperta Ctrl + Shift + I e pede “revisa esse código procurando edge cases e testes faltando”. Pega muita coisa boba antes de ir pro GitHub.
Dentro do inline chat ou do chat normal, digite:
/tests: gera testes unitários pro código selecionado/doc: gera documentação JSDoc/fix: tenta corrigir erros apontados pelo TS ou ESLint/explain: explica o código selecionado/simplify: propõe versão mais curtacopilot-instructions.md, especifique se você usa App Router ou Pages Router@vue/typescript-plugin atualizado<style> puros se achar que ele alucina CSS demais.astro (geralmente precisa habilitar manualmente)Quase sempre é o Full Line Code Completion brigando. Volte no Passo 3 e aplique uma das duas opções.
Shift + Option + \ (Mac) / Shift + Alt + \ (Windows/Linux) sob demandaAtualize o plugin e reinicie. As versões mais novas trocaram o modelo padrão e a qualidade subiu bastante.
Pode ser que o plugin GitHub Copilot Chat não esteja instalado. Volte no Passo 1 e instale o chat separadamente.
Depois de seguir o tutorial, confira se:
.github/copilot-instructions.md criadoCom isso fechado, você tem o WebStorm rodando o Copilot do jeito mais produtivo possível. O próximo passo é só praticar. Em uma semana você vai estar escrevendo comentários que geram funções inteiras e usando o inline chat pra refatorar sem sair do teclado.
E se você também escreve Go, deu uma olhada no meu outro guia? GitHub Copilot no GoLand: a melhor configuração para escrever Go mais rápido.