Udostępnij przez


Dostosowywanie odpowiedzi na czat i ustawianie kontekstu

Możesz poprosić czat w usłudze GitHub Copilot , aby przekazać sugestie dotyczące kodu, wyjaśnić kod, wygenerować testy jednostkowe i zasugerować poprawki kodu. Czat w programie Visual Studio umożliwia udzielenie odpowiedzi i wygenerowanie kodu zgodnego z praktykami kodowania i wymaganiami projektu, jeśli nadasz mu odpowiedni kontekst. 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.

Z tego artykułu dowiesz się, jak uzyskać lepsze odpowiedzi, podając więcej informacji na temat czatu Copilot:

Dowiedz się więcej na temat programowania wspomaganego przez sztuczną inteligencję w programie Visual Studio i dowiedz się, jak korzystać z czatu Copilot w programie Visual Studio.

Warunki wstępne

Aby rozpocząć korzystanie z funkcji GitHub Copilot Chat w programie Visual Studio, potrzebne są następujące elementy:

Obsługa czatu Copilot w usłudze GitHub jest udostępniana przez usługę GitHub i dostępna pod adresem https://support.github.com.

Wskazówki dotyczące monitowania

Prowadzony czat w Visual Studio 17.12 lub nowszym pomaga uściślić monity, aby wyjaśnić kontekst i uzyskać lepsze odpowiedzi. GitHub Copilot Chat teraz pomaga Ci zadawaniem wyjaśniających pytań, gdy kontekst jest niejasny.

Zrzut ekranu przedstawiający przewodnik po czatowaniu z GitHub Copilot Chat.

Korzystanie z instrukcji niestandardowych

Funkcja niestandardowych instrukcji umożliwia automatyczne dodawanie wstępnie opisanych szczegółów kontekstowych do pytań czatu. Copilot Chat używa tych instrukcji dostosowanych do określonego kontekstu, takich jak sposób działania zespołu, narzędzia, których używasz, lub specyfika projektu podczas generowania odpowiedzi.

Zrzut ekranu przedstawiający niestandardowe pliki instrukcji używane przez Copilot na liście Odwołania.

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

Aby użyć .github/copilot-instructions.md pliku:

  1. Utwórz/dodaj własny plik z instrukcjami .github/copilot-instructions.md w katalogu głównym repozytorium.
  1. Włącz funkcję w programie Visual Studio w okienku Opcje narzędzi>. Rozwiń sekcję Wszystkie ustawienia>GitHub>Copilot>Chat i zaznacz pole wyboru Włącz niestandardowe instrukcje do załadowania z plików .github/copilot-instructions.md i dodaj do żądań.
  1. Włącz funkcję w programie Visual Studio w oknie dialogowym Opcje narzędzi>. Rozwiń sekcję GitHub>Copilot i zaznacz pole wyboru Włącz niestandardowe instrukcje do załadowania z plików .github/copilot-instructions.md i dodane do żądań w grupie Copilot Chat .

Niestandardowe instrukcje nie są widoczne w widoku czatu ani w czacie wbudowanym. Jednak w przypadku użycia przez Copilot, plik.github/copilot-instructions.md znajduje się na liście odniesień odpowiedzi.

Używanie plików .instructions.md

Zamiast używać pojedynczego pliku instrukcji, który ma zastosowanie do wszystkich żądań czatu, można utworzyć wiele *.instructions.md plików, które mają zastosowanie do określonych typów plików lub zadań. Można na przykład utworzyć pliki instrukcji dla różnych języków programowania, struktur lub typów projektów.

