Personalizzare le risposte Copilot Chat di GitHub

Completato

GitHub Copilot Chat può generare risposte e codice corrispondenti alle procedure di codifica e ai requisiti del progetto quando viene specificato il contesto corretto. Invece di aggiungere ripetutamente queste informazioni in ogni richiesta di chat, è possibile archiviare questo contesto nei file e includerlo automaticamente in ogni richiesta di chat.

Esistono tre modi principali per personalizzare le risposte di intelligenza artificiale in Visual Studio Code:

  • Istruzioni personalizzate: definire linee guida comuni per attività come la generazione di codice, l'esecuzione di revisioni del codice o la generazione di messaggi di commit. Questi descrivono come eseguire le attività e possono specificare procedure di codifica, tecnologie preferite, regole di sicurezza o formati di messaggi di commit.

  • File di richiesta: definire richieste riutilizzabili per le attività comuni. Queste richieste autonome descrivono cosa deve essere fatto e possono includere componenti di scaffolding, esecuzione di revisioni del codice, creazione di guide dettagliate o generazione di piani di implementazione.

  • Modalità di chat personalizzate: definire il funzionamento della chat, quali strumenti può usare e come interagisce con la codebase. Gli esempi includono modalità di pianificazione con accesso in sola lettura, modalità di ricerca che accedono a risorse esterne o modalità specifiche del ruolo, ad esempio lo sviluppo front-end.

Istruzioni personalizzate

Le istruzioni personalizzate consentono di descrivere le linee guida che consentono di ottenere risposte corrispondenti alle specifiche procedure di codifica e allo stack tecnologico. Invece di includere manualmente questo contesto in ogni query di chat, le istruzioni personalizzate incorporano automaticamente queste informazioni con ogni richiesta di chat.

Note

Le istruzioni personalizzate non vengono prese in considerazione per i completamenti del codice.

Tipi di istruzioni personalizzate

Visual Studio Code supporta tre modi per definire istruzioni personalizzate:

Type Description Casi d'uso
.github/copilot-instructions.md File Markdown singolo nell'area di lavoro, incluso automaticamente in tutte le richieste, supporto tra editor. Procedure di codifica generali, tecnologie preferite, requisiti a livello di progetto.
.instructions.md files Più file Markdown con supporto dei criteri GLOB, area di lavoro o archiviazione dei profili utente. Istruzioni specifiche dell'attività, controllo granulare su quando si applicano le istruzioni.
impostazioni di Visual Studio Code Istruzioni nelle impostazioni utente/area di lavoro per scenari specifici. Generazione di codice, generazione di test, messaggi di commit, revisioni del codice, descrizioni delle richieste pull.

È possibile combinare questi approcci, ma evitare istruzioni in conflitto quando non viene applicato alcun ordine di priorità.

Esempi di istruzioni personalizzate

Linee guida generali per la codifica:

---
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.

Linee guida per TypeScript e 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.

Usare il file .github/copilot-instructions.md

Archiviare istruzioni personalizzate in un .github/copilot-instructions.md file nella radice dell'area di lavoro per descrivere procedure di codifica, tecnologie preferite e requisiti di progetto. Queste istruzioni si applicano solo all'area di lavoro e vengono incluse automaticamente in ogni richiesta di chat.

Procedura di installazione:

  1. Verificare che github.copilot.chat.codeGeneration.useInstructionFiles sia abilitato (per impostazione predefinita nelle versioni recenti di Visual Studio Code).
  2. Creare .github/copilot-instructions.md nella radice dell'area di lavoro.
  3. Descrivere le istruzioni usando il linguaggio naturale e il formato Markdown.

Note

Questo file funziona in Visual Studio Code, Visual Studio e GitHub.com.

Usare i file .instructions.md

Creare più .instructions.md file per attività specifiche, linguaggi di programmazione, framework o tipi di progetto. Questi possono essere applicati automaticamente in base ai modelli di file o collegati manualmente alle richieste di chat.

Percorsi dei file:

  • File dell'area di lavoro: archiviati nella .github/instructions cartella, disponibili solo all'interno dell'area di lavoro.
  • File utente: archiviati nel profilo di Visual Studio Code, disponibili in più aree di lavoro e sincronizzati tramite la Sincronizzazione delle impostazioni.

Struttura dei file:

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

Creare e usare i file di istruzioni:

  1. Eseguire Chat: New Instructions File dalla palette dei comandi.
  2. Scegliere area di lavoro o posizione utente.
  3. Immettere il nome e le istruzioni per l'autore in Markdown.
  4. Usare Chat: Configure Instructions per modificare i file esistenti.

Allegato manuale:

  • Nella visualizzazione Chat: Aggiungi istruzioni di contesto >
  • Paletta comandi: Chat: Attach Instructions

Applicazione automatica: usare applyTo i metadati con modelli GLOB (** per tutte le richieste, modelli specifici per l'applicazione di destinazione)

Specificare istruzioni personalizzate nelle impostazioni

Configurare istruzioni personalizzate nelle impostazioni di Visual Studio Code per scenari specifici:

Scenario Setting
Generazione di codice github.copilot.chat.codeGeneration.instructions
Generazione di test github.copilot.chat.testGeneration.instructions
Revisione del codice github.copilot.chat.reviewSelection.instructions
Messaggi di commit github.copilot.chat.commitMessageGeneration.instructions
Titoli/descrizioni delle PR github.copilot.chat.pullRequestDescriptionGeneration.instructions

Definire le istruzioni come testo o fare riferimento a file esterni.

"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"
  }
]

