Personalización de respuestas de Chat de Copilot en GitHub

Completado

El chat de Copilot de GitHub puede generar respuestas y código que coincidan con las prácticas de codificación y los requisitos del proyecto cuando se le asigna el contexto adecuado. En lugar de agregar repetidamente esta información en cada mensaje de chat, puede almacenar este contexto en archivos e incluirla automáticamente en cada solicitud de chat.

Hay tres maneras principales de personalizar las respuestas de IA en Visual Studio Code:

  • Instrucciones personalizadas: defina directrices comunes para tareas como generar código, realizar revisiones de código o generar mensajes de confirmación. Estos describen cómo se deben realizar las tareas y pueden especificar prácticas de codificación, tecnologías preferidas, reglas de seguridad o formatos de mensaje de confirmación.

  • Archivos de indicaciones: Defina indicaciones reutilizables para tareas comunes. Estos avisos independientes describen lo que se debe hacer y pueden incluir componentes de estructuración, realizar revisiones de código, crear guías paso a paso o generar planes de implementación.

  • Modos de chat personalizados: defina cómo funciona el chat, qué herramientas puede usar y cómo interactúa con el código base. Entre los ejemplos se incluyen los modos de planeación con acceso de solo lectura, modos de investigación que acceden a recursos externos o modos específicos de roles, como el desarrollo front-end.

Instrucciones personalizadas

Las configuraciones personalizadas le permiten describir las directrices que generan respuestas que coinciden con sus prácticas de codificación específicas y su stack tecnológico. En lugar de incluir manualmente este contexto en cada consulta de chat, las instrucciones personalizadas incorporan automáticamente esta información con cada solicitud de chat.

Note

Las instrucciones personalizadas no se tienen en cuenta para las finalizaciones de código.

Tipos de instrucciones personalizadas

Visual Studio Code admite tres maneras de definir instrucciones personalizadas:

Type Description Casos de uso
.github/copilot-instructions.md Archivo Markdown único en el área de trabajo, incluido automáticamente en todas las solicitudes, compatibilidad entre editores. Procedimientos generales de codificación, tecnologías preferidas, requisitos para todo el proyecto.
.instructions.md files Varios archivos Markdown con compatibilidad con patrones globales, área de trabajo o almacenamiento de perfiles de usuario. Instrucciones específicas de la tarea, control pormenorizado sobre cuándo se aplican las instrucciones.
Configuración de Visual Studio Code Instrucciones de configuración de usuario o área de trabajo para escenarios específicos. Generación de código, generación de pruebas, confirmación de mensajes, revisiones de código, descripciones de PR.

Puede combinar estos enfoques, pero evitar instrucciones en conflicto, ya que no se aplica ningún orden de prioridad.

Ejemplos de instrucciones personalizadas

Directrices generales de codificación:

---
applyTo: "**"
---
# Project coding standards

## Naming Conventions
- Use PascalCase for component names, interfaces, and type aliases.
- Use camelCase for variables, functions, and methods.
- Prefix private class members with underscore (_).
- Use ALL_CAPS for constants.

## Error Handling
- Use try/catch blocks for async operations.
- Implement proper error boundaries in React components.
- Always log errors with contextual information.

Instrucciones de TypeScript y React:

---
applyTo: "**/*.ts,**/*.tsx"
---
# TypeScript and React standards

Apply the [general coding guidelines](./general-coding.instructions.md) to all code.

## TypeScript Guidelines
- Use TypeScript for all new code.
- Follow functional programming principles where possible.
- Use interfaces for data structures and type definitions.
- Prefer immutable data (const, readonly).
- Use optional chaining (?.) and nullish coalescing (??) operators.

## React Guidelines
- Use functional components with hooks.
- Follow the React hooks rules (no conditional hooks).
- Use React.FC type for components with children.
- Keep components small and focused.
- Use CSS modules for component styling.

Use el archivo .github/copilot-instructions.md

Almacene instrucciones personalizadas en un .github/copilot-instructions.md archivo en la raíz del área de trabajo para describir los procedimientos de codificación, las tecnologías preferidas y los requisitos del proyecto. Estas instrucciones solo se aplican al área de trabajo y se incluyen automáticamente en cada solicitud de chat.

