Używanie agentów GitHub Copilot w programie Visual Studio

Visual Studio obejmuje wbudowanych agentów GitHub Copilot na potrzeby zadań programistycznych, takich jak debugowanie, profilowanie i testowanie. W tym artykule wyjaśniono, jak uzyskiwać dostęp do agentów dostępnych w twojej wersji Visual Studio i korzystać z nich.

Wymagania wstępne

Uzyskiwanie dostępu do agentów w usłudze Copilot Chat

Aby otworzyć Copilot Chat, wybierz wskaźnik GitHub Copilot w prawym górnym rogu Visual Studio, a następnie wybierz pozycję Otwórz czat.

Dostęp do agentów na dwa sposoby:

  • Selektor agentów: w oknie Copilot Chat wybierz listę rozwijaną selektora agentów, aby wyświetlić dostępnych agentów.
  • @ składnia: wpisz @ nazwę agenta w polu wprowadzania czatu (na przykład @debugger).

Korzystanie z wbudowanych agentów

Każdy wbudowany agent koncentruje się na konkretnym przepływie pracy dewelopera. Ci agenci integrują się z natywnymi narzędziami Visual Studio w sposób, w jaki asystent ogólny nie może.

Przedstawiciel Opis
@debugger Wykracza poza odczytywanie komunikatów o błędach. Używa stosów wywołań, stanu zmiennej i narzędzi diagnostycznych do systematycznego diagnozowania błędów w całym rozwiązaniu.
@git Przegląda lokalne niezatwierdzone zmiany i przedstawia opinie jako komentarze wbudowane w edytorze i w środowisku Git Changes.
@profiler Łączy się z infrastrukturą profilowania Visual Studio, aby zidentyfikować wąskie gardła i zasugerować ukierunkowane optymalizacje oparte na twojej bazie kodu, a nie ogólnych porad.
@test Generuje testy jednostkowe dostosowane do frameworku i wzorców projektu, a nie standardowe, które są odrzucane przez ciągłą integrację.
@modernize (Obsługuje tylko .NET i C++), uaktualniając frameworki i zależności ze świadomością rzeczywistego diagramu projektu. Wskazuje zmiany powodujące niekompatybilność, generuje kod migracji i działa zgodnie z istniejącymi wzorcami.
Agent planowania Tworzy i uściśli plany implementacji przed rozpoczęciem wprowadzania zmian kodu przez eksplorowanie bazy kodu za pomocą narzędzi tylko do odczytu, a następnie przekazuje plan do trybu agenta za pomocą polecenia Implementowanie planu.

Użyj agenta @debugger

Agent @debugger pomaga systematycznie diagnozować błędy, analizując kontekst debugowania. Obsługuje również kompleksowe przepływy pracy agentów, który odtwarza usterki, instrumentuje aplikację za pomocą punktów śledzenia i warunkowych punktów przerwania oraz weryfikuje poprawki przy użyciu danych środowiska uruchomieniowego na żywo. Aby uzyskać więcej informacji, zobacz Agentowe rozwiązywanie błędów za pomocą Debuggera.

Przykładowe podpowiedzi:

  • @debugger Why is this exception being thrown?
  • @debugger Analyze the current call stack and explain what went wrong
  • @debugger What's causing the null reference in this method?

Użyj agenta @git

Użyj agenta@git, aby przejrzeć lokalne niezatwierdzone zmiany bez opuszczania Copilot Chat.

Przykładowe podpowiedzi:

  • @git Review my changes
  • @git Explain this review comment and suggest a fix

Zrzut ekranu przedstawiający Visual Studio Copilot Chat z agentem Git oraz wyróżnioną opcją Przejrzyj zmiany.

Aby zapoznać się z pełnym lokalnym procesem przeglądu, zobacz Przeglądanie lokalnych zmian za pomocą Copilot Chat.

Przejrzyj wybór wymaga programu Visual Studio w wersji 18.8 lub nowszej. Aby przejrzeć tylko wybrany kod, zaznacz kod w edytorze, kliknij zaznaczenie prawym przyciskiem myszy, a następnie wybierz Akcje funkcji Copilot>Przejrzyj zaznaczenie. Copilot dodaje komentarze w tekście i może wprowadzać lub generować sugestie. To polecenie używa tego samego środowiska przeglądu kodu GitHub Copilot co przepływ pracy Git Changes. Aby uzyskać więcej informacji, zobacz Przeglądanie wybranego kodu.

