Você quer automatizar tarefas de build, teste ou implantação no VS Code usando o Task Runner integrado, mas escrever o arquivo de configuração tasks.json do zero leva tempo e é propenso a erros. O GitHub Copilot pode gerar definições de tarefas, sugerir comandos shell corretos e corrigir propriedades inválidas enquanto você digita. Este artigo explica como configurar o Copilot para ajudar com configurações do task runner, quais comandos usar e como evitar armadilhas comuns que quebram suas tarefas.
Principais Pontos: GitHub Copilot para Tarefas do VS Code
- Ctrl+Shift+P > Tarefas: Configurar Tarefa: Abre o arquivo
tasks.jsononde o Copilot pode gerar definições de tarefas. - Ctrl+I (chat inline): Peça ao Copilot para adicionar, editar ou explicar uma entrada de tarefa específica sem sair do editor.
- Painel do Copilot > Explicar Isso: Destaca um bloco de tarefa e retorna uma explicação em português claro de suas propriedades e comportamento.
Como o GitHub Copilot Interage com o Task Runner do VS Code
O Task Runner do VS Code usa um arquivo tasks.json dentro da pasta .vscode para definir comandos shell, argumentos, problem matchers e comportamentos de execução. O GitHub Copilot pode ler esse esquema JSON e sugerir propriedades válidas porque a extensão do VS Code fornece o contexto do esquema para o modelo de linguagem do Copilot. Quando você abre tasks.json, o Copilot vê a estrutura atual do arquivo e a referência $schema, o que permite gerar definições de tarefas que correspondem ao formato esperado.
Pré-requisitos para o Copilot Funcionar com Tarefas
Antes de começar, confirme que estas três condições são atendidas. Primeiro, o GitHub Copilot deve estar instalado e conectado na visualização de Extensões. Segundo, o arquivo .vscode/tasks.json deve existir no seu workspace. Se não existir, crie-o manualmente ou use o comando Tarefas: Configurar Tarefa na Paleta de Comandos. Terceiro, a propriedade $schema no topo do arquivo deve apontar para o esquema oficial de tarefas do VS Code. O Copilot usa esse esquema para produzir conclusões válidas. A linha do esquema se parece com isto: "$schema": "https://raw.githubusercontent.com/microsoft/vscode/main/extensions/configuration-editing/schemas/tasks.json.schema".
Passos para Gerar uma Nova Definição de Tarefa com o Copilot
O método a seguir usa o chat inline do Copilot para criar uma entrada de tarefa completa. Essa abordagem funciona melhor quando você sabe o comando que deseja executar, mas precisa de ajuda com a estrutura JSON.
- Abra o arquivo tasks.json
Pressione Ctrl+Shift+P, digite Tarefas: Configurar Tarefa e selecione o tipo de modelo. Isso cria ou abre.vscode/tasks.json. Se o arquivo já existir, abra-o pelo painel Explorer. - Posicione o cursor dentro do array tasks
Posicione o cursor entre os colchetes do arraytasks. O Copilot precisa saber o ponto de inserção para gerar uma entrada válida. - Abra o chat inline do Copilot
Pressione Ctrl+I para abrir a caixa de chat inline. Isso mantém o contexto do arquivo atual. - Descreva a tarefa que você precisa
Digite um prompt como “Adicione uma tarefa que execute npm run build e mostre erros no painel Problemas”. O Copilot gera um objeto JSON com as propriedadeslabel,type,commandeproblemMatcher. - Aceite ou modifique a sugestão
Pressione Enter para aceitar o bloco gerado. Se a sugestão for muito genérica, refine seu prompt. Por exemplo, adicione “use o problem matcher $msCompile” para obter um matcher mais específico.
Passos para Corrigir uma Configuração de Tarefa Inválida com o Copilot
Quando uma tarefa não executa ou mostra um erro, o Copilot pode identificar a propriedade inválida e sugerir uma correção. Este método usa o painel do Copilot em vez do chat inline.
- Destaque o bloco de tarefa problemático
Selecione todo o objeto JSON da tarefa com falha. Inclua as chaves de abertura e fechamento. - Abra o painel do Copilot
Clique no ícone do Copilot na Barra de Atividades ou pressione Ctrl+Shift+I para abrir o painel do Copilot. - Peça uma explicação
Digite “Explique esta tarefa e liste quaisquer violações de esquema”. O Copilot retorna uma descrição de cada propriedade e sinaliza propriedades que não correspondem ao esquema, como umcomandescrito errado em vez decommand. - Aplique a correção sugerida
Copie o bloco corrigido do painel e cole sobre o original. Alternativamente, use o chat inline com o prompt “Corrija os erros nesta tarefa” enquanto o bloco está selecionado.
Se o Copilot Produzir Propriedades de Tarefa Incorretas
O Copilot sugere um comando que não existe no seu sistema
O Copilot gera comandos com base em nomes de ferramentas comuns, mas seu sistema pode não ter essa ferramenta instalada. Por exemplo, o Copilot pode sugerir gulp quando você usa scripts npm. Substitua a propriedade command pelo executável ou script exato disponível no seu ambiente. Para verificar, abra um terminal no VS Code e execute o comando manualmente antes de adicioná-lo à tarefa.
O Copilot omite a propriedade problemMatcher
Sem um problem matcher, os erros do comando não aparecem no painel Problemas. O Copilot às vezes pula essa propriedade em conclusões curtas. Para corrigir, adicione "problemMatcher": "$msCompile" para linguagens compiladas ou "problemMatcher": "$tsc" para TypeScript. Para padrões de saída personalizados, peça ao Copilot: “Adicione um problemMatcher que capture linhas começando com ERROR”.
O Copilot gera uma tarefa composta com dependências incorretas
Tarefas compostas usam a propriedade dependsOn para executar várias tarefas em sequência. O Copilot pode criar uma dependência circular ou referenciar um rótulo de tarefa que não existe. Após aceitar a sugestão, verifique se cada rótulo em dependsOn corresponde ao label de outra tarefa no mesmo arquivo. Se os rótulos não corresponderem, use o chat inline com o prompt “Corrija os rótulos dependsOn para corresponder aos rótulos de tarefa existentes”.
| Item | Chat Inline (Ctrl+I) | Painel do Copilot (Ctrl+Shift+I) |
|---|---|---|
| Melhor para gerar novas tarefas | Sim | Não |
| Melhor para depurar tarefas existentes | Parcial | Sim |
| Requer selecionar código primeiro | Opcional | Obrigatório |
| Mostra avisos de violação de esquema | Não | Sim |
| Aplica alterações automaticamente | Sim | Não |
Erros Comuns e Como Evitá-los com o Copilot
O Copilot adiciona uma tarefa fora do array tasks
Se o cursor estiver fora do array tasks, o Copilot pode inserir um objeto JSON independente no nível raiz. Isso quebra o arquivo porque o esquema espera um array. Para evitar, sempre posicione o cursor dentro dos colchetes do array tasks antes de invocar o chat inline. Se o arquivo já tiver várias tarefas, coloque o cursor após a última vírgula dentro do array.
O Copilot usa um comando shell que requer entrada do usuário
Comandos como npm init ou git commit sem a flag -m abrem prompts interativos. As tarefas do VS Code não suportam entrada interativa. Se o Copilot sugerir tal comando, modifique o prompt para incluir as flags não interativas. Por exemplo, mude “execute npm init” para “execute npm init -y” na sua solicitação.
O Copilot gera uma tarefa com o tipo de shell errado
O tipo de tarefa padrão é shell, que executa o comando em um shell. Se você precisar executar um programa diretamente sem um shell, use "type": "process". O Copilot geralmente usa shell como padrão. Se o seu comando não precisar de recursos do shell como curingas ou expansão de variáveis de ambiente, altere o tipo para process manualmente.
Conclusão
Agora você pode usar o GitHub Copilot para gerar, explicar e corrigir configurações do task runner do VS Code no tasks.json. Comece usando o chat inline com Ctrl+I para criar novas entradas de tarefa e use o painel do Copilot com Ctrl+Shift+I para depurar propriedades inválidas. Lembre-se de verificar se cada comando gerado existe no seu sistema e se os problem matchers correspondem à saída da sua ferramenta. Para tarefas compostas complexas, verifique os rótulos dependsOn manualmente para evitar dependências circulares. Para aproveitar ao máximo o Copilot, inclua sempre o nome da ferramenta e o comportamento de saída desejado no seu prompt, como “uma tarefa que execute webpack em modo watch e mostre erros no painel Problemas”.