Procedure consigliate per istruzioni personalizzate

  • Mantenere concise le istruzioni: ogni istruzione deve essere una singola istruzione semplice.
  • Evitare riferimenti esterni: non fare riferimento a standard o risorse di codifica esterni.
  • Organizzare in base all'argomento: suddividere le istruzioni in più file per una migliore organizzazione.
  • Abilitare la condivisione del team: Memorizzare istruzioni in file con controllo di versione per la collaborazione del team.
  • Utilizzare l'applicazione specifica: sfruttare applyTo la proprietà per istruzioni specifiche del file.
  • Riferimento efficiente: fare riferimento alle istruzioni personalizzate nei file prompt per ridurre la duplicazione.

File di prompt

I file prompt sono riutilizzabili e i prompt di attività autonomi sono archiviati come file .prompt.md. A differenza delle istruzioni personalizzate, che descrivono come deve rispondere GitHub Copilot, i file di prompt descrivono ciò che deve essere eseguito per un'attività specifica. Vengono eseguiti su richiesta anziché applicarli automaticamente a ogni richiesta.

I file di prompt sono particolarmente adatti ai flussi di lavoro ricorrenti di vibe coding: creazione della struttura di un nuovo componente, generazione di una prima bozza di un documento dei requisiti di prodotto, esecuzione di una revisione del codice o avvio di una sessione con il contesto del progetto già caricato.

Creare un file di comando

Archiviare i file di richiesta nella cartella .github/prompts/ della tua area di lavoro. Il nome del file diventa il nome del prompt.

Struttura dei file:

---
mode: "ask"
description: "Generate a product requirements document for a new feature"
---
# Generate a PRD

Create a product requirements document for the described feature.

Include the following sections:
- Product summary
- Target audience
- Core features (prioritized by must-have / should-have / could-have)
- Out of scope
- Technical requirements

Feature description: ${input:Feature description}

Eseguire un file prompt

  • Riquadro comandi: eseguire Chat: Run Prompt e selezionare il file.
  • Input chat: digitare # nella visualizzazione Chat e selezionare il file di richiesta in base al nome.

I file prompt supportano valori come mode, ask, e agent. Possono anche fare riferimento ai file di istruzioni personalizzati usando la sintassi del collegamento Markdown per evitare la duplicazione del contenuto tra i file.

Modalità di chat personalizzate

Le modalità di chat personalizzate consentono di configurare il funzionamento del pannello di Copilot Chat GitHub per un flusso di lavoro specifico. Si definiscono gli strumenti disponibili, il modo in cui l'intelligenza artificiale interagisce con la codebase e il ruolo che deve svolgere, senza modificare le istruzioni personalizzate.

Per il vibe coding, questo è particolarmente utile per separare la fase di pianificazione dalla fase di costruzione. Una modalità di pianificazione può limitare GitHub Copilot all'analisi di sola lettura in modo da proporre progettazioni senza apportare modifiche, mentre una modalità di implementazione sblocca gli strumenti di modifica completi.

Creare una modalità chat personalizzata

Archiviare file in modalità chat personalizzati nella cartella dell'area .github/chatmodes/ di lavoro.

Struttura dei file:

---
description: "Plan mode: read-only analysis and architecture decisions"
tools: []
---
You are a software architect in planning mode. Analyze the codebase, identify patterns, suggest designs, and answer questions — but do not make any code changes.

Configurazioni comuni della modalità chat per il vibe coding:

Modalità Tools caso d'uso
Pianificazione Nessuno (sola lettura) Decisioni relative all'architettura, progettazione di funzionalità, revisione prd
Ricerca Ricerca Web Analisi delle librerie, confronto degli approcci
Implementazione Accesso completo agli strumenti Scrittura e modifica del codice, esecuzione di comandi
Review Sola lettura Revisione del codice, controllo della sicurezza, controllo delle prestazioni

Usare una modalità chat personalizzata

Seleziona la modalità dal selettore di modalità chat nella barra degli strumenti della vista Chat. La modalità rimane attiva per la sessione fino a quando non si effettua il passaggio.

Summary

La personalizzazione delle risposte GitHub Copilot consente di modellare l'assistenza per l'intelligenza artificiale per adattarsi al flusso di lavoro specifico. Istruzioni personalizzate, usando file .github/copilot-instructions.md, .instructions.md o impostazioni di Visual Studio Code, definiscono come GitHub Copilot deve rispondere, codificando le procedure di codifica, gli standard e le preferenze. I file di richiesta definiscono le operazioni da eseguire per le attività ricorrenti, offrendo richieste riutilizzabili che è possibile eseguire su richiesta. Le modalità di chat personalizzate consentono di configurare il funzionamento della sessione di chat, consentendo di passare da una pianificazione all'altra, ricerca, implementazione e rivedere i flussi di lavoro senza modificare le istruzioni sottostanti. Insieme, questi tre strumenti consentono di creare un ambiente di codifica coerente in cui GitHub Copilot comprende il progetto fin dall'inizio.