Introducción al uso de Copilot
Categories:
- Capacidades de Copilot Labs
- Qué es Copilot
- Comprensión
- Sugerencias
- Depuración
- Revisión
- Refactorización
- Documentación
- Uso de Custom para ampliar los límites de Copilot
- Obtener sugerencias más profesionales
- Sugerencias de texto plano
- Opciones de configuración
- Seguridad de datos
- Preguntas frecuentes
GitHub Copilot es una herramienta de finalización de código basada en aprendizaje automático que ayuda a escribir código más rápido y mejora la eficiencia de codificación.
Capacidades de Copilot Labs
| Capacidad | Descripción | Comentario | ejemplo |
|---|---|---|---|
Explain | Generar explicaciones para fragmentos de código | Opciones avanzadas para personalizar indicaciones, explicar requisitos de manera más clara | ![]() |
Show example code | Generar código de ejemplo para fragmentos de código | Opciones avanzadas para personalizar | ![]() |
Language Translation | Generar traducciones para fragmentos de código | Esta traducción es basada en lenguajes de programación, por ejemplo C++ -> Python | ![]() |
Readable | Mejorar la legibilidad de un fragmento de código | No es simplemente formatear, es una mejora real de la legibilidad | ![]() |
Add Types | Inferencia de tipos | Convertir variables de tipo automático a tipos explícitos | ![]() |
Fix bug | Corregir errores | Corregir algunos errores comunes | ![]() |
Debug | Hacer que el código sea más fácil de depurar | Aumentar impresiones de registro o añadir variables temporales para puntos de interrupción | ![]() |
Clean | Limpiar código | Eliminar partes innecesarias del código, comentarios/impresiones/código obsoleto, etc. | ![]() |
List steps | Enumerar los pasos del código | Algunos códigos dependen estrictamente del orden de ejecución, es necesario comentar claramente este orden | ![]() |
Make robust | Hacer el código más robusto | Considerar límites/hilos múltiples/reingreso, etc. | ![]() |
Chunk | Dividir el código en bloques | Generalmente se espera que las líneas efectivas de una función sean <=50, anidación <=4, fan-out <=7, complejidad ciclomática <=20 | ![]() |
Document | Generar documentación del código | Generar código mediante comentarios, también se puede generar comentarios y documentación mediante código | ![]() |
Custom | Operaciones personalizadas | Decirle a copilot cómo operar tu código | ![]() |
Qué es Copilot
La presentación en el sitio oficial es simple y clara: Tu programador en pareja — Tu programador en pareja
Programación en pareja: es un método de desarrollo ágil de software donde dos programadores trabajan en la misma computadora: uno escribe el código y el otro revisa cada línea. Los roles cambian frecuentemente para asegurar una lógica rigurosa y prevenir problemas.
Copilot participa en el trabajo de codificación mediante las siguientes formas, realizando el papel de programador en pareja.
Comprensión
Copilot es un gran modelo de lenguaje, no puede comprender nuestro código, tampoco podemos entender el modelo de Copilot, aquí la comprensión es la comprensión mutua entre un programador y un grupo de programadores. Basados en algunos consensos, todos trabajan juntos en el código.