Pasos de configuración:

  1. Establece github.copilot.chat.codeGeneration.useInstructionFiles en true.
  2. Cree .github/copilot-instructions.md en la raíz del área de trabajo.
  3. Describir instrucciones con lenguaje natural y formato Markdown.

Note

Este archivo funciona en Visual Studio Code, Visual Studio y GitHub.com.

Usar archivos .instructions.md

Cree varios .instructions.md archivos para tareas específicas, lenguajes de programación, marcos de trabajo o tipos de proyecto. Estos se pueden aplicar automáticamente en función de los patrones de archivo o adjuntarlos manualmente a mensajes de chat.

Ubicaciones de archivo:

  • Archivos del área de trabajo: se almacenan en .github/instructions la carpeta y solo están disponibles en el área de trabajo.
  • Archivos de usuario: almacenados en el perfil de Visual Studio Code, disponibles en varias áreas de trabajo y sincronizadas a través de la sincronización de configuración.

Estructura de archivos:

---
description: "Brief description of the instructions file"
applyTo: "**/*.ts,**/*.tsx"  # Glob pattern for automatic application
---
# Instructions content in Markdown format

Cree y use archivos de instrucciones:

  1. Ejecute Chat: New Instructions File desde la paleta de comandos.
  2. Elija el área de trabajo o la ubicación del usuario.
  3. Escriba las instrucciones de nombre y autor en Markdown.
  4. Use Chat: Configure Instructions para editar los archivos existentes.

Adjunto manual

  • En la vista Chat: Agregar instrucciones de contexto >
  • Paleta de comandos: Chat: Attach Instructions

Aplicación automática: use applyTo metadatos con patrones globales (** para todas las solicitudes, patrones específicos para la aplicación de destino)

Especificación de instrucciones personalizadas en la configuración

Configure instrucciones personalizadas en la configuración de Visual Studio Code para escenarios específicos:

Scenario Setting
Generación de código github.copilot.chat.codeGeneration.instructions
Generación de pruebas github.copilot.chat.testGeneration.instructions
Revisión de código github.copilot.chat.reviewSelection.instructions
Mensajes de confirmación github.copilot.chat.commitMessageGeneration.instructions
Títulos y descripciones de PR github.copilot.chat.pullRequestDescriptionGeneration.instructions

Defina las instrucciones como texto o haga referencia a archivos externos.

"github.copilot.chat.codeGeneration.instructions": [
  {
    "text": "Always add a comment: 'Generated by Copilot'."
  },
  {
    "text": "In TypeScript always use underscore for private field names."
  },
  {
    "file": "general.instructions.md"
  },
  {
    "file": "db.instructions.md"
  }
]

Procedimientos recomendados para obtener instrucciones personalizadas

  • Mantener las instrucciones concisas: cada instrucción debe ser una única instrucción simple.
  • Evitar referencias externas: no haga referencia a estándares o recursos de codificación externos.
  • Organizar por tema: divida las instrucciones en varios archivos para mejorar la organización.
  • Habilitar el uso compartido de equipos: almacene instrucciones en archivos controlados por versiones para la colaboración en equipo.
  • Usar la aplicación específica: aprovechar applyTo la propiedad para obtener instrucciones específicas del archivo.
  • Referencia eficaz: haga referencia a las instrucciones personalizadas de los archivos de solicitud para evitar la duplicación.

Summary

Las instrucciones personalizadas en GitHub Copilot Chat le permiten definir prácticas de codificación, tecnologías preferidas y requisitos de proyecto que se incluyen automáticamente en cada solicitud de chat. Mediante el uso de archivos .github/copilot-instructions.md, archivos .instructions.md o la configuración de Visual Studio Code, puede asegurarse de que las respuestas generadas por IA se ajusten a sus estándares de codificación y necesidades del proyecto. Este enfoque mejora la calidad y la relevancia de la asistencia de inteligencia artificial al tiempo que mantiene el control sobre el proceso de codificación.