Tilpass GitHub Copilot Chat-svar

Fullført

GitHub Copilot Chat kan generere svar og kode som samsvarer med kodingspraksis og prosjektkrav når de får riktig kontekst. I stedet for å legge til denne informasjonen gjentatte ganger i hver chat-forespørsel, kan du lagre denne konteksten i filer og automatisk inkludere den i hver chat-forespørsel.

Det finnes tre hovedmåter å tilpasse AI-svar på i Visual Studio Code:

  • Egendefinerte instruksjoner: Definer vanlige retningslinjer for oppgaver som å generere kode, utføre kodegjennomganger eller generere utførelsesmeldinger. Disse beskriver hvordan oppgaver skal utføres og kan spesifisere kodepraksis, foretrukne teknologier, sikkerhetsregler eller utfør meldingsformater.

  • Ledetekstfiler: Definer gjenbrukbare ledetekster for vanlige oppgaver. Disse frittstående spørsmålene beskriver hva som bør gjøres og kan inkludere stillaskomponenter, utføre kodegjennomganger, lage trinnvise veiledninger eller generere implementeringsplaner.

  • Egendefinerte chattemoduser: Definer hvordan chat fungerer, hvilke verktøy den kan bruke, og hvordan den samhandler med kodebasen. Eksempler inkluderer planleggingsmoduser med skrivebeskyttet tilgang, oppslagsmoduser som får tilgang til eksterne ressurser, eller rollespesifikke moduser som frontend-utvikling.

Tilpassede instruksjoner

Egendefinerte instruksjoner lar deg beskrive retningslinjer som gir svar som samsvarer med din spesifikke kodepraksis og teknologistabel. I stedet for å inkludere denne konteksten manuelt i hver chatteforespørsel, inkorporerer egendefinerte instruksjoner automatisk denne informasjonen i hver chatforespørsel.

Note

Egendefinerte instruksjoner tas ikke i betraktning for kodefullføringer.

Typer tilpassede instruksjoner

Visual Studio Code støtter tre måter å definere egendefinerte instruksjoner på:

Type Description Bruksområder
.github/copilot-instructions.md Enkel Markdown-fil i arbeidsområdet, automatisk inkludert i alle forespørsler, støtte for kryssredigerer. Generell kodingspraksis, foretrukne teknologier, prosjektomfattende krav.
.instructions.md files Flere Markdown-filer med støtte for globemønster, arbeidsområde eller lagring av brukerprofil. Oppgavespesifikke instruksjoner, detaljert kontroll over når instruksjoner gjelder.
Innstillinger for Visual Studio Code Instruksjoner i bruker-/arbeidsområdeinnstillinger for bestemte scenarioer. Kodegenerering, testgenerering, commit-meldinger, kodegjennomganger, PR-beskrivelser.

Du kan kombinere disse fremgangsmåtene, men unngå motstridende instruksjoner siden det ikke brukes noen prioritetsrekkefølge.

Eksempler på tilpassede instruksjoner

Generelle retningslinjer for koding:

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

TypeScript- og React-retningslinjer:

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

Bruk .github/copilot-instructions.md-filen

Lagre egendefinerte instruksjoner i en fil i roten .github/copilot-instructions.md av arbeidsområdet for å beskrive kodepraksis, foretrukne teknologier og prosjektkrav. Disse instruksjonene gjelder bare for arbeidsområdet og inkluderes automatisk i alle chatteforespørsler.

Trinn for oppsett:

  1. Angi github.copilot.chat.codeGeneration.useInstructionFiles til true.
  2. Opprett .github/copilot-instructions.md i roten av arbeidsområdet.
  3. Beskriv instruksjoner ved hjelp av naturlig språk og Markdown-format.

Note

Denne filen fungerer på tvers av Visual Studio Code, Visual Studio og GitHub.com.

Bruk .instructions.md-filer

Opprett flere .instructions.md filer for spesifikke oppgaver, programmeringsspråk, rammeverk eller prosjekttyper. Disse kan brukes automatisk basert på filmønstre eller manuelt legges ved chat-meldinger.

Filplasseringer:

  • Arbeidsområdefiler: Lagret i .github/instructions mappen, bare tilgjengelig i arbeidsområdet.
  • Brukerfiler: Lagret i Visual Studio Code-profilen, tilgjengelig på tvers av flere arbeidsområder og synkronisert via Synkronisering av innstillinger.

Filstruktur:

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

Opprett og bruk instruksjonsfiler:

  1. Kjør Chat: New Instructions File fra kommandopaletten.
  2. Velg arbeidsområde eller brukerplassering.
  3. Skriv inn navn og forfatterinstruksjoner i Markdown.
  4. Brukes Chat: Configure Instructions til å redigere eksisterende filer.

Manuelt vedlegg:

  • I Chat-visning: Legg til kontekstinstruksjoner >
  • Kommando palett: Chat: Attach Instructions

Automatisk applikasjon: Bruk applyTo metadata med glob-mønstre (** for alle forespørsler, spesifikke mønstre for målrettet applikasjon)

Angi egendefinerte instruksjoner i innstillingene

Konfigurer egendefinerte instruksjoner i Visual Studio Code-innstillinger for bestemte scenarioer:

Scenario Setting
Generering av kode github.copilot.chat.codeGeneration.instructions
Generering av tester github.copilot.chat.testGeneration.instructions
Gjennomgang av kode github.copilot.chat.reviewSelection.instructions
Utfør meldinger github.copilot.chat.commitMessageGeneration.instructions
PR-titler/beskrivelser github.copilot.chat.pullRequestDescriptionGeneration.instructions

Definer instruksjoner som tekst eller referer til eksterne filer:

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

Anbefalte fremgangsmåter tilpassede instruksjoner

  • Hold instruksjonene kortfattede: Hver instruksjon bør være en enkelt, enkel uttalelse.
  • Unngå eksterne referanser: Ikke referer til eksterne kodestandarder eller ressurser.
  • Organiser etter emne: Del instruksjonene i flere filer for bedre organisering.
  • Aktiver teamdeling: Lagre instruksjoner i versjonskontrollerte filer for teamsamarbeid.
  • Bruk målrettet program: Utnytt applyTo egenskapen for filspesifikke instruksjoner.
  • Referer effektivt: Referer til egendefinerte instruksjoner i ledetekstfiler for å unngå duplisering.

Summary

Egendefinerte instruksjoner i GitHub Copilot Chat lar deg definere kodepraksis, foretrukne teknologier og prosjektkrav som automatisk inkluderes i hver chatforespørsel. Ved å bruke .github/copilot-instructions.md filer, .instructions.md filer eller Visual Studio Code-innstillinger kan du sikre at AI-genererte svar samsvarer med kodingsstandardene og prosjektbehovene dine. Denne tilnærmingen forbedrer kvaliteten og relevansen av AI-assistanse samtidig som kontrollen over kodeprosessen opprettholdes.