Introdução ao uso do Copilot
Categories:
- Capacidades do Copilot Labs
- O que é Copilot
- Entendimento
- Sugestão
- Depuração
- Revisão
- Refatoração
- Documentação
- Uso de Custom para expandir os limites do Copilot
- Obtenção de conselhos mais profissionais
- Sugestões de texto puro
- Itens de configuração
- Segurança de dados
- Perguntas frequentes
GitHub Copilot é uma ferramenta de preenchimento automático de código baseada em aprendizado de máquina que ajuda você a escrever código mais rapidamente e melhorar a eficiência da codificação.
Capacidades do Copilot Labs
| Capacidade | Descrição | Observação | Exemplo |
|---|---|---|---|
Explain | Gera explicações para fragmentos de código | Opções avançadas para personalizar prompts, deixando as necessidades mais claras | ![]() |
Show example code | Gera código de exemplo para fragmentos de código | Opções avançadas disponíveis para personalização | ![]() |
Language Translation | Gera traduções para fragmentos de código | Esta tradução é baseada na linguagem de programação, por exemplo, C++ -> Python | ![]() |
Readable | Melhora a legibilidade de um bloco de código | Não é apenas formatação simples, mas sim uma melhoria real da legibilidade | ![]() |
Add Types | Inferência de tipos | Transforma variáveis de tipo automático em tipos explícitos | ![]() |
Fix bug | Corrige bugs | Corrige bugs comuns | ![]() |
Debug | Facilita a depuração do código | Adiciona logs de impressão ou variáveis temporárias para pontos de interrupção | ![]() |
Clean | Limpa o código | Remove partes inúteis do código, comentários/impressão/código obsoleto, etc. | ![]() |
List steps | Lista os passos do código | Alguns códigos dependem estritamente da ordem de execução, exigindo comentários claros sobre a sequência de execução | ![]() |
Make robust | Torna o código mais robusto | Considera limites/multithreading/reentrância, etc. | ![]() |
Chunk | Divide o código em blocos | Geralmente espera-se que uma função tenha <=50 linhas efetivas, aninhamento <=4, fan-out <=7, complexidade ciclomática <=20 | ![]() |
Document | Gera documentação do código | Gera código através de comentários, e também pode gerar comentários e documentação através de código | ![]() |
Custom | Operações personalizadas | Diga ao copilot como manipular seu código | ![]() |
O que é Copilot
A introdução do site oficial é simples e clara: Seu programador parceiro de IA — o programador parceiro de IA
Programação em par: é um método de desenvolvimento de software ágil onde dois programadores trabalham no mesmo computador: um digita o código, enquanto o outro revisa cada linha de código. Os papéis são frequentemente trocados para garantir lógica rigorosa e prevenção de problemas.
Copilot participa do trabalho de codificação de várias maneiras, desempenhando o papel de programador parceiro.
Entendimento
Copilot é um grande modelo de linguagem, ele não entende nosso código, e nós também não entendemos o modelo do Copilot. Aqui, o entendimento é a compreensão mútua entre um programador e um grupo de programadores. Todos baseiam-se em alguns consensos para escrever código juntos.