Aby użyć .github/instructions/*.instructions.md pliku:

  1. .github/instructions Utwórz katalog, jeśli jeszcze nie istnieje.

  2. Dodaj co najmniej jeden .github/instructions/*.instructions.md plik.

  3. Dodaj właściwość applyTo w części frontmatter pliku instrukcji. Użyj składni globu, aby określić pliki lub foldery, do których mają zastosowanie instrukcje.

  4. Włącz funkcję w programie Visual Studio.

    W okienku Opcje narzędzi rozwiń sekcję Wszystkie ustawienia, GitHub, Copilot i Copilot Chat, a następnie zaznacz pole wyboru Włącz ładowanie niestandardowych instrukcji z plików .github/copilot-instructions.md i dodaj je do żądań.

    W oknie dialogowym Opcje narzędzi> rozwiń sekcję GitHub>Copilot. W grupie Czat copilot zaznacz pole wyboru Włącz instrukcje niestandardowe do załadowania z plików .github/copilot-instructions.md i dodane do żądań .

Format pliku instrukcji

Docelowe pliki instrukcji używają rozszerzenia i mają następującą .instructions.md strukturę:

  • Nagłówek (opcjonalnie): frontmatter YAML
    • description: Opis wyświetlany po najechaniu myszą w widoku czatu
    • applyTo: Wzorzec globu zgodny z plikami lub folderami, do których mają być stosowane instrukcje
  • Treść: Instrukcje w formacie markdown

Example

Oto przykładowa instrukcja niestandardowa języka C#:

## C# Instructions
---
applyTo: `**/*.cs`
---

- Write clear and concise comments for each function.
- Use PascalCase for component names, method names, and public members.
- Use camelCase for private fields and local variables.
- Add a newline before the opening curly brace of any code block  
  (such as after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).
- Ensure that the final `return` statement of a method is on its own line.

Skopiuj te instrukcje do pliku .github/instructions/*.instructions.md, aby je użyć i automatycznie zastosować do zachowania Copilot.

Aby uzyskać więcej przykładów instrukcji niestandardowych, zobacz listę przykładów instrukcji w witrynie GitHub.

Jak działają pliki instrukcji

Po rozpoczęciu pracy z rozwiązaniem Copilot automatycznie wykrywa, które pliki instrukcji są istotne dla bieżącego kontekstu i dołącza je jako odwołania. Dzięki temu sugestie Copilot są zawsze zgodne z regułami projektu, niezależnie od tego, gdzie w repozytorium kodu pracujesz.

Pliki instrukcji używane przez Copilot są wymienione na liście odniesień odpowiedzi.

Używanie plików podpowiedzi

Teraz możesz utworzyć pliki monitów wielokrotnego użytku w repozytorium, aby uruchamiać lub udostępniać często używane monity.

Aby utworzyć plik promptu:

  1. Pisz swoje monity tak jak zwykle w polu monitu, używając odwołań #, aby uwzględnić określone informacje z rozwiązania, takie jak metody, klasy i pliki. Możesz nawet odwołać się do innych plików z poleceniami, aby uzyskać wspólne instrukcje.
  2. Skopiuj monit do pliku markdown i zapisz go z .prompt.md rozszerzeniem w .github/prompts folderze w katalogu głównym repozytorium.

Aby użyć pliku wiersza poleceń:

  1. Wpisz #prompt: w polu czatu, aby odwołać się do wszelkich plików monitów z folderu .github/prompts, lub kliknij ikonę ➕ w polu czatu, aby dodać je jako kontekst.
  2. Dodaj wszelkie dodatkowe szczegóły lub po prostu wprowadź monit w następujący sposób.

Zrzut ekranu przedstawiający używanie plików monitów w aplikacji GitHub Copilot Chat.

Użyj poleceń ukośnika, aby ustawić kontekst typowych zadań

Polecenia Slash w aplikacji Copilot Chat ułatwiają szybkie ustawianie intencji dla typowych zadań programistycznych. Używając określonych poleceń ukośnika w celu utworzenia pytania, możesz uzyskać lepsze odpowiedzi bez konieczności pisania długich pytań.

Polecenia slash można użyć w oknie czatu lub bezpośrednio w tekście w kodzie, który chcesz zmodyfikować, przy użyciu wbudowanej pomocy dotyczącej kodu. Polecenia, które pomagają modyfikować lub dodawać do pliku kodu, który został otwarty w edytorze, działają zarówno w wbudowanym asystencie kodu, jak i w oknach czatu, podczas gdy polecenia dla bardziej ogólnych pytań kodujących działają tylko w okienku czatu.

polecenie użycie okno czatu czat wbudowany
/Doc Dodaj komentarze dla określonego lub wybranego kodu.
Przykłady:
- /doc DeleteBasketAsync method in BasketService.cs
— wybierz żądany kod i wprowadź /doc
Tak Tak
/wyjaśniać Uzyskaj wyjaśnienia kodu.

Przykłady:
- /explain the AddItemToBasket method in BasketService.cs
— wybierz żądany kod i wprowadź /explain
Tak Tak
/naprawiać Zaproponuj poprawkę problemów w wybranym kodzie.
Przykłady:
- /fix the SetQuantities method in BasketService.cs
— wybierz żądany kod i wprowadź /fix
Tak Tak
/stworzyć Wygeneruj kod, aby odpowiedzieć na określone pytanie.
Przykład: /generate code to add two numbers in Calculator.cs
Tak Tak
/Pomoc Uzyskaj pomoc dotyczącą korzystania z czatu Copilot.
Przykład: /help
Tak Tak
/optymalizuj Analizowanie i ulepszanie czasu wykonywania wybranego kodu.
Przykłady:
- /optimize the AddItemToBasket method in BasketService.cs
— wybierz żądany kod i wprowadź /optimize
Tak Tak
/Testy Utwórz testy jednostkowe dla wybranego kodu.
Przykład: wybierz żądany kod i wprowadź /tests using XUnit Framework
W przypadku platformy .NET zalecamy testowanie narzędzia GitHub Copilot dla platformy .NET
Tak Tak

Zrzut ekranu przedstawiający polecenia ukośnika w wbudowanym widoku czatu i oknach czatu.

W programie Visual Studio 2022 w wersji 17.13, gdy użytkownik wpisze polecenie ze znakiem ukośnika, system rozszerza prompt i wyświetla kontekst polecenia w języku naturalnym.

Korzystanie z akcji Copilot

Możesz użyć akcji w Copilot z menu kontekstowego, aby szybko uzyskać dostęp do wstępnie skonfigurowanych zapytań i poleceń z ukośnikiem dla typowych zadań programistycznych.

Zrzut ekranu przedstawiający akcje Copilot w menu kontekstowym.

Zachowanie każdej akcji zależy od tego, czy kod został wybrany podczas otwierania menu kontekstowego:

Action Po wybraniu kodu Bez wybranego kodu
Wyjaśnij Objaśnia wybrany kod Objaśnia kod w pobliżu położenia kursora
Optymalizowanie zaznaczenia Optymalizuje wybrany kod pod kątem wydajności, możliwości utrzymania, niezawodności i architektury Nie dotyczy
Generowanie komentarzy Generuje komentarze dla wybranego kodu Generowanie komentarzy dla kodu w pobliżu położenia kursora
Generowanie testów Generuje testy dla wybranego kodu Generowanie testów dla kodu w pobliżu położenia kursora
Dodaj do czatu Dodaje wybrany kod do czatu jako odwołanie Dodaj cały plik do czatu jako odwołanie

Po wybraniu dowolnej akcji z wyjątkiem Optymalizacji zaznaczenia zostanie otwarte automatycznie okno czatu i wyśle polecenie ukośnika do Copilot z odpowiednim kontekstem o określonym zakresie. Następnie możesz przejrzeć odpowiedź Copilota i korzystać z niej w oknie czatu.

Użyj opcji Optymalizuj wybór, aby uzyskać lepszy kod

Wybierz określoną sekcję kodu i wybierz pozycję Optymalizuj zaznaczenie, aby Copilot przeanalizował i ulepszył tylko tę sekcję zamiast całego pliku.

Copilot analizuje wybrany kod i jego kontekst, aby zapewnić znaczące, kontekstowe sugestie. Optymalizacja zachowuje istniejący styl kodu, strukturę i funkcjonalność, zachowując uporządkowaną i spójną bazę kodu. W przeciwieństwie do innych akcji wykorzystujących panel czatu, Optymalizacja Wyboru przedstawia sugestie jako różnice w tekście, które można bezpośrednio przeglądać, akceptować lub odrzucać.

Copilot udostępnia sugestie optymalizacji w następujących obszarach:

  • Wydajność: Szybsze algorytmy, mniejsze użycie pamięci, wzorce asynchroniczne
  • Łatwość konserwacji: Uproszczona logika, jaśniejsza struktura, lepsze nazewnictwo
  • Niezawodność: Obsługa błędów, oczyszczanie zasobów, bezpieczeństwo wątków
  • Architektura: Wstrzykiwanie zależności, lepsze interfejsy, konstrukcja modułowa

Następne kroki