Note
Las instrucciones de codificación personalizadas se limitan a los participantes seleccionados en la versión preliminar pública de la Revisión del código de Copilot y solo están disponibles como parte de una suscripción a GitHub Copilot Enterprise.
Acerca de las instrucciones de codificación
Puedes personalizar la Revisión del código de Copilot con instrucciones de codificación personalizadas escritas en lenguaje natural. Para obtener más información sobre la Revisión del código de Copilot, consulta Uso de la revisión de código de GitHub Copilot.
Con las instrucciones de codificación, Copilot puede proporcionar comentarios en función del estilo de codificación y los procedimientos recomendados específicos de su organización.
Dado que la Revisión del código de Copilot cuenta con tecnología de un modelo de lenguaje grande, puede ayudar a aplicar instrucciones de codificación que tu linter o herramienta de análisis estático no cubre.
Las instrucciones de codificación se configuran en el nivel de repositorio. Puedes crear y habilitar hasta 6 instrucciones de codificación por repositorio.
Note
- Las instrucciones de codificación solo funcionan con lenguajes compatibles con la revisión de código de Copilot. Para obtener una lista de los lenguajes compatibles, consulta Uso de la revisión de código de GitHub Copilot.
- Las instrucciones de codificación solo se aplican a las revisiones de código realizadas por Copilot. Las instrucciones no afectan a las sugerencias de finalización de código de Copilot ni al código sugerido en las respuestas del Chat de Copilot.
Qué debes hacer o no en las instrucciones de codificación
- Debes usar un lenguaje sencillo, claro y conciso para describir la instrucción de codificación.
- Debes indicar de la forma más específica posible qué debe buscar Copilot, es decir, qué quieres ver o no en el código.
- Debes echar una vistazo a los ejemplos de instrucciones de creación de código más adelante para que te sirvan de inspiración.
- No intentes usar instrucciones de creación de código para aplicar instrucciones de estilo que se incluyan en tu herramienta de análisis estático o linter.
- No debes usar términos ambiguos o que puedan interpretarse de distintas formas.
- No intentes integrar varias ideas diferentes en una sola instrucción de creación de código.
Creación de una instrucción de codificación
-
En GitHub, navegue hasta la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección "Code & automation" de la barra lateral, haz clic en Copilot y, después, en Code review.
-
Haz clic en Create guideline.
-
En "Name", asigna un nombre a la instrucción de codificación.
-
En "Description", proporciona una descripción de la instrucción de codificación con un máximo de 600 caracteres. Copilot usará estos datos para comprender el estilo de codificación y decidir cuándo dejar un comentario.
La forma de escribir tu descripción tiene un gran impacto en la calidad de los comentarios que generará Copilot. Para obtener ayuda y escribir instrucciones de codificación eficientes, consulta Qué debes hacer o no en las instrucciones de codificación más arriba y Ejemplos de instrucciones de código más adelante.
-
Además, tienes la opción de limitar la instrucción de codificación a determinados tipos de archivo o rutas de acceso si haces clic en Add file path y agregas patrones de ruta de acceso.
Puedes usar la sintaxis
fnmatch
para definir rutas de acceso a un destino, con*
como carácter comodín para permitir la coincidencia con cualquier cadena de caracteres.Como GitHub usa la marca
File::FNM_PATHNAME
para la sintaxisFile.fnmatch
, el carácter comodín*
no coincide con los separadores de directorios (/
). Por ejemplo,qa/*
coincidirá con todas las ramas que comienzan porqa/
y que contienen una sola barra diagonal, pero no coincidirá conqa/foo/bar
. Puedes incluir cualquier número de barras diagonales después deqa
conqa/**/*
, que coincidiría, por ejemplo, conqa/foo/bar/foobar/hello-world
. También puedes extender la cadenaqa
conqa**/**/*
para que la regla sea más inclusiva.Para más información sobre las opciones de sintaxis, consulta la documentación de fnmatch.
-
Prueba tu instrucción de codificación para asegurarte de que funciona según lo previsto.
- Haz clic en Add sample.
- Agrega tu propio ejemplo o presiona Generate code sample para generar de forma automática un ejemplo de código basado en el título y la descripción.
- Haz clic en Save para guardar el ejemplo de código.
- Prueba la instrucción de codificación en tu ejemplo; para ello, presiona Run.
-
Guarda la instrucción de codificación y haz clic en Save guideline para activarla.
Ejecución de una revisión con instrucciones de codificación
Cuando solicites una revisión de Copilot, este usará de forma automática las instrucciones de codificación habilitadas para el repositorio a fin de revisar el código. Para más información, consulta Uso de la revisión de código de GitHub Copilot.
Los comentarios que se generan basados en una instrucción de codificación incluirán un mensaje, donde se resalta su origen.
Ejemplos de instrucciones de codificación
Ejemplo 1: Evitar el uso de números mágicos
Título: Avoid using magic numbers
Descripción: Don't use magic numbers in code. Numbers should be defined as constants or variables with meaningful names.
Patrones de rutas de acceso: **/*.py
Ejemplo 2: No usar SELECT *
en consultas SQL
Título: Don't use `SELECT *` in SQL queries
Descripción: Don't use `SELECT *` in SQL queries. Always specify the columns you want to select. `COUNT(*)` is allowed.
Patrones de ruta de acceso: Ninguno (se aplica a todos los tipos de archivo, ya que las consultas SQL se pueden incrustar en el código).
Ejemplo 3: Usar fetch
para solicitudes HTTP
Título: Use `fetch` for HTTP requests
Descripción: Use `fetch` for HTTP requests, not `axios` or `superagent` or other libraries.
Patrones de rutas de acceso: **/*.ts
, **/*.js
, **/*.jsx
, **/*.tsx
Ejemplo 4: Etiquetar siempre las métricas con el entorno actual
Título: Always tag metrics with the current environment
Descripción: Always include a `env` tag with the current environment when emitting metrics, for example, `env:prod` or `env:dev`.
Patrones de rutas de acceso: */*.go
, */*.java