Personalizzare le risposte di GitHub Copilot Chat

Completato

GitHub Copilot Chat può generare risposte e codice che corrispondano 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. Impostare github.copilot.chat.codeGeneration.useInstructionFiles su true.
  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 Sincronizzazione 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
Eseguire il commit dei messaggi github.copilot.chat.commitMessageGeneration.instructions
Titoli/descrizioni delle richieste pull 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 di richiesta per evitare la duplicazione.

Summary

Le istruzioni personalizzate in GitHub Copilot Chat consentono di definire procedure di codifica, tecnologie preferite e requisiti di progetto inclusi automaticamente in ogni richiesta di chat. Usando .github/copilot-instructions.md file, .instructions.md file o impostazioni di Visual Studio Code, è possibile assicurarsi che le risposte generate dall'intelligenza artificiale siano allineate agli standard di codifica e alle esigenze del progetto. Questo approccio migliora la qualità e la pertinenza dell'assistenza di IA mantenendo al tempo stesso il controllo sul processo di codifica.