Copilot recopila información para comprender el contexto, la información incluye:
- Código que se está editando
- Archivos relacionados
- Archivos abiertos en el IDE
- Dirección de la biblioteca
- Ruta del archivo
Copilot no solo comprende mediante un comentario, recopila suficiente información contextual para entender qué se hará a continuación.
Sugerencias
| Sugerencia completa | Sugerencia inline |
|---|---|
![]() | ![]() |
Como es bien sabido, la forma más común de obtener sugerencias es mediante comentarios descriptivos en lugar de escribir código directamente, guiando así a GitHub Copilot para que dé sugerencias completas. Sin embargo, esto puede causar redundancia de comentarios, los comentarios no son mejores cuanto más haya, los comentarios ayudan a la comprensión, pero no son el cuerpo principal del código. Un buen código es claro sin comentarios, dependiendo de nombres apropiados, diseño razonable y lógica clara. Cuando se utilizan sugerencias inline, basta con dar nombres de variables/funciones/clases adecuados, Copilot siempre puede ofrecer sugerencias adecuadas.
Además de una entrada externa adecuada, Copilot también admite sugerencias basadas en fragmentos de código existentes, Copilot Labs->Show example code puede ayudar a generar código de ejemplo para funciones específicas, solo necesita seleccionar el código y hacer clic en Show example code.
Ctrl+Enter, siempre puede brindar mucha inspiración, creé tres archivos, un main.cpp vacío, un calculator.h vacío, en calculator.cpp implementé “suma” y “resta”, Copilot dio las siguientes sugerencias:
- Agregar implementaciones de “multiplicación” y “división”
- Llamar a “suma, resta, multiplicación y división” en main
- Creación y uso de bibliotecas estáticas de calculadora
- Resultado de ejecución de la función main, y el resultado es correcto
- Contenido sugerido para el encabezado calculator.h
- Comando de compilación g++
- Caso de prueba gtest
- Contenido de CMakeLists.txt, incluyendo pruebas
- objdump -d main > main.s para ver el código ensamblador, y muestra el código ensamblador
- ar para ver el contenido de la biblioteca estática, y muestra el contenido de la biblioteca estática
Con la configuración predeterminada, el contenido mostrado cada vez que se pulsa Ctrl+Enter varía mucho, no se puede repasar el contenido generado la última vez, si se necesita un contenido generado más estable, se puede configurar el valor de temperature [0, 1]. Cuanto menor sea el valor, más estable será el contenido generado; cuanto mayor sea el valor, más inesperado será el contenido generado.
El contenido sugerido anterior supera con creces el contenido sugerido generalmente en el uso diario, posiblemente debido a que el proyecto es demasiado simple, una vez que se escriben los archivos de compilación y encabezado, las sugerencias no serán tantas, pero todavía a menudo tiene una buena inspiración.
Atajos de teclado para usar sugerencias de Copilot atajos de teclado
| Acción | Atajo | Nombre del comando |
|---|---|---|
| Aceptar sugerencia inline | Tab | editor.action.inlineSuggest.commit |
| Ignorar sugerencia | Esc | editor.action.inlineSuggest.hide |
| Mostrar siguiente sugerencia inline | Alt+] | editor.action.inlineSuggest.showNext |
| Mostrar sugerencia inline anterior | Alt+[ | editor.action.inlineSuggest.showPrevious |
| Desencadenar sugerencia inline | Alt+\ | editor.action.inlineSuggest.trigger |
| Mostrar más sugerencias en panel separado | Ctrl+Enter | github.copilot.generate |
Depuración
Generalmente hay dos métodos de depuración, impresión y punto de interrupción.
- Copilot puede ayudar a generar automáticamente código de impresión, utilizando según el contexto el formato de impresión o registro.
- Copilot puede ayudar a modificar la estructura del código existente, proporcionando una ubicación de punto de interrupción conveniente. Algunos códigos con estilo anidado son difíciles de interrumpir, Copilot puede modificarlos directamente.
Copilot Labs tiene las siguientes funciones preestablecidas:
- Debug, generar código de depuración, por ejemplo impresión, punto de interrupción, y otro código de depuración.
Revisión
La revisión es mutua, nosotros y copilot necesitamos revisarnos frecuentemente, no confíes ciegamente en el código generado rápidamente.
Copilot Labs tiene las siguientes funciones preestablecidas:
- Fix bug, arreglar directamente el bug que detecta, es necesario guardar primero tu código, revisar cuidadosamente la modificación de Copilot.
- Make robust, hacer que el código sea más robusto, Copilot detectará situaciones no manejadas, generará código de mejora, deberíamos estar inspirados por esto, pensar más meticulosamente.
Refactorización
Copilot Labs tiene las siguientes funciones preestablecidas:
- Readable, mejorar la legibilidad, una mejora real de la legibilidad, no simplemente formatear, pero hay que tener mucho cuidado al revisar la modificación de Copilot.
- Clean, hacer que el código sea más limpio, eliminar código innecesario.
- Chunk, hacer que el código sea más fácil de entender, dividir el código en bloques, dividir una gran función en varias funciones pequeñas.
Documentación
Copilot Labs tiene las siguientes funciones preestablecidas:
- Document, generar documentación, por ejemplo comentarios de funciones, y otra documentación.
Uso de Custom para ampliar los límites de Copilot
Custom no es muy llamativo, pero hace que Copilot tenga infinitas posibilidades. Podemos entenderlo como un nuevo lenguaje de programación, este lenguaje de programación es inglés o chino.
Puedes usar Custom para ingresar
Eliminar código comentado
Aumentar la capacidad de multiplicación y división
Reescribir en go
Agregar cálculo de funciones trigonométricas
Agregar cálculo de diferencial, aquí el chino no funciona bien, usarsupport calculate differential, en modo de baja temperatura, no hay respuestas confiables, en modo de alta temperatura, hay algunas respuestas extravagantes.
En el trabajo diario, puedes proponer tus propias necesidades a Copilot en cualquier momento, a través de la capacidad de Custom, puedes hacer que Copilot te ayude a completar muchas operaciones que deseas.
Algunos ejemplos:
| prompts | Descripción |
|---|---|
generate the cmake file | Generar archivo cmake |
generate 10 test cases for tan() | Generar 10 casos de prueba para tan() |
format like google style | Formatear como estilo google |
considerar casos límite | Considerar casos límite |
confirmar liberación de memoria | Confirmar liberación de memoria |
El uso de Custom está lleno de imaginación, pero a veces no es tan confiable, se recomienda guardar el código antes de usarlo, luego revisar cuidadosamente los cambios que realiza.
Obtener sugerencias más profesionales
Cuanto más clara sea la sugerencia para Copilot, más precisa será su recomendación, sugerencias profesionales pueden obtener recomendaciones más profesionales. Muchos códigos inadecuados no afectan la compilación del código ni el funcionamiento del negocio, pero afectan la legibilidad, mantenibilidad, extensibilidad, reutilización, estas características también son muy importantes, si se desea obtener sugerencias más profesionales, es mejor conocer algunos nombres en inglés de las mejores prácticas.
- Primero usa inglés comprensible, puedes aprender inglés viendo proyectos de código abierto.
- Convenciones de nombres, el nombrado es la definición más básica de conceptos, un buen nombrado puede evitar ambigüedades, evitar que el lector se sumerja en los detalles del negocio, mejorando así la legibilidad del código, también es una de las mejores prácticas.
- Normalmente solo se necesita un nombre de variable razonable, Copilot puede dar sugerencias completas.
- Lista de patrones de diseño, los patrones de diseño son una plantilla para resolver problemas, tomando decisiones razonables sobre los principios de diseño SOLID para diferentes problemas, ahorrando tiempo de diseño de soluciones, mejorando la calidad del código.
- Solo necesita escribir el nombre del patrón deseado, Copilot puede generar fragmentos de código completos.
- Lista de algoritmos, buenos algoritmos son cristales de alta sabiduría para resolver una categoría de problemas, los desarrolladores deben abstraer el problema específico, abstraer los datos y luego ingresarlos al algoritmo.
- El código de algoritmo generalmente es universal, solo necesita escribir el nombre del algoritmo, Copilot puede generar fragmentos de código de algoritmo, y Copilot siempre puede ingeniosamente aplicar la estructura de datos del contexto a los algoritmos.
Sugerencias de texto plano
| en | zh |
|---|---|
| GitHub Copilot utiliza OpenAI Codex para sugerir código y funciones completas en tiempo real, directamente desde tu editor. | GitHub Copilot utiliza OpenAI Codex para sugerir código y funciones completas en tiempo real, directamente desde tu editor. |
| Entrenado con miles de millones de líneas de código, GitHub Copilot convierte indicaciones de lenguaje natural en sugerencias de codificación en docenas de idiomas. | Entrenado con miles de millones de líneas de código, GitHub Copilot convierte indicaciones de lenguaje natural en sugerencias de codificación en docenas de idiomas. |
| No vueles solo. Los desarrolladores de todo el mundo utilizan GitHub Copilot para codificar más rápido, centrarse en la lógica de negocio en lugar de código repetitivo, y hacer lo que más importa: construir un gran software. | No vueles solo. Los desarrolladores de todo el mundo utilizan GitHub Copilot para codificar más rápido, centrarse en la lógica de negocio en lugar de código repetitivo, y hacer lo que más importa: construir un gran software. |
| Concéntrate en resolver problemas más grandes. Dedica menos tiempo a crear código repetitivo y patrones de código repetitivos, y más tiempo a lo que importa: construir un gran software. Escribe un comentario describiendo la lógica que deseas y GitHub Copilot sugerirá inmediatamente código para implementar la solución. | Concéntrate en resolver problemas más grandes. Dedica menos tiempo a crear código repetitivo y patrones de código repetitivos, y más tiempo a lo que importa: construir un gran software. Escribe un comentario describiendo la lógica que deseas y GitHub Copilot sugerirá inmediatamente código para implementar la solución. |
| Obtén sugerencias basadas en IA, solo para ti. GitHub Copilot comparte recomendaciones basadas en el contexto y las convenciones de estilo del proyecto. Recorre rápidamente líneas de código, completa sugerencias de funciones y decide cuál aceptar, rechazar o editar. | Obtén sugerencias basadas en IA, solo para ti. GitHub Copilot comparte recomendaciones basadas en el contexto y las convenciones de estilo del proyecto. Recorre rápidamente líneas de código, completa sugerencias de funciones y decide cuál aceptar, rechazar o editar. |
| Codifica con confianza en territorios desconocidos. Ya sea que estés trabajando en un nuevo lenguaje o framework, o simplemente aprendiendo a codificar, GitHub Copilot puede ayudarte a encontrar tu camino. Aborda un error, o aprende a usar un nuevo framework sin pasar la mayor parte de tu tiempo explorando documentos o buscando en la web. | Codifica con confianza en territorios desconocidos. Ya sea que estés trabajando en un nuevo lenguaje o framework, o simplemente aprendiendo a codificar, GitHub Copilot puede ayudarte a encontrar tu camino. Aborda un error, o aprende a usar un nuevo framework sin pasar la mayor parte de tu tiempo explorando documentos o buscando en la web. |
Estas traducciones son generadas por Copilot, no se puede determinar si estas sugerencias se basan en la generación de modelos o en la generación de comportamiento de traducción. De hecho, cualquier contenido en inglés que escribas en la columna en de la tabla puede ser traducido (generado) por Copilot al contenido en la columna zh.

Opciones de configuración
Opciones de configuración del cliente
| Opción de configuración | Descripción | Comentario |
|---|---|---|
| temperature | Temperatura de muestreo | 0.0 - 1.0, 0.0 genera fragmentos de código más comunes, 1.0 genera fragmentos de código más inusuales y aleatorios |
| length | Longitud máxima de sugerencias de código generadas | Por defecto 500 |
| inlineSuggestCount | Cantidad de sugerencias en línea generadas | Por defecto 3 |
| listCount | Cantidad de sugerencias generadas | Por defecto 10 |
| top_p | Priorizar mostrar las sugerencias de los N primeros por probabilidad | Por defecto mostrar todas las sugerencias posibles |
Configuración de cuenta personal tiene dos configuraciones, una relacionada con derechos de autor y otra con privacidad.
- Si se utiliza código abierto para proporcionar sugerencias, principalmente para evitar problemas de derechos de autor en fragmentos de código generados por Copilot, evitando limitaciones de licencia de código abierto.
- Si se permite usar fragmentos de código personales para mejorar el producto, evitando riesgos de filtración de privacidad.
Seguridad de datos
Recopilación de información de Copilot
- Versión comercial
- Información de uso de funciones, posiblemente contenga información personal
- Recopila fragmentos de código, los descarta inmediatamente después de proporcionar sugerencias, no retiene ningún fragmento de código
- Compartición de datos, GitHub, Microsoft, OpenAI
- Versión personal
- Información de uso de funciones, posiblemente contenga información personal
- Recopila fragmentos de código, según la configuración de telemetría personal, los retiene o descarta después de proporcionar sugerencias
- Fragmentos de código incluyen: código que se está editando, archivos relacionados, archivos abiertos en el IDE, direcciones de bibliotecas, rutas de archivos
- Compartición de datos, GitHub, Microsoft, OpenAI
- Protección de datos de código: 1. Cifrado. 2. Parte del personal de GitHub/OpenAI relacionado con el equipo de Copilot puede ver. 3. Control de acceso basado en roles y verificación multifactor al acceder
- Evitar que los fragmentos de código sean utilizados (retenidos o entrenados), 1. Configuración 2. Contactar al equipo de Copilot
- ¿Se utilizará código privado? No.
- ¿Se generará información personal (nombre, fecha de nacimiento, etc.)? Raro, sigue mejorando.
- Declaración de privacidad detallada
Preguntas frecuentes
- Datos de entrenamiento de Copilot, provienen de repositorios públicos de Github.
- ¿El código escrito por Copilot es perfecto? No necesariamente.
- ¿Se puede escribir código para una nueva plataforma? La capacidad actual es limitada.
- ¿Cómo usar mejor Copilot? Dividir el código en funciones pequeñas, describir la función de la función en lenguaje natural, así como entrada y salida, usar nombres de variables y funciones con significado específico.
- ¿El código generado por Copilot tendrá errores? Por supuesto que no se puede evitar.
- ¿El código generado por Copilot se puede usar directamente? No necesariamente, a veces se necesita modificar.
- ¿El código generado por Copilot se puede usar en proyectos comerciales? Sí.
- ¿El código generado por Copilot pertenece a la propiedad intelectual de Copilot? No.
- ¿Copilot copia código del conjunto de entrenamiento? Copilot no copia código, es extremadamente improbable que más de 150 líneas de código coincidan con el conjunto de entrenamiento, esto ocurre en las siguientes dos situaciones
- Cuando la información contextual es muy escasa
- Es una solución para problemas generales
- ¿Cómo evitar la repetición con código público? Configurar filter

- ¿Cómo usar correctamente el código generado por Copilot? 1. Probar/inspeccionar el código generado por ti mismo; 2. No compilar o ejecutar automáticamente el código generado antes de la inspección.
- ¿Copilot tiene el mismo rendimiento en cada idioma natural? El mejor rendimiento es en inglés.
- ¿Copilot generará contenido ofensivo? Ya tiene filtros, pero no se descarta la posibilidad de aparición.














