Dostosowywanie odpowiedzi usługi GitHub Copilot Chat

Ukończone

Usługa GitHub Copilot Chat może generować odpowiedzi i kod, które są zgodne z praktykami kodowania i wymaganiami projektu w odpowiednim kontekście. Zamiast wielokrotnie dodawać te informacje w każdym monicie czatu, możesz przechowywać ten kontekst w plikach i automatycznie dołączać je do każdego żądania czatu.

Istnieją trzy główne sposoby dostosowywania odpowiedzi sztucznej inteligencji w Visual Studio Code:

  • Instrukcje niestandardowe: Definiowanie typowych wytycznych dotyczących zadań, takich jak generowanie kodu, wykonywanie przeglądów kodu lub generowanie komunikatów zatwierdzenia. Opisują one sposób wykonywania zadań i mogą określać praktyki kodowania, preferowane technologie, reguły zabezpieczeń lub formaty komunikatów zatwierdzeń.

  • Pliki monitów: zdefiniuj monity wielokrotnego użytku dla typowych zadań. Te niezależne monity opisują, co należy zrobić i mogą obejmować komponenty wspierające, wykonywanie przeglądów kodu, tworzenie przewodników krok po kroku lub generowanie planów wdrożenia.

  • Niestandardowe tryby czatu: definiowanie sposobu działania czatu, narzędzi, których może używać, oraz sposobu interakcji z bazą kodu. Przykłady obejmują tryby planowania z dostępem tylko do odczytu, tryby badawcze, które uzyskują dostęp do zasobów zewnętrznych, lub tryby specyficzne dla ról, takie jak programowanie front-endu.

Instrukcje niestandardowe

Instrukcje niestandardowe umożliwiają opisywanie wytycznych, które uzyskują odpowiedzi zgodne z konkretnymi praktykami kodowania i stosem technologicznym. Zamiast ręcznie dołączać ten kontekst w każdym zapytaniu czatu, niestandardowe instrukcje automatycznie dołączają te informacje do każdego żądania czatu.

Note

Niestandardowe instrukcje nie są uwzględniane w przypadku uzupełniania kodu.

Typy instrukcji niestandardowych

Visual Studio Code obsługuje trzy sposoby definiowania instrukcji niestandardowych:

Typ Description Przypadki użycia
.github/copilot-instructions.md Pojedynczy plik Markdown w obszarze roboczym, automatycznie uwzględniony we wszystkich żądaniach, obsługa między edytorami. Ogólne praktyki kodowania, preferowane technologie, wymagania dotyczące całego projektu.
.instructions.md files Wiele plików Markdown z obsługą wzorców glob oraz przechowywaniem w obszarze roboczym lub w profilu użytkownika. Instrukcje specyficzne dla zadania, szczegółowa kontrola nad zastosowaniem instrukcji.
ustawienia Visual Studio Code Instrukcje w ustawieniach użytkownika/obszaru roboczego dla określonych scenariuszy. Generowanie kodu, generowanie testów, komunikaty zatwierdzania, przeglądy kodu, opisy pull requestów.

Można połączyć te podejścia, ale uniknąć konfliktów instrukcji, ponieważ nie zastosowano kolejności priorytetu.

Przykłady niestandardowych instrukcji

Ogólne wytyczne dotyczące kodowania:

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

Wytyczne dotyczące języków TypeScript i 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.

Użyj pliku .github/copilot-instructions.md

Przechowuj instrukcje dostosowane do potrzeb w pliku .github/copilot-instructions.md w katalogu głównym obszaru roboczego, aby opisać praktyki kodowania, preferowane technologie i wymagania dotyczące projektu. Te instrukcje dotyczą tylko obszaru roboczego i są automatycznie uwzględniane w każdym żądaniu czatu.

Kroki konfiguracji:

  1. Sprawdź, czy github.copilot.chat.codeGeneration.useInstructionFiles jest włączona (domyślnie w ostatnich wersjach Visual Studio Code).
  2. Utwórz .github/copilot-instructions.md w katalogu głównym obszaru roboczego.
  3. Opis instrukcji przy użyciu języka naturalnego i formatu Markdown.

Note

Ten plik działa w Visual Studio Code, Visual Studio i GitHub.com.

Używanie plików .instructions.md

Utwórz wiele .instructions.md plików dla określonych zadań, języków programowania, struktur lub typów projektów. Można je automatycznie stosować zgodnie ze wzorcami plików lub dołączać ręcznie do monitów czatu.

Lokalizacje plików:

  • Pliki obszaru roboczego: przechowywane w .github/instructions folderze, dostępne tylko w obszarze roboczym.
  • Pliki użytkownika: przechowywane w profilu Visual Studio Code, dostępne w wielu przestrzeniach roboczych i synchronizowane w ustawieniach przez Settings Sync.

Struktura pliku:

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

Tworzenie i używanie plików instrukcji:

  1. Uruchom polecenie Chat: New Instructions File z palety poleceń.
  2. Wybierz lokalizację obszaru roboczego lub użytkownika.
  3. Wprowadź nazwę i instrukcje tworzenia w języku Markdown.
  4. Użyj polecenia Chat: Configure Instructions , aby edytować istniejące pliki.

Ręczne dołączanie:

  • W widoku czatu: Dodaj kontekstowe instrukcje >
  • Paleta poleceń: Chat: Attach Instructions

Automatyczna aplikacja: Użyj applyTo metadanych z wzorcami glob (** dla wszystkich żądań, określone wzorce dla aplikacji docelowych)

Określanie niestandardowych instrukcji w ustawieniach

Skonfiguruj instrukcje niestandardowe w ustawieniach Visual Studio Code dla określonych scenariuszy:

Scenario Setting
Generowanie kodu github.copilot.chat.codeGeneration.instructions
Generowanie testów github.copilot.chat.testGeneration.instructions
Przegląd kodu github.copilot.chat.reviewSelection.instructions
Zatwierdzanie komunikatów github.copilot.chat.commitMessageGeneration.instructions
Tytuły/opisy żądań ściągnięcia github.copilot.chat.pullRequestDescriptionGeneration.instructions

Zdefiniuj instrukcje jako pliki tekstowe lub odwołania zewnętrzne:

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

Najważniejsze wskazówki dotyczące instrukcji niestandardowych

  • Zachowaj zwięzłość instrukcji: każda instrukcja powinna być pojedynczą prostą instrukcją.
  • Unikaj odwołań zewnętrznych: nie należy odwoływać się do zewnętrznych standardów kodowania ani zasobów.
  • Organizowanie według tematu: Podziel instrukcje na wiele plików, aby uzyskać lepszą organizację.
  • Włącz współdzielenie zespołowe: przechowuj instrukcje w plikach pod kontrolą wersji na potrzeby współpracy zespołowej.
  • Użyj aplikacji docelowej: użyjapplyTo właściwości na potrzeby instrukcji specyficznych dla pliku.
  • Efektywne odwołanie: odwołuj się do niestandardowych instrukcji w plikach monitów, aby uniknąć duplikowania.

Monituj pliki

Pliki podpowiedzi to wielokrotnego użytku, autonomiczne podpowiedzi dotyczące zadań, przechowywane jako pliki .prompt.md. W przeciwieństwie do instrukcji niestandardowych, które opisują jak powinien odpowiadać GitHub Copilot, pliki monitu opisują co należy wykonać dla określonego zadania. Uruchamiasz je na żądanie, zamiast automatycznie stosować je do każdego żądania.

Pliki monitów są odpowiednie dla cyklicznych przepływów pracy kodowania vibe: tworzenie szkieletu nowego składnika, generowanie pierwszej wersji roboczej dokumentu wymagań dotyczących produktu, uruchamianie przekazywania przeglądu kodu lub rozpoczynanie sesji z kontekstem projektu już załadowanym.

Utwórz plik polecenia

Przechowuj pliki monitów w .github/prompts/ folderze w obszarze roboczym. Nazwa pliku staje się nazwą komunikatu.

Struktura pliku:

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

Uruchom plik wsadowy

  • Paleta poleceń: uruchom Chat: Run Prompt i wybierz plik.
  • Dane wejściowe czatu: wpisz # w widoku czatu i wybierz plik monitu według nazwy.

Pliki monitów obsługują mode wartości ask, editi agent. Mogą również odwoływać się do niestandardowych plików instrukcji przy użyciu składni linku Markdown, aby uniknąć duplikowania zawartości między plikami.

Niestandardowe tryby czatu

Niestandardowe tryby czatu umożliwiają skonfigurowanie sposobu działania panelu Copilot Chat usługi GitHub dla określonego przepływu pracy. Definiujesz, które narzędzia są dostępne, jak sztuczna inteligencja współdziała z bazą kodu i jaką rolę powinna odgrywać — bez modyfikowania niestandardowych instrukcji.

W przypadku kodowania vibe jest to szczególnie przydatne w przypadku oddzielania fazy planowania od fazy budynku . Tryb planowania może ograniczyć GitHub Copilot do analizy w trybie tylko do odczytu, dzięki czemu przedstawia propozycje projektów bez wprowadzania zmian, podczas gdy tryb implementacji odblokowuje pełen zestaw narzędzi do edycji.

Tworzenie niestandardowego trybu czatu

Przechowuj niestandardowe pliki trybu czatu w folderze .github/chatmodes/ w swoim obszarze roboczym.

Struktura pliku:

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

Typowe konfiguracje trybu czatu na potrzeby kodowania vibe:

Tryb Tools Przypadek użycia
Planning Brak (tylko do odczytu) Decyzje dotyczące architektury, projektowanie funkcji, przegląd dokumentu wymagań produktowych
Badania Wyszukiwanie w Internecie Badanie bibliotek, porównywanie podejść
Implementacja Pełny dostęp do narzędzia Pisanie i edytowanie kodu, uruchamianie poleceń
Wykonaj przegląd Tylko odczyt Przegląd kodu, inspekcja zabezpieczeń, kontrola wydajności

Korzystanie z niestandardowego trybu czatu

Wybierz tryb z selektora trybu czatu na pasku narzędzi w widoku Czat. Tryb będzie aktywny przez całą sesję, dopóki go nie przełączysz.

Summary

Dostosowywanie odpowiedzi GitHub Copilot umożliwia kształtowanie pomocy sztucznej inteligencji w celu dopasowania do określonego przepływu pracy. Niestandardowe instrukcje — przy użyciu plików .github/copilot-instructions.md, .instructions.md lub ustawień Visual Studio Code — określają, w jaki sposób GitHub Copilot powinien odpowiadać, kodując twoje praktyki kodowania, standardy i preferencje. Pliki monitu definiują , co należy wykonać w przypadku zadań cyklicznych, zapewniając gotowe do użycia monity, które można uruchamiać na żądanie. Niestandardowe tryby czatu umożliwiają konfigurowanie sposobu działania sesji czatu, umożliwiając przełączanie się między planowaniem, badaniem, implementacją i przeglądaniem przepływów pracy bez zmieniania podstawowych instrukcji. Te trzy narzędzia ułatwiają tworzenie spójnego środowiska kodowania vibe, w którym GitHub Copilot rozumie projekt od samego początku.