Copilot coleta informações para entender o contexto, incluindo:
- Código sendo editado
- Arquivos associados
- Arquivos abertos no IDE
- Endereços de bibliotecas
- Caminhos de arquivos
Copilot não entende apenas através de um comentário, ele coleta informações de contexto suficientes para entender o que fazer a seguir.
Sugestão
| Sugestão completa | Sugestão inline |
|---|---|
![]() | ![]() |
É bem sabido que a maneira mais comum de obter sugestões é através de comentários que descrevem os requisitos, em vez de escrever código diretamente, guiando assim o GitHub Copilot a fornecer sugestões completas. No entanto, isso pode causar o problema de comentários redundantes. Comentários não são melhores quando mais numerosos; eles não são o corpo do código. Um bom código é claro e compreensível sem comentários, baseando-se em nomes apropriados, design racional e lógica clara. Ao usar sugestões inline, basta fornecer nomes de variáveis/funções/classes adequados, e o Copilot sempre fornecerá sugestões adequadas.
Além das entradas externas adequadas, o Copilot também suporta sugestões baseadas em fragmentos de código já existentes. Copilot Labs->Show example code pode ajudar a gerar código de exemplo para funções específicas, basta selecionar o código e clicar em Show example code.
Ctrl+Enter, sempre oferece muita inspiração. Criei três arquivos, um main.cpp vazio, um calculator.h vazio, e implementei “adição” e “subtração” em calculator.cpp. O Copilot forneceu as seguintes sugestões:
- Adicionar implementações de “multiplicação” e “divisão”
- Chamar as implementações de “adição, subtração, multiplicação e divisão” no main
- Métodos de criação e uso de bibliotecas estáticas de calculator
- Resultado da execução da função main, e o resultado está correto
- Conteúdo sugerido para o cabeçalho calculator.h
- Comando de compilação g++
- Casos de teste gtest
- Conteúdo de CMakeLists.txt, incluindo testes
- objdump -d main > main.s para visualizar o código assembly, mostrando o código assembly
- ar para visualizar o conteúdo da biblioteca estática, mostrando o conteúdo da biblioteca estática
Com a configuração padrão, o conteúdo exibido a cada pressionamento de Ctrl+Enter difere muito, impossibilitando revisar o conteúdo gerado anteriormente. Para obter conteúdo gerado mais estável, é possível definir o valor de temperature [0, 1]. Quanto menor o valor, mais estável o conteúdo gerado; quanto maior o valor, mais imprevisível o conteúdo gerado.
As sugestões acima excedem muito o conteúdo geralmente sugerido no uso diário. Isso pode ser devido ao projeto ser realmente muito simples. Assim que os arquivos de compilação e cabeçalhos são escritos completamente, as sugestões não serão tão numerosas, mas ainda assim frequentemente têm um bom efeito de inspiração.
Atalhos para usar sugestões do Copilot
| Ação | Atalho | Nome do comando |
|---|---|---|
| Aceitar sugestão inline | Tab | editor.action.inlineSuggest.commit |
| Ignorar sugestão | Esc | editor.action.inlineSuggest.hide |
| Mostrar próxima sugestão inline | Alt+] | editor.action.inlineSuggest.showNext |
| Mostrar sugestão inline anterior | Alt+[ | editor.action.inlineSuggest.showPrevious |
| Disparar sugestão inline | Alt+\ | editor.action.inlineSuggest.trigger |
| Mostrar mais sugestões em painel separado | Ctrl+Enter | github.copilot.generate |
Depuração
Geralmente existem dois métodos de depuração: impressão e ponto de interrupção.
- Copilot pode ajudar a gerar automaticamente códigos de impressão, usando impressão ou log apropriado de acordo com o contexto.
- Copilot pode ajudar a modificar a estrutura do código existente, fornecendo locais de ponto de interrupção convenientes. Alguns códigos de estilo aninhado são difíceis de interromper, Copilot pode modificá-los diretamente.
Copilot Labs tem as seguintes funções pré-configuradas:
- Debug, gera código de depuração, como impressão, ponto de interrupção e outros códigos de depuração.
Revisão
A revisão é mútua; nós e o copilot precisamos nos revisar frequentemente, não confie cegamente no código rapidamente gerado.
Copilot Labs tem as seguintes funções pré-configuradas:
- Fix bug, corrige bugs que descobre, é necessário salvar o código antes e revisar cuidadosamente as modificações do Copilot.
- Make robust, torna o código mais robusto; Copilot descobrirá situações não tratadas e gerará código de melhoria, devemos nos inspirar nisso e pensar de forma mais minuciosa.
Refatoração
Copilot Labs tem as seguintes funções pré-configuradas:
- Readable, melhora a legibilidade, verdadeiramente aumentando a legibilidade, não apenas formatando, mas é necessário tomar cuidado ao revisar as modificações do Copilot.
- Clean, torna o código mais conciso, removendo código desnecessário.
- Chunk, torna o código mais fácil de entender, dividindo o código em blocos, transformando uma grande função em várias funções menores.
Documentação
Copilot Labs tem as seguintes funções pré-configuradas:
- Document, gera documentação, como comentários de funções e outros documentos.
Uso de Custom para expandir os limites do Copilot
Custom não chama muito a atenção, mas dá ao Copilot infinitas possibilidades. Podemos entender isso como uma nova linguagem de programação, que é inglês ou chinês.
Você pode usar Custom para inserir
Remover código de comentário
Aumentar a capacidade de multiplicação e divisão
Reescrever em go
Adicionar cálculo de funções trigonométricas
Adicionar cálculo de diferenciação, aqui o chinês não funciona bem, usesupport calculate differential, no modo de baixa temperatura, não há respostas confiáveis, no modo de alta temperatura, há algumas respostas absurdas.
No trabalho diário, você pode fazer suas próprias solicitações ao Copilot a qualquer momento, através da capacidade Custom, pode-se fazer com que o Copilot ajude a concluir muitas operações desejadas.
Alguns exemplos:
| prompts | descrição |
|---|---|
generate the cmake file | gerar arquivo cmake |
generate 10 test cases for tan() | gerar 10 casos de teste para tan() |
format like google style | formatar como estilo google |
consider boundary conditions | considerar condições de contorno |
confirm memory release | confirmar liberação de memória |
O uso de Custom é cheio de imaginação, mas às vezes não é tão confiável. Recomenda-se salvar o código antes de usar, e então revisar cuidadosamente as modificações feitas por ele.
Obtenção de conselhos mais profissionais
Quanto mais clara for a dica dada ao Copilot, mais precisa será a sugestão. Dicas profissionais podem obter conselhos mais profissionais. Muitos códigos inadequados não afetam a compilação nem o funcionamento do negócio, mas afetam a legibilidade, manutenção, extensibilidade e reutilização. Essas características também são muito importantes. Se desejar obter conselhos mais profissionais, é melhor conhecer os nomes em inglês das melhores práticas.
- Primeiro, use inglês compreensível, pode-se aprender inglês observando projetos open source.
- Convenções de nomenclatura, a nomenclatura é a definição mais básica de conceitos, uma boa nomenclatura pode evitar ambiguidades, evitar que o leitor caia nos detalhes do negócio, aumentando assim a legibilidade do código, também é uma das melhores práticas.
- Geralmente, basta um nome de variável razoável para que o Copilot dê uma sugestão completa e confiável.
- Lista de padrões de design, padrões de design são modelos para resolver problemas, focando no equilíbrio dos princípios básicos de design SOLID para diferentes problemas, economizando tempo de design de solução e melhorando a qualidade do código.
- Basta escrever o nome do padrão necessário, o Copilot pode gerar o fragmento de código completo.
- Lista de algoritmos, bons algoritmos são cristalizações de alta sabedoria para resolver uma classe de problemas, os desenvolvedores precisam abstrair problemas específicos e dados, e inserir os dados abstraídos no algoritmo.
- O código do algoritmo costuma ser genérico, basta escrever o nome do algoritmo, o Copilot pode gerar o fragmento de código do algoritmo, e o Copilot sempre habilmente aplica a estrutura de dados do contexto nas rotinas do algoritmo.
Sugestões de texto puro
| en | pt-br |
|---|---|
| GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor. | GitHub Copilot usa o OpenAI Codex para sugerir código e funções inteiras em tempo real, direto do seu editor. |
| Trained on billions of lines of code, GitHub Copilot turns natural language prompts into coding suggestions across dozens of languages. | Treinado em bilhões de linhas de código, GitHub Copilot transforma prompts de linguagem natural em sugestões de codificação em dezenas de linguagens. |
| Don’t fly solo. Developers all over the world use GitHub Copilot to code faster, focus on business logic over boilerplate, and do what matters most: building great software. | Não voe solo. Desenvolvedores ao redor do mundo usam GitHub Copilot para codificar mais rápido, focar na lógica de negócios ao invés de código padrão, e fazer o que importa mais: construir ótimos softwares. |
| Focus on solving bigger problems. Spend less time creating boilerplate and repetitive code patterns, and more time on what matters: building great software. Write a comment describing the logic you want and GitHub Copilot will immediately suggest code to implement the solution. | Foque em resolver problemas maiores. Passe menos tempo criando código padrão e padrões de código repetitivos, e mais tempo no que importa: construir ótimos softwares. Escreva um comentário descrevendo a lógica que deseja e o GitHub Copilot imediatamente sugerirá código para implementar a solução. |
| Get AI-based suggestions, just for you. GitHub Copilot shares recommendations based on the project’s context and style conventions. Quickly cycle through lines of code, complete function suggestions, and decide which to accept, reject, or edit. | Obtenha sugestões baseadas em IA, apenas para você. GitHub Copilot compartilha recomendações baseadas no contexto e nas convenções de estilo do projeto. Rapidamente percorra linhas de código, complete sugestões de funções e decida quais aceitar, rejeitar ou editar. |
| Code confidently in unfamiliar territory. Whether you’re working in a new language or framework, or just learning to code, GitHub Copilot can help you find your way. Tackle a bug, or learn how to use a new framework without spending most of your time spelunking through the docs or searching the web. | Codifique com confiança em território desconhecido. Esteja trabalhando em uma nova linguagem ou framework, ou apenas aprendendo a codificar, GitHub Copilot pode ajudá-lo a encontrar seu caminho. Solucione um bug, ou aprenda a usar um novo framework sem gastar a maior parte do seu tempo vasculhando a documentação ou pesquisando na web. |
Essas traduções são todas geradas pelo Copilot, não é possível determinar se essas sugestões são baseadas na geração de modelo ou no comportamento de tradução. Na verdade, qualquer conteúdo em inglês que você escrever na coluna en da tabela pode ser traduzido (gerado) pelo Copilot para o conteúdo na coluna pt-br.

Itens de configuração
Itens de configuração do cliente
| Item de configuração | Descrição | Observação |
|---|---|---|
| temperature | Temperatura de amostragem | 0.0 - 1.0, 0.0 gera fragmentos de código mais comuns, 1.0 gera fragmentos de código mais incomuns e aleatórios |
| length | Comprimento máximo de sugestão de código gerado | Padrão 500 |
| inlineSuggestCount | Número de sugestões inline geradas | Padrão 3 |
| listCount | Número de sugestões geradas | Padrão 10 |
| top_p | Prioriza exibir as N sugestões com maior probabilidade | Por padrão, exibe todas as sugestões possíveis |
Configurações da conta pessoal têm duas configurações, uma relacionada a direitos autorais e outra à privacidade.
- Se usa código aberto para fornecer sugestões, principalmente para evitar problemas de direitos autorais nos fragmentos de código gerados pelo Copilot, evitando restrições de licenças open source.
- Se permite usar fragmentos de código pessoais para melhorar o produto, evitando riscos de vazamento de privacidade.
Segurança de dados
Coleta de informações do Copilot
- Versão comercial
- Informações de uso de funcionalidades, pode conter informações pessoais
- Coleta fragmentos de código, descarta imediatamente após fornecer sugestões, não retém nenhum fragmento de código
- Compartilhamento de dados, GitHub, Microsoft, OpenAI
- Versão pessoal
- Informações de uso de funcionalidades, pode conter informações pessoais
- Coleta fragmentos de código, de acordo com a configuração de telemetria pessoal, retém ou descarta após fornecer sugestões
- Fragmentos de código incluem: código sendo editado, arquivos associados, arquivos abertos no IDE, endereços de bibliotecas, caminhos de arquivos
- Compartilhamento de dados, GitHub, Microsoft, OpenAI
- Proteção de dados de código, 1. Criptografia. 2. Parte da equipe Copilot relacionada ao Github/OpenAI pode visualizar. 3. Acesso requer controle de acesso baseado em papéis e autenticação multifator
- Evitar o uso (retenção ou treinamento) de fragmentos de código, 1. Configurar 2. Contatar Equipe Copilot
- Código privado será usado? Não.
- Vai gerar informações pessoais (nome, aniversário, etc.)? Raro, ainda está melhorando.
- Declaração detalhada de privacidade
Perguntas frequentes
- Dados de treinamento do Copilot, vêm de repositórios públicos do Github.
- O código escrito pelo Copilot é perfeito? Nem sempre.
- Pode escrever código para novas plataformas? Capacidade limitada no momento.
- Como usar melhor o Copilot? Divida o código em pequenas funções, descreva a funcionalidade da função em linguagem natural, bem como entrada e saída, use nomes de variáveis e funções com significado específico.
- O código gerado pelo Copilot tem bugs? Certamente não pode evitar.
- O código gerado pelo Copilot pode ser usado diretamente? Nem sempre, às vezes precisa ser modificado.
- O código gerado pelo Copilot pode ser usado em projetos comerciais? Sim.
- O código gerado pelo Copilot pertence à propriedade intelectual do Copilot? Não.
- Copilot copia código do conjunto de treinamento? Copilot não copia código, é extremamente improvável que mais de 150 linhas de código correspondam ao conjunto de treinamento, ocorre nas seguintes duas situações:
- Quando a informação de contexto é muito escassa
- É uma solução para problemas genéricos
- Como evitar a repetição de código público, definir filter

- Como usar corretamente o código gerado pelo Copilot? 1. Testar/revisar o código gerado por conta própria; 2. Não compilar ou executar automaticamente o código gerado antes da revisão.
- Copilot tem o mesmo desempenho em todas as línguas naturais? O melhor desempenho é em inglês.
- Copilot gera conteúdo ofensivo? Já possui filtro, mas não se exclui a possibilidade de aparecer.














