GitHub Copilot Chat a veces carga el contexto de repositorio incorrecto, lo que hace que sugiera código o responda preguntas basándose en archivos de un proyecto diferente. Esto sucede cuando la extensión no puede detectar correctamente el repositorio activo o cuando hay múltiples repositorios abiertos en el mismo espacio de trabajo. El problema es común entre desarrolladores que trabajan con varios repositorios en Visual Studio Code o IDE de JetBrains. Este artículo explica por qué Copilot Chat pierde el contexto y proporciona soluciones paso a paso para restaurar el comportamiento correcto.
Conclusiones clave: Restaurar el contexto de repositorio correcto en Copilot Chat
- Paleta de comandos de VS Code > Desarrollador: Recargar ventana: Refresca el host de extensiones y obliga a Copilot a releer el espacio de trabajo activo.
- Configuración de GitHub Copilot Chat > Selector de repositorio: Permite elegir manualmente el repositorio correcto cuando hay varios abiertos.
- Archivo .copilot-context en la raíz del repositorio: Define explícitamente qué repositorio debe usar Copilot Chat para el contexto.
Por qué Copilot Chat elige el repositorio incorrecto
GitHub Copilot Chat determina el contexto del repositorio leyendo la estructura de carpetas del espacio de trabajo y el repositorio Git activo. En Visual Studio Code, la extensión utiliza la API workspaceFolders y el estado git.repository para identificar el proyecto actual. Cuando abres un espacio de trabajo que contiene múltiples carpetas, cada una con su propia raíz Git, Copilot Chat puede seleccionar la carpeta incorrecta como contexto principal.
Los IDE de JetBrains utilizan un mecanismo similar basado en la raíz del proyecto y el módulo activo. Si tienes múltiples módulos o proyectos cargados en la misma ventana del IDE, Copilot Chat puede usar por defecto el primer módulo de la lista en lugar del que estás editando activamente.
La extensión no siempre reevalúa el contexto cuando cambias entre archivos o pestañas. Almacena en caché el identificador del repositorio al inicio de la sesión. Si cambias a un repositorio diferente sin recargar la ventana, Copilot Chat continúa referenciando el repositorio original. Esto lleva a sugerencias incorrectas, referencias a archivos obsoletos y respuestas que hacen referencia a código del proyecto equivocado.
Pasos para corregir el contexto de repositorio incorrecto
Los siguientes pasos aplican a Visual Studio Code y a los IDE de JetBrains. Realízalos en orden hasta que el contexto se corrija.
Paso 1: Verificar el repositorio activo en la barra de estado
- Abre el panel de Copilot Chat
Haz clic en el icono de Copilot Chat en la barra de actividades o presiona Ctrl+Shift+I en Windows, Cmd+Shift+I en Mac. - Verifica el nombre del repositorio que se muestra en la parte superior del panel de chat
Si el nombre no coincide con el repositorio en el que estás trabajando, el contexto es incorrecto. Anota el nombre mostrado. - Cierra cualquier otra carpeta del espacio de trabajo que contenga repositorios no relacionados
En VS Code, ve a Archivo > Cerrar carpeta por cada carpeta adicional. En JetBrains, ve a Archivo > Cerrar proyecto y vuelve a abrir solo el proyecto correcto.
Paso 2: Recargar la ventana del IDE
- En VS Code, abre la paleta de comandos
Presiona Ctrl+Shift+P en Windows o Cmd+Shift+P en Mac. - Ejecuta el comando Recargar ventana
EscribeDeveloper: Reload Windowy presiona Enter. La ventana se reinicia y Copilot Chat se reinicializa con el espacio de trabajo correcto. - En los IDE de JetBrains, ve a Archivo > Invalidar cachés
Selecciona Invalidar y reiniciar. Esto limpia la caché de la extensión y obliga a Copilot Chat a reconstruir su índice de contexto.
Paso 3: Seleccionar manualmente el repositorio correcto
- En el panel de Copilot Chat, haz clic en el menú desplegable de repositorio
Este menú desplegable aparece cerca de la parte superior del panel de chat si se detectan múltiples repositorios. - Selecciona el repositorio correcto de la lista
Copilot Chat reindexa inmediatamente ese repositorio y lo usa para todas las consultas posteriores. - Si el menú desplegable no aparece, abre la configuración de VS Code
Ve a Archivo > Preferencias > Configuración, buscagithub.copilot.chat.repositorySelectiony establécelo enmanual. Esto hace que el menú desplegable sea siempre visible.
Paso 4: Agregar un archivo .copilot-context
- Crea un archivo llamado
.copilot-contexten la raíz del repositorio correcto
Este archivo le indica a Copilot Chat qué repositorio usar por defecto. - Agrega la ruta o el nombre del repositorio
Escribe la ruta relativa a la raíz del repositorio o el nombre del repositorio tal como lo reconoce tu remoto Git. Ejemplo:my-frontend-app. - Guarda el archivo y recarga la ventana
Ejecuta el comando Recargar ventana del Paso 2 para aplicar el cambio.
Paso 5: Deshabilitar temporalmente los espacios de trabajo multi-raíz
- Abre el archivo de espacio de trabajo
En VS Code, ve a Archivo > Abrir espacio de trabajo desde archivo y selecciona tu archivo.code-workspace. - Elimina carpetas adicionales del espacio de trabajo
En el JSON de configuración del espacio de trabajo, elimina las entradasfoldersque apunten a otros repositorios. Guarda el archivo. - Recarga la ventana
Copilot Chat ahora ve solo un repositorio y lo usa para el contexto.
Si Copilot Chat aún usa el contexto incorrecto después de la solución principal
Copilot Chat devuelve fragmentos de código de un proyecto diferente
Si las sugerencias aún hacen referencia a archivos de otro repositorio, la extensión puede estar leyendo un índice en caché. Limpia la caché de Copilot Chat ejecutando el comando Copilot: Clear Chat History desde la paleta de comandos. Luego haz una nueva pregunta para forzar una carga de contexto fresca.
Copilot Chat ignora el archivo .copilot-context
El archivo .copilot-context solo se lee cuando Copilot Chat se inicializa. Si agregas el archivo después de que la sesión haya comenzado, recarga la ventana. También verifica que el archivo esté en la raíz del repositorio que está actualmente activo en el espacio de trabajo, no en una subcarpeta.
Múltiples ventanas de VS Code tienen el mismo contexto incorrecto
Esto ocurre cuando abres el mismo archivo de espacio de trabajo desde diferentes ventanas. Cierra todas las ventanas de VS Code, vuelve a abrir solo la carpeta del proyecto correcto y recarga. No uses el archivo de espacio de trabajo hasta que hayas eliminado las carpetas conflictivas.
Métodos de contexto de Copilot Chat: Selección manual vs. archivo .copilot-context
| Elemento | Menú desplegable de repositorio manual | Archivo .copilot-context |
|---|---|---|
| Esfuerzo de configuración | Un clic por sesión | Creación de archivo única |
| No, debe volver a seleccionarse cada sesión | Sí, persiste hasta que se elimina el archivo | |
| Mejor para | ||
| Flujos de trabajo de un solo proyecto |
para que siempre veas el menú desplegable.
.copilot-context
github.copilot.chat.repositorySelection
manual