Udostępnij za pośrednictwem


Uzyskiwanie lepszych odpowiedzi przez ustawienie kontekstu dla GitHub Copilot Chat w programie Visual Studio

W programie Visual Studio możesz użyć GitHub Copilot Chat, aby uzyskać informacje o kodowaniu i wsparcie, takie jak składnia, koncepcje programowania, pomoc dotycząca kodu specyficznego dla kontekstu, przypadki testowe, debugowanie i nie tylko, bez opuszczania środowiska IDE. Funkcja Copilot Chat jest zintegrowana z programem Visual Studio, co oznacza, że może zrozumieć, nad czym pracujesz, zbierając przydatne wskazówki dotyczące tego, co masz w środowisku IDE.

Oprócz monitu, Copilot używa dodatkowego kontekstu, takiego jak kod w bieżącym pliku i historia czatu, aby wygenerować odpowiedź. Z tego artykułu dowiesz się, jak uzyskać lepsze odpowiedzi, podając więcej informacji na temat czatu Copilot, w tym:

  • Użyj poleceń ukośnika, aby szybko zdefiniować typowe zadania, takie jak /explain, i uzyskać wyjaśnienia kodu.
  • Użyj środowiska czatu z przewodnikiem i oraz niestandardowych instrukcji i, aby uściślić kontekst w programie Visual Studio 17.12 lub nowszym.
  • Ogranicz czat do określonych plików za pomocą odwołań .
  • Przejrzyj źródło używane przez Copilot, aby wygenerować odpowiedź.
  • Użyj różnych wątków dla każdego czatu Copilot, aby zachować różne konteksty w każdym z nich.

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:

Wsparcie dla GitHub Copilot Chat będzie udzielane przez GitHub i można uzyskać kontakt pod 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.

Włączanie instrukcji niestandardowych

Funkcja niestandardowych instrukcji umożliwia automatyczne dodawanie wstępnie określonych 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.

Aby skonfigurować instrukcje niestandardowe:

  1. Utwórz/dodaj własny plik z instrukcjami .github/copilot-instruction.md w katalogu głównym repozytorium.
  2. Włącz funkcję w programie Visual Studio za pomocą narzędzi Tools>Options>GitHub>Copilot> wybierz pozycję (wersja zapoznawcza) Włącz ładowanie niestandardowych instrukcji z plików .github/copilot-instructions.md i dodanych do żądań..

Instrukcje niestandardowe 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 poleceń slash w Copilot Chat do 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 ułatwiają modyfikowanie lub dodawanie do pliku kodu, który został otwarty w edytorze, będą działać 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
/fix 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
Tak Tak

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

Zawęź wyniki Copilot do określonego pliku lub całego rozwiązania

Możesz zadać pytania związane z kodowaniem w języku naturalnym, a funkcja GitHub Copilot Chat odpowie na te pytania w kontekście bazy kodu otwartej w programie Visual Studio. Dzięki odwołaniom możesz bardziej precyzyjnie określić informacje, które chcesz, by Copilot uwzględnił, gdy odpowiada na Twoje pytanie.

Wybierając konkretny kontekst w bazie kodu, możesz łatwo tworzyć lepsze pytania bez konieczności zapisywania lub wklejania długich fragmentów informacji. Określenie kontekstu umożliwia również copilotowi dostarczenie bardziej odpowiednich odpowiedzi.

Odwołanie do pliku

Aby łatwo odwoływać się do pliku w aplikacji GitHub Copilot Chat, wystarczy dodać symbol # na początku nazwy pliku. Jeśli na przykład masz plik o nazwie BasketService.cs, odwołaj się do niego na czacie jako #BasketService.cs.

zrzut ekranu przedstawiający odwołania w rozmowie Copilot.

Odwołanie do metody, klasy lub funkcji

Za pomocą Visual Studio 2022 w wersji 17.11można teraz się odwołać do określonej metody, klasy lub funkcji w GitHub Copilot Chat.

Aby łatwo odwoływać się do metody, klasy lub funkcji w aplikacji GitHub Copilot Chat, wystarczy dodać symbol # na początku metody, klasy lub nazwy funkcji. Jeśli na przykład masz metodę o nazwie BasketAddItem, odwołaj się do niej na czacie jako #BasketAddItem.

Zrzut ekranu przedstawiający odwołania do metod w aplikacji GitHub Copilot Chat w programie Visual Studio.

Odwołanie do całego rozwiązania

Użyj @workspace, aby odwołać się do rozwiązania aktywnego w środowisku IDE na potrzeby kontekstu. W przypadku korzystania z @workspace na potrzeby kontekstu, Copilot Chat korzysta z informacji o plikach, projektach i konfiguracjach, które są obecnie otwarte i nad którymi pracujesz w swoim środowisku IDE. Dzięki temu czat copilot zapewnia bardziej istotne i kontekstowe sugestie i odpowiedzi.

