When a preference is detected, you can choose where to save it:
This approach lets you personalize Copilot for your own workflow while also establishing shared coding standards for your team.
To use a .github/copilot-instructions.md file:
Custom instructions aren't visible in the Chat view or inline chat. However, when used by Copilot, the.github/copilot-instructions.md file is listed in the References list of a response.
Copilot memories can automatically detect your preferences during chat and add them to your instruction files, so you don't have to write them manually.
In addition to repo-level custom instructions, you can define user-level preferences that apply to all your Copilot sessions across projects. User-level preferences are saved to %USERPROFILE%/copilot-instructions.md.
Use user-level preferences for personal coding standards, preferred patterns, or workflow conventions that you want Copilot to follow regardless of the repository you're working in. Repo-level instructions in .github/copilot-instructions.md still apply alongside your user-level preferences, so your team's shared standards are also respected.
You can add preferences to this file manually, or let Copilot memories detect and save them automatically as you chat.
Instead of using a single instructions file that applies to all chat requests, you can create multiple *.instructions.md files that apply to specific file types or tasks. For example, you can create instructions files for different programming languages, frameworks, or project types.
To use a .github/instructions/*.instructions.md file:
Create the .github/instructions directory if it does not already exist.
Add one or more .github/instructions/*.instructions.md files.
Add the applyTo property in the frontmatter section of the instructions file. Use glob syntax to specify what files or folders the instructions apply to.
Enable the feature in Visual Studio.
In the Tools > Options pane, expand the All Settings > GitHub > Copilot > Copilot Chat section and select the Enable custom instructions to be loaded from .github/copilot-instructions.md files and added to requests checkbox.
Targeted instruction files use the .instructions.md extension and have this structure:
Here's an example C# custom instruction:
Copy these instructions into your .github/instructions/*.instructions.md file to use and automatically apply to Copilot behavior.
For more examples of custom instructions, see the list of instruction samples on GitHub.
🤖 [dotnet/skills para GitHub Copilot CLI]dotnet/skills para asistentes IA — Microsoft ha publicado los mismos skills que usa el propio equipo que desarrolla .NET. Gracias a ellos, optimizarás las respuestas de tus asistentes de IA con el conocimiento directo del equipo de .NET. Podrás resolver tareas complejas y errores de depuración de forma más fiable, reduciendo los intentos fallidos. Al integrar estas "habilidades" en tu entorno de trabajo, ganarás productividad aplicando patrones ya probados en escenarios reales de ingeniería. Muy, muy interesante.
Y si usas Azure, han publicado también los skills correspondientes.
Sí. Los ajustes de Copilot en VS2022 pueden automatizarse usando tres mecanismos:
Limitación real: Visual Studio no expone todos los checkboxes de Copilot a un archivo de configuración editable. La mayoría siguen estando solo en la UI.
copilot.general.chat.enableMcpProvider = true
Activa proveedor MCP (Model Context Protocol). Mejora integración con agentes internos.
copilot.general.chat.enableAgentMode = true
Permite usar Copilot en modo agentes, delegando tareas.
copilot.general.chat.enableWorkspaceIndexing = true
Permite indexar la solución completa para obtener mejor contexto.
copilot.general.chat.autoSelectRefinementMode = false
Evita que Copilot elija automáticamente el tipo de refinamiento.
copilot.general.chat.autoAttachActiveDocument = true
Adjunta automáticamente el archivo activo al chat.
copilot.general.chat.enableCustomInstructions = true
Permite usar instrucciones personalizadas (como tu estilo o reglas).
copilot.general.chat.enableCustomInstructionsFiles = false
Deshabilita cargar instrucciones desde archivos externos.
copilot.general.chat.enableDotNetProjectSpecificInstructions = false
No activa instrucciones específicas para proyectos .NET.
copilot.general.chat.enablePlanning = false
Desactiva el módulo de planificación automática de múltiples pasos.
copilot.general.chat.enableViewPlanExecution = true
Permite ver el plan cuando Copilot ejecuta acciones.
copilot.general.chat.enableMicrosoftLearnFunction = false
No consulta Microsoft Learn como fuente adicional.
copilot.general.chat.enablePreferenceDetection = true
Copilot detecta patrones de tu código y adapta respuestas.
copilot.general.chat.defaultAgent = LastSelected
Usa el último agente seleccionado como predeterminado.
copilot.general.chat.preferredModelFamily = gpt-5.3-codex
Selecciona el modelo principal para el chat.
copilot.general.chat.maxFunctionCallIterations = 40
Límite de iteraciones cuando Copilot ejecuta tareas mediante funciones.
copilot.general.chat.errorDiagnosticsEnabled = true
Habilita diagnósticos cuando ocurre un error.
copilot.general.completions.enableNextEditSuggestions = false
Desactiva sugerencias sobre tu próxima edición.
copilot.general.completions.enableNextEditSuggestionsCollapsedMode = false
Evita mostrar sugerencias colapsadas de próxima edición.
copilot.general.completions.areCopilotCompletionsEnabled = true
Activa sugerencias de completado de Copilot.
copilot.general.editor.enhanceNonChat = true
Mejora características de Copilot fuera del chat.
copilot.general.editor.enableRenameSuggestions = true
Muestra sugerencias cuando renombrar elementos.
copilot.general.editor.enableOnTheFlyDocs = true
Muestra documentación generada al vuelo.
copilot.general.editor.enableFixWithCopilot = true
Permite aplicar fixes generados por Copilot.
copilot.general.editor.enableGenerateDocumentationComment = true
Crea automáticamente comentarios de documentación.
copilot.general.editor.enableAdaptivePaste = false
Deshabilita pegado inteligente (transforma contenido pegado).
copilot.general.editor.enableMermaidPreview = false
No activa previsualización de diagramas Mermaid.
copilot.general.sourceControl.enableCommitMessageSuggestions = true
Sugerencias automáticas para mensajes de commit.
copilot.general.sourceControl.customizedTemplate
(Vacío) — sin plantilla personalizada.
copilot.general.debugger.enableDiagnosticsHubSuggestions = true
Activa sugerencias dentro del Hub de Diagnóstico.
copilot.general.debugger.enableDiagnosticsHubProfilerAgent = false
Desactiva el agente de perfilado de Copilot.
copilot.general.debugger.enableBreakpointSuggestions = true
Sugiere puntos de corte relevantes.
copilot.general.debugger.enableDebugErrorCodeService = true
Explica códigos de error cuando depuras.
copilot.general.debugger.enableParallelStacksSummarizationService = true
Resume y explica pilas paralelas.
Porque Visual Studio 2022 no usa settings.json para Copilot, aunque algunos documentos antiguos lo mencionen.
Solo lo usa:
En VS2022, Copilot guarda toda la configuración en:
ApplicationPrivateSettings.xml
C:\Users\xxxx\AppData\Local\Microsoft\VisualStudio\17.0_6a071d34\ApplicationPrivateSettings.xml
CurrentSettings.vssettings
C:\Users\xxxx\AppData\Local\Microsoft\VisualStudio\17.0_6a071d34\Settings\CurrentSettings.vssettings
Cada fichero debe responder una sola pregunta.
Si responde más de una → está mal diseñado.
Si mezclas humanos e IA en los mismos .md,
estás creando documentación esquizofrénica.
Crea el fichero solo si:
Si no cumple las 3 → no lo crees.