Użyj agenta @profiler

Agent @profiler łączy się z narzędziami profilowania Visual Studio, aby ułatwić identyfikowanie i rozwiązywanie problemów z wydajnością.

Przykładowe podpowiedzi:

  • @profiler Find the performance bottlenecks in my application
  • @profiler Why is this method taking so long to execute?
  • @profiler Suggest optimizations for the hot path

Użyj agenta @test

Agent @test generuje testy jednostkowe zgodne ze strukturą testowania i konwencjami projektu.

Przykładowe podpowiedzi:

  • @test Generate unit tests for the selected method
  • @test Create tests that cover edge cases for this class
  • @test Write integration tests for this API endpoint

Aby uzyskać bardziej kompleksową obsługę testowania .NET, zobacz testowanie .NET za pomocą GitHub Copilot.

Użyj agenta @modernize

Agent @modernize pomaga w migracjach struktury i uaktualnieniach zależności dla projektów .NET i C++.

W przypadku modernizacji przepływów pracy .NET agent obsługuje trzyetapowy proces:

  • Ocena: przegląda wersje pakietów, opcje platformy docelowej, spis projektów i zagrożenia zgodności interfejsu API.
  • Plan: generuje plan migracji zgodny z bieżącymi priorytetami oceny i aktualizacji.
  • Wykonywanie zadań: Realizuje zadania modernizacyjne przy użyciu edytowalnego, dynamicznego pliku zadań w miarę postępu prac.

Przykładowe podpowiedzi:

  • @modernize Upgrade this project to .NET 8
  • @modernize What breaking changes should I expect when migrating?
  • @modernize Update deprecated API calls in this file
  • @modernize Assess this solution, generate a migration plan, and create execution tasks

Aby uzyskać kompleksowe wskazówki dotyczące modernizacji aplikacji GitHub Copilot dla .NET, zobacz omówienie modernizacji aplikacji GitHub Copilot.

Korzystanie z agentów w chmurze

W Visual Studio wersji 18.1 lub nowszej uruchom sesje agenta GitHub w chmurze z selektora agentów w Copilot Chat. Aby połączyć się z repozytorium, otwórz lokalne rozwiązanie z repozytorium GitHub i zaloguj się do GitHub w programie Visual Studio. Agent kodowania GitHub Copilot obsługuje te sesje zdalne. Może tworzyć problemy z repozytorium i żądania ściągnięcia w tym repozytorium.

Agenci w chmurze pracują tylko z repozytoriami, do których może uzyskiwać dostęp agent kodowania GitHub Copilot. Jeśli repozytorium nie jest jeszcze dostępne dla agenta kodowania, przyznaj mu dostęp w GitHub. Visual Studio może wyświetlić monit o udzielenie uprawnień do repozytorium przy pierwszym uruchomieniu sesji w chmurze lub gdy sesja wymaga dodatkowych uprawnień. Przed ich zatwierdzeniem przejrzyj żądane uprawnienia.

Tworzenie i używanie agentów niestandardowych

Agenci niestandardowi wymagają Visual Studio wersji 18.4 lub nowszej.

Wbudowani agenci obejmują typowe przepływy pracy, ale twój zespół zna swój przepływ pracy najlepiej. Agenci niestandardowi stanowią podstawę dla agentów dostosowanych do przepływu pracy twojego zespołu: rozpoznawanie obszarów roboczych, interpretacja kodu, preferowany model sztucznej inteligencji i własne narzędzia.

Agenci niestandardowi są szczególnie zaawansowani w połączeniu z protokołem MCP (Model Context Protocol). Łączenie agentów z zewnętrznymi źródłami wiedzy, takimi jak wewnętrzna dokumentacja, systemy projektowe, interfejsy API i bazy danych, dzięki czemu agent nie jest ograniczony do elementów w repozytorium.

Zdefiniuj umiejętności agenta wielokrotnego użytku, które każdy agent może odnajdywać i używać automatycznie. Gdy agenci określają personę i pewien zestaw narzędzi, umiejętności dostarczają ukierunkowane, specyficzne dla zadań instrukcje.

W selektorze agentów oznaczenie 1 wyróżnia przycisk + do tworzenia agenta, a oznaczenie 2 wyróżnia agenta niestandardowego o nazwie my-agent.

Zrzut ekranu selektora agenta Visual Studio Copilot Chat z oznaczeniem 1 na przycisku Create Agent i oznaczeniem 2 na niestandardowym agencie my-agent.

Wbudowane umiejętności .NET i Azure wymagają Visual Studio wersji 18.8 lub nowszej. Visual Studio zapewnia te umiejętności podczas instalowania odpowiednich obciążeń. W przeciwieństwie do wbudowanych agentów lub umiejętności agenta utworzonych przez Ciebie, te umiejętności specyficzne dla obciążenia są wyświetlane w kategorii Wbudowane na karcie Umiejętności i są domyślnie wyłączone. Przejrzyj i włącz tylko umiejętności, które mają zastosowanie do zadań. Aby uzyskać więcej informacji, zobacz Używanie wbudowanych .NET i Azure umiejętności.

Zrzut ekranu przedstawiający Visual Studio Copilot Chat z kartą Umiejętności z włączoną umiejętnością obszaru roboczego i wyłączonymi wbudowanymi umiejętnościami.

Tworzenie agenta niestandardowego

Agenci niestandardowi na poziomie repozytorium mają zastosowanie tylko do repozytorium, w którym są przechowywane. Aby utworzyć jedną ręcznie:

  1. W katalogu głównym repozytorium utwórz folder .github/agents/, jeśli jeszcze nie istnieje.
  2. W tym folderze utwórz plik, którego nazwa kończy się na .agent.md, na przykład code-reviewer.agent.md.
  3. Dodaj instrukcje dotyczące frontonu YAML i języka Markdown przy użyciu formatu opisanego w formacie pliku agenta.
  4. Zapisz plik.

Wynikowa struktura folderów wygląda następująco:

your-repo/
└── .github/
    └── agents/
        └── code-reviewer.agent.md

W Visual Studio wersji 18.5 lub nowszej wybierz + przycisk w selektorze agentów i postępuj zgodnie z monitami, aby utworzyć agenta niestandardowego.

Aby utworzyć agenta na poziomie użytkownika, który będzie używany we wszystkich projektach, domyślnie zapisz jego plik .agent.md w katalogu %USERPROFILE%\.github\agents. Zmień to ustawienie w Narzędzia > Opcje > GitHub > Copilot.

Wybierz i zweryfikuj niestandardowego agenta

Po utworzeniu agenta niestandardowego:

  1. Otwórz usługę Copilot Chat.
  2. Otwórz selektor agenta i upewnij się, że agent jest wyświetlany z nazwą i opisem z jego definicji.
  3. Wybierz agenta lub wywołaj go, wpisując @, a następnie nazwę agenta w polu wprowadzania czatu.
  4. Wprowadź monit, który testuje jedną z instrukcji agenta.
  5. Sprawdź, czy odpowiedź jest zgodna z rolą i instrukcjami agenta. Jeśli definicja określa narzędzia, otwórz panel Narzędzia i sprawdź, czy są dostępne oczekiwane narzędzia.

Używanie agentów niestandardowych na poziomie organizacji

Niestandardowe agenty na poziomie organizacji wymagają programu Visual Studio w wersji 18.9 lub nowszej oraz repozytorium należącego do organizacji w serwisie GitHub.

Właściciele organizacji i przedsiębiorstw w GitHub mogą publikować niestandardowych agentów, aby członkowie mogli z nich korzystać we wszystkich repozytoriach w organizacji. Po otwarciu repozytorium w organizacji Visual Studio automatycznie wykrywa tych agentów i dodaje je do selektora agentów.

Aby sprawdzić agenta niestandardowego na poziomie organizacji przed jego użyciem:

  1. Otwórz Copilot Chat i wybierz selektor agenta.
  2. Umieść kursor na agencie, aby wyświetlić jego opis i organizację źródłową.
  3. Wybierz przycisk definicji , aby otworzyć plik definicji agenta.

Zrzut ekranu przedstawiający selektor agentów w programie Visual Studio, agentów organizacji, ich organizacje źródłowe oraz przyciski otwierające definicje agentów.

Właściciele organizacji i przedsiębiorstwa konfigurują tych agentów w GitHub. Aby uzyskać wskazówki dotyczące konfiguracji, zobacz Przygotowanie do korzystania z agentów niestandardowych w organizacji lub Przygotowanie do korzystania z agentów niestandardowych w przedsiębiorstwie.

Instrukcje niestandardowe na poziomie organizacji wymagają Visual Studio w wersji 18.8 lub nowszej. Są oddzielne od agentów niestandardowych. Właściciele organizacji używają niestandardowych instrukcji do definiowania preferencji, które program Visual Studio stosuje automatycznie podczas pracy w repozytorium organizacyjnym. Zastosowane instrukcje pojawiają się w Odwołaniach. Wyłącz je w ustawieniach Visual Studio. Aby uzyskać więcej informacji, zobacz Używanie instrukcji niestandardowych na poziomie organizacji.

Format pliku agenta

Każdy plik agenta wykorzystuje sekcję metadanych YAML, po której następują instrukcje w języku Markdown:

---
name: Code Reviewer
description: Reviews PRs against our team's coding standards
tools: ["code_search", "readfile", "find_references"]
---

You are a code reviewer for our team. When reviewing changes, check for:

- Naming conventions: PascalCase for public methods, camelCase for private
- Error handling: all async calls must have try/catch with structured logging
- Test coverage: every public method needs at least one unit test

Flag violations clearly and suggest fixes inline.

Dostępne modele różnią się w zależności od wersji Visual Studio i modeli dostępnych dla planu Copilot. Właściwość jest opcjonalna model , więc pomiń ją, aby użyć modelu wybranego w selektorze modelu. Jeśli uwzględnisz właściwość, wybierz model dostępny w wersji Visual Studio.

Właściwości materiału wstępnego

Majątek Wymagane Opis
name Nie. Nazwa wyświetlana agenta w selektorze agenta. Jeśli nie określisz tej właściwości, nazwa agenta pochodzi z nazwy pliku (na przykład code-reviewer.agent.md stanie się code-reviewer).
description Tak Krótki opis wyświetlany podczas najechania wskaźnikiem myszy na agenta
model Nie. Model sztucznej inteligencji do użycia. Jeśli nie określisz tej właściwości, używany jest model wybrany w selektorze modelu.
tools Nie. Tablica nazw narzędzi, których może używać agent. Jeśli nie określisz tej właściwości, wszystkie dostępne narzędzia zostaną włączone.

Uwaga / Notatka

W przypadku niektórych niestandardowych agentów grupy narzędzi są wyświetlane jako wyłączone po wybraniu agenta, nawet jeśli nie określisz właściwości tools. W niektórych sesjach opcje narzędzi są resetowane po każdej kolejnej wiadomości w tym samym wątku czatu. Jeśli ten warunek wystąpi, ręcznie włącz ponownie wymagane narzędzia w panelu Narzędzia . Instrukcje i wskazówki dotyczące zgłaszania można znaleźć w artykule Grupy narzędzi niestandardowego agenta są początkowo wyłączone lub resetowane między turami.

Określanie narzędzi

Narzędzia rozszerzają możliwości agenta niestandardowego. Określ narzędzia, których agent powinien używać w tablicy tools .

Ważna

Nazwy narzędzi różnią się w zależności od platform GitHub Copilot. Sprawdź narzędzia dostępne w Visual Studio specjalnie, aby upewnić się, że agent działa zgodnie z oczekiwaniami. Wybierz ikonę Narzędzia w oknie czatu, aby wyświetlić dostępne nazwy narzędzi.

Narzędzia specyficzne dla języka C++

Tryb agenta zazwyczaj obejmuje narzędzia do edycji kodu C++. Jeśli zainstalujesz obciążenie języka C++, agent niestandardowy może używać tych nazw narzędzi specyficznych dla Visual Studio w tablicytools:

  • get_symbol_call_hierarchy do nawigacji po hierarchii wywołań
  • get_symbol_class_hierarchy dla nawigacji po klasie i typie hierarchii

Te narzędzia zapewniają agentom nawigację z obsługą języka C++ i pomagają zwiększyć precyzję podczas analizowania i edytowania kodu C++.

Połącz się ze źródłami zewnętrznymi za pomocą MCP

Korzystając z serwerów MCP, agenci niestandardowi mogą uzyskiwać dostęp do zewnętrznych źródeł wiedzy, takich jak:

  • Wewnętrzna dokumentacja i witryny typu wiki
  • Projektowanie systemów i bibliotek składników
  • Interfejsy API i bazy danych
  • Przewodniki stylu i repozytoria ADR

Na przykład agent przeglądu kodu może sprawdzać żądania ściągnięcia (PR) zgodnie z obowiązującymi konwencjami, łącząc się z przewodnikiem stylu za pośrednictwem MCP.

Przykładowi agenci niestandardowi

Agent przeglądu kodu

---
name: Code Reviewer
description: Reviews code against our team's coding standards
tools: ["code_search", "readfile"]
---

You are a code reviewer for our team. Review changes for:

1. **Naming conventions**: PascalCase for public methods, camelCase for private fields
2. **Error handling**: All async calls must have try/catch with structured logging
3. **Test coverage**: Every public method needs at least one unit test
4. **Documentation**: Public APIs must have XML documentation comments

Flag violations clearly and suggest fixes inline.

Przykład agenta planowania funkcjonalności

Użyj niestandardowego agenta do planowania funkcji, gdy potrzebujesz procesu planowania dostosowanego do zespołu lub dodatkowych narzędzi poza wbudowanym agentem planowania.

---
name: Feature Planner
description: Helps plan features before writing code
tools: ["code_search", "readfile", "find_references"]
---

You are a feature planning assistant. When asked about a feature:
1. Gather requirements by asking clarifying questions
2. Identify affected files and components in the codebase
3. Break down the work into discrete tasks
4. Flag potential risks or dependencies
5. Create a structured plan that can be handed off for implementation

Focus on understanding scope before suggesting solutions.

Agent systemu projektowania

---
name: Design System
description: Enforces UI design patterns and component usage
tools: ["code_search", "readfile"]
---

You are a design system expert. When reviewing UI code:

1. Check that standard components are used instead of custom implementations
2. Verify spacing and layout follow the design token system
3. Ensure accessibility requirements are met (ARIA labels, keyboard navigation)
4. Flag any UI drift from established patterns

Reference the component library documentation when suggesting fixes.

Agent programowania pełnego stosu z narzędziami Visual Studio

W poniższym przykładzie użyto nazw narzędzi specyficznych dla Visual Studio:

---
name: Full Stack Dev
description: Full-stack development assistant with search, file editing, and terminal access
tools: ["code_search", "readfile", "editfiles", "find_references", "runcommandinterminal", "getwebpages"]
---

You are a full-stack development assistant. Help with:

1. Searching the codebase to understand existing patterns
2. Reading and editing files to implement changes
3. Running build and test commands to verify your work
4. Looking up documentation when needed

Always check existing code conventions before making changes.

Wskazówka

Wybierz ikonę Tools w oknie Copilot Chat, aby wyświetlić wszystkie dostępne nazwy narzędzi w wersji Visual Studio.

Agenci rozwoju .NET

Zespół .NET utrzymuje wyselekcjonowanych agentów niestandardowych do tworzenia aplikacji w języku C# i Windows Forms w repozytorium awesome-copilot. Aby rozpocząć pracę:

  1. Pobierz CSharpExpert.agent.md i WinFormsExpert.agent.md.
  2. Dodaj pliki do folderu repozytorium .github/agents/ .
  3. Otwórz Copilot Chat w trybie agenta i wybierz agenta z selektora agenta.

Wskazówka

Wybierz Tools>Options>GitHub>Copilot, a następnie włącz Włączenie konkretnych instrukcji dotyczących projektu .NET, takich jak programowanie Windows Forms, jeśli ma zastosowanie aby automatycznie dodać odpowiedniego agenta niestandardowego dla bazy kodu.

Ekspert języka C#

Agent ekspercki C# stosuje nowoczesne konwencje C# do generowania kodu przez Copilot.

  • Składnia i wydajność: dopasowuje się do istniejących konwencji repozytorium, postępując zgodnie z obecnymi najlepszymi praktykami.
  • Minimalne zmiany: generuje tylko wymagany kod, używając async/await z odpowiednim anulowaniem i obsługą wyjątków. Unika nieużywanych interfejsów, metod lub parametrów.
  • Testowanie: obsługuje testowanie jednostkowe oparte na zachowaniu, testowanie integracji i przepływy pracy TDD.

Ekspert WinForms

Agent programu WinForms Expert jest przeznaczony dla deweloperów Windows Forms w .NET od 8 do .NET 10:

  • Ochrona kodu Designer: Zapobiega uszkodzeniom .Designer.cs, dzięki czemu Windows Forms Designer działa po edycji przez Copilot.
  • Wzorce projektowe interfejsu użytkownika: wzorce MVVM i MVP, w tym powiązanie danych zestawu narzędzi Community Toolkit.
  • Modern .NET: Poprawne przeciążenia InvokeAsync, tryb ciemny, rozpoznawanie wysokiej rozdzielczości DPI i typy odwołań dopuszczające wartość null.
  • Układ: TableLayoutPanel i FlowLayoutPanel do responsywnych układów z obsługą DPI.
  • Serializacja CodeDOM: [DefaultValue] atrybuty i ShouldSerialize*() metody właściwej obsługi właściwości projektanta.
  • Obsługa wyjątków: wzorce obsługi zdarzeń asynchronicznych i obsługa wyjątków na poziomie aplikacji.

Konfiguracje społeczności

Repozytorium awesome-copilot oferuje konfiguracje agentów współtworzynych przez społeczność jako punkty początkowe. Jeśli używasz konfiguracji z tego repozytorium, przed wdrożeniem w zespole sprawdź, czy nazwy narzędzi działają w Visual Studio.

Ograniczenia i uwagi

  • Jeśli nie określisz modelu, agent używa dowolnego modelu wybranego w selektorze modelu.
  • Nazwy narzędzi różnią się w zależności od platform GitHub Copilot. Przed wdrożeniem w zespole sprawdź, czy nazwy narzędzi działają w Visual Studio.

Podziel się opinią

Udostępnij konfiguracje agenta niestandardowego w repozytorium awesome-copilot lub prześlij opinię za pośrednictwem Visual Studio Developer Community. Przepływy pracy ułatwiają kształtowanie przyszłych funkcji.

Używanie wbudowanych agentów w Visual Studio 2022 r.

Potrzebujesz Visual Studio 2022 w wersji 17.14 lub nowszej.

Aby otworzyć Copilot Chat, wybierz wskaźnik GitHub Copilot w prawym górnym rogu Visual Studio, a następnie wybierz pozycję Otwórz okno czatu.

Dostęp do wbudowanych agentów na dwa sposoby:

  • Selektor agentów: w oknie Copilot Chat wybierz listę rozwijaną selektora agentów, aby wyświetlić dostępnych wbudowanych agentów.
  • Składnia @: Wpisz @, a następnie nazwę agenta w polu wprowadzania czatu (na przykład @profiler).

Selektor agentów może zawierać następujących wbudowanych agentów. Dostępność może się różnić w zależności od wersji Visual Studio 2022 i zainstalowanych obciążeń.

Przedstawiciel Opis
Kontekst Agent analizy kontekstu
GitHub Rozmowa z GitHub
Profiler Zoptymalizuj swój kod
VS Zadawanie pytań dotyczących Visual Studio
Workspace Zapytaj o obszar roboczy

Zrzut ekranu przedstawiający selektor agentów Copilot Chat w programie Visual Studio 2022, pokazujący Context, GitHub, Profiler, VS i Workspace.

Użyj agenta @context

@context Agent analizuje kontekst żądania, aby ułatwić zrozumienie kodu, z którym pracujesz.

Przykładowe podpowiedzi:

  • @context Explain the code in the current file
  • @context What code is relevant to this method?
  • @context Summarize the context for the selected code

Użyj agenta @profiler

Agent @profiler łączy się z narzędziami profilowania Visual Studio, aby ułatwić identyfikowanie i rozwiązywanie problemów z wydajnością.

Przykładowe podpowiedzi:

  • @profiler Find the performance bottlenecks in my application
  • @profiler Why is this method taking so long to execute?
  • @profiler Suggest optimizations for the hot path