Zrzut ekranu przedstawiający kontekst odwoływania się do rozwiązania w rozmowie Copilot.

W programie Visual Studio 2022 w wersji 17.11 subskrybenci GitHub Copilot Enterprise mogą teraz używać @github na czacie, aby uwzględnić kontekst z całego repozytorium i przeszukiwać internet (jeśli wyszukiwanie jest włączone przez administratora). Aby dowiedzieć się więcej na temat kolekcji umiejętności specyficznych dla usługi GitHub, których copilot może użyć do odpowiadania na swoje pytanie podczas korzystania z @github, zobacz Korzystanie z umiejętności usługi GitHub dla platformy Copilot.

Zrzut ekranu przedstawiający korzystanie z umiejętności usługi GitHub w rozmowie Copilot.

Przykłady użycia

Oto kilka przykładów użycia odwołań do kontroli kontekstu:

Przykład kontekst używany przez Copilot do utworzenia pytania
Jaki jest cel #MyFile.cs: 66-72? Dokładna sekcja pliku
Gdzie są testy w #BasketService.cs? BasketService.cs
/wyjaśnij funkcję #AddItemToBasket w pliku #BasketService.cs Metoda AddItemToBasket w BasketService.cs
Czy w tym @workspace istnieje metoda usuwania koszyka Bieżące rozwiązanie otwarte w środowisku IDE
Mam metodę testową o nazwie #TestCalculator. Jak mogę upewnić się, że jest on prawidłowo wykonywany? Metoda TestCalculator
Czy można wyjaśnić różnice między klasami #BasketService i #OrderService? Klasa BasketService i klasa OrderService
Gdzie jest #AddItemToBasket w moim @workspace? Bieżące rozwiązanie otwarte w środowisku IDE

Przeglądanie źródeł używanych przez Copilot Chat

Copilot Chat wyświetla kontekst używany po każdym wyniku, dzięki czemu można określić, co zostało uwzględnione podczas odpowiadania na pytanie. Gdy zadasz pytanie w Copilot Chat i otrzymasz odpowiedź w oknie czatu, poniżej odpowiedzi pojawi się rozwijana lista Odwołania. Wpisy na liście rozwijanej References pokazują kontekst, na który powołuje się Czat Copilot, aby wygenerować tę odpowiedź. Te informacje mogą pomóc w zmodyfikowaniu pytania, aby uzyskać lepsze i bardziej istotne odpowiedzi.

zrzut ekranu przedstawiający listę rozwijaną Referencje w czacie Copilot.

Organizuj: izoluj czaty z Copilot w wątki

Jeśli intensywnie używasz czatu Copilot do zadawania pytań podczas programowania, możesz zorganizować rozmowy, aby pozostały na temat. Czat Copilot dla programu Visual Studio umożliwia teraz łatwe rozpoczęcie nowych konwersacji (wątków), aby skupić się na zadaniu i zachować czytelność kontekstu, aby odpowiedzi były oparte na odpowiedniej historii.

Nowy wątek czatu

Możesz rozpocząć nowy wątek, wybierając Utwórz nowy wątek w oknie czatu.

Zrzut ekranu przedstawiający ikonę Utwórz nowy wątek w czacie Copilot.

Przełącz wątek czatu

Możesz wybrać między wieloma trwającymi wątkami, aby zapewnić odpowiedni kontekst historyczny dla danego pytania.

Zrzut ekranu przedstawiający przełączanie się między bieżącymi wątkami w rozmowie Copilot.

Przenieś wbudowany czat do okna czatu

W programie Visual Studio 2022 w wersji 17.11można teraz zachować historię czatu wbudowanego, promując go w oknie czatu . Wybierz pozycję Kontynuuj w oknie czatu..., aby zachować rekord i kontekst konwersacji i kontynuować w oknie czatu.

Zrzut ekranu przedstawiający promowanie trwającego wątku w wbudowanym czacie w oknie czatu.

Najlepsze rozwiązania

Copilot Chat używa historii czatu, aby uzyskać kontekst dotyczący twojego żądania. Aby dać Copilotowi tylko odpowiednią historię:

  • Użyj wątków, aby rozpocząć nową konwersację dla nowego zadania.
  • Usuń żądania, które nie są już istotne lub które nie dają żądanego wyniku.

Zachowaj otwartą rozmowę na czacie i kontynuuj iterowanie i monitowanie Copilot o ulepszenie sugerowanego rozwiązania. Copilot ma zarówno kontekst wygenerowanego kodu, jak i bieżącą historię konwersacji. Podczas zadawania dodatkowych pytań Copilot dodatkowo uściśli odpowiedź zgodnie z wymaganiami. Zobacz inżynierię podpowiedzi dla GitHub Copilot, aby poznać strategie efektywnego formułowania zapytań w celu poprawy wyników Copilot.

Następne kroki