Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Niestandardowe instrukcje uaktualniania to pliki w formacie Markdown, które prowadzą GitHub Copilot do unowocześniania, aby zastosować określone transformacje podczas uaktualnienia. Utwórz te pliki w celu zautomatyzowania powtarzających się zmian, takich jak zastąpienie jednej biblioteki inną lub zastosowanie określonego uaktualnienia interfejsu API.
W tym artykule wyjaśniono, jak utworzyć i zbudować niestandardowy plik wytycznych dotyczących uaktualnienia, przetestować go w izolacji i zintegrować z etapem oceny w przepływie pracy uaktualnienia.
Wymagania wstępne
Skonfiguruj modernizację GitHub Copilot w środowisku deweloperskim przed utworzeniem niestandardowych instrukcji. Aby uzyskać instrukcje instalacji, zobacz Instalacja GitHub Copilot Modernization.
Zrozumienie niestandardowych instrukcji uaktualniania
GitHub Copilot modernizuje, pobierając niestandardowe instrukcje uaktualniania jako pliki Markdown na żądanie podczas oceniania i planowania uaktualnienia. Niestandardowe instrukcje uaktualniania różnią się od copilot-instructions.md, ponieważ są:
- Celem automatyzacji zmian kodu i zależności.
- Pobrano tylko wtedy, gdy jest to istotne dla bieżącej oceny lub planu uaktualnienia.
- Możliwość wielokrotnego użycia w różnych rozwiązaniach po skopiowaniu do każdego repozytorium.
Utwórz strukturę plików instrukcji za pomocą następujących funkcji:
- Krótki tytuł opisujący akcję. Na przykład "replace Newtonsoft.Json with System.Text.Json" (Zastąp plik Newtonsoft.Json plikiem System.Text.Json).
- Zwięzła instrukcja problemu lub sekcja wymagań wstępnych.
- Jawna logika kroku ("Jeśli znaleziono X, wykonaj Y"). Unikaj niejasnego języka.
- (Zalecane) Co najmniej jeden przykład różnic przechwycony z rzeczywistych lokalnych edycji, aby kierować przekształceniami.
Poza niestandardowymi instrukcjami uaktualniania, modernizowanie GitHub Copilot można rozszerzyć za pomocą standardowego systemu umiejętności i instrukcji. Umiejętności dodają funkcje agentowi, a pliki instrukcji (takie jak copilot-instructions.md) zapewniają globalne wskazówki.
Tworzenie niestandardowej instrukcji uaktualniania
Wykonaj następujące kroki, aby wygenerować i uściślić nowy plik instrukcji. W tych sekcjach skupiono się na zastąpieniu Newtonsoft.Json przez System.Text.Json jako przykład.
W oknie Eksplorator rozwiązań kliknij prawym przyciskiem myszy rozwiązanie>Modernize.
— lub —
Otwórz panel czatu Copilot i wpisz
@Modernize, aby rozpocząć rozmowę z agentem.Uwaga / Notatka
Te kroki dotyczą Visual Studio. W Visual Studio Code i innych środowiskach wywołaj agenta
modernize-dotnetbezpośrednio z panelu czatu Copilot. W Visual Studio agent nosi nazwęModernize.W czacie wpisz:
I want to generate a custom upgrade instruction.Po wyświetleniu monitu podaj scenariusz, taki jak
I want to replace Newtonsoft with System.Text.Json, aby Copilot mógł utworzyć plik.Gdy Copilot utworzy nowy plik, taki jak
replace_newtonsoft_with_system_text_json.md, przejrzyj zawartość i uściślij ją na czacie. Na przykład poproś Copilot o "wyjaśnij kryteria wykrywania" lub "dodaj sekcję wymagań wstępnych."Wskazówka
Dodaj plik do rozwiązania w celu uzyskania widoczności, jeśli nie został jeszcze uwzględniony.
Wzmacnianie instrukcji przy użyciu rzeczywistych przykładów różnic.
- Wprowadź zmiany żądanego kodu ręcznie w jednym projekcie. Na przykład "usuń
Newtonsoft.Jsonpakiet, zaktualizuj przy użyciu dyrektyw i zastąpJsonConvertkod ciągiemJsonSerializer." - Na czacie z otwartym plikiem instrukcji wpisz:
Check my git changes and add diffs as examples to my instruction file. - Upewnij się, że Copilot użył komendy 'git diff' i dołączył blok kodu z różnicami lub ustrukturyzowany przykład do pliku Markdown.
- Wprowadź zmiany żądanego kodu ręcznie w jednym projekcie. Na przykład "usuń
Porady dotyczące tworzenia dokumentacji
Postępuj zgodnie z tymi wytycznymi, aby napisać jasne, skuteczne, spersonalizowane instrukcje uaktualniania, które Copilot może niezawodnie interpretować:
- Użyj czytelnych fraz warunkowych:
If code references X, then do Y. - Zachowaj jedną transformację na plik; należy użyć wymagań wstępnych, gdy wiele plików musi być uruchamianych w sekwencji.
- Podaj co najmniej jeden konkretny przykład, taki jak różnicę lub fragment kodu przed/potem, aby zwiększyć dokładność transformacji.
- Unikaj niejednoznacznych czasowników, takich jak "improve" lub "fix"; użyj jawnych akcji, takich jak "replace", "remove" i "update".
Testowanie niestandardowej instrukcji uaktualniania (jednorazowe uruchomienie)
Przed uruchomieniem instrukcji podczas uaktualniania zweryfikuj ją w izolacji. Testowanie izolowane pomaga uściślić wykrywanie i weryfikować zmiany kodu.
W oknie Eksplorator rozwiązań kliknij prawym przyciskiem myszy na rozwiązanie>Modernize.
Uwaga / Notatka
Te kroki dotyczą Visual Studio. W Visual Studio Code i innych środowiskach wywołaj agenta
modernize-dotnetbezpośrednio z panelu czatu Copilot.Na czacie wywołaj instrukcję ze sformułowaniem podobnym do nazwy pliku. Na przykład
replace Newtonsoft with System.Text.Json.Potwierdź w oknie czatu, że plik instrukcji został pobrany przez Copilota.
> Getting instructions for 'replace Newtonsoft with System.Text.Json'. Perfect! I've retrieved the scenario instructions for upgrading from Newtonsoft.Json to System.Text.Json. Now I'll begin the analysis following the scenario-specific instructions.Jeśli Copilot nie wskazuje, że znalazł instrukcje, spróbuj ponownie, używając słów kluczowych z nazwy pliku, takich jak te same kombinacje czasowników i rzeczowników.
Przejrzyj proponowane zmiany (różnice rozwiązań, oczekujące zatwierdzenia lub modyfikacje w wersji zapoznawczej), aby potwierdzić, że niestandardowa instrukcja uaktualniania zachowuje się zgodnie z oczekiwaniami.
Porady dotyczące walidacji
Jeśli przebieg testu nie generuje oczekiwanych wyników, skorzystaj z poniższych wskazówek dotyczących rozwiązywania problemów, aby uściślić plik instrukcji:
- Jeśli Copilot aktualizuje tylko wersje pakietów zamiast zastąpić pakiet, upewnij się, że instrukcja jawnie mówi, aby usunąć lub zastąpić stary pakiet.
- Używaj spójnego nazewnictwa, aby aktywacja języka naturalnego była zgodna. Na przykład rozpocznij nazwę pliku od
replace_i rozpocznij żądanie czatu od słów "Zastąp ...". - Podczas testowania dodaj wszelkie brakujące wzorce kodu jako przykłady, aby poprawić pokrycie.
Stosowanie niestandardowych instrukcji podczas uaktualniania
Wykonaj te kroki, aby dołączyć istniejącą niestandardową instrukcję uaktualniania do etapu oceny uaktualnienia.
W oknie Eksplorator rozwiązań kliknij prawym przyciskiem myszy rozwiązanie>Modernize.
Uwaga / Notatka
Te kroki dotyczą Visual Studio. W Visual Studio Code i innych środowiskach wywołaj agenta
modernize-dotnetbezpośrednio z panelu czatu Copilot.Na czacie wybierz
Upgrade to a newer version of .NET. Odpowiadaj na pytania Copilot'a, dopóki nie rozpocznie ona oceny.Monitoruj czat, aby sprawdzić, czy Copilot automatycznie pobiera niestandardowy plik instrukcji podczas oceny. Poszukaj komunikatu wskazującego, że otworzył plik instrukcji języka Markdown.
Jeśli Copilot nie zastosuje automatycznie instrukcji niestandardowych, jawnie zażądaj ich. Użyj wyrazów podobnych do nazwy pliku. Na przykład
use the custom instructions to replace Newtonsoft with System.Text.Json during the assessment.Poczekaj, aż Copilot potwierdzi, że pobrano plik Markdown. Jeśli nie widzisz odwołania do pliku instrukcji, odtwórz żądanie przy użyciu kluczowych czasowników pliku (zastąp, aktualizuj, usuń) oraz nazw pakietów.
Przejrzyj wygenerowany
assessment.mdplik w folderze.github/upgrades. Potwierdź, że ocena uwzględnia problemy i zmiany zidentyfikowane przez indywidualne instrukcje.Na przykład podczas zastępowania Newtonsoft ocena identyfikuje:
- Projekty korzystające z
Newtonsoft.Jsonpakietów. - Wzorce kodu do refaktoryzacji dla
System.Text.Json. - Zależności do usunięcia lub zastąpienia.
- Projekty korzystające z
W razie potrzeby zmodyfikuj
assessment.mdplik, aby dodać kontekst lub dostosować zidentyfikowane problemy przed kontynuowaniem.Poinformuj Copilot, aby kontynuował etap planowania, kiedy ocena odzwierciedli Twoje niestandardowe instrukcje.
Przejrzyj plik
plan.md, który Copilot generuje. Ten plik zawiera strategie rozwiązywania problemów z oceny.Przejdź przez etap wykonywania, polecając Copilotowi, aby kontynuował. Monitoruj plik
tasks.md, ponieważ Copilot stosuje przekształcenia.
Porady dotyczące lepszej aktywacji
Sposób nazywania i wywoływania niestandardowych instrukcji uaktualniania ma wpływ na to, czy Copilot pobiera je automatycznie. Postępuj zgodnie z poniższymi wytycznymi, aby zwiększyć niezawodność aktywacji:
- Dopasuj czasownik odnoszący się do pliku. Jeśli nazwa pliku używa
replace, użyj tej frazy (nieupgradelubfix). - Zachowaj jedną transformację na plik, aby uzyskać czytelność i ponowne użycie. Sekwencjonuj wiele plików, wyświetlając listę wymagań wstępnych w każdym pliku.
- Zgłoś prośbę o niestandardowe instrukcje na etapie oceny, aby uzyskać najlepsze wyniki, zamiast czekać do planowania lub realizacji.
- Unikaj niejednoznacznych żądań, takich jak "ulepszanie oceny". Bądź jawny: "zastosuj instrukcje replace_newtonsoft_with_system_text_json podczas oceny".
Weryfikowanie zastosowanych zmian
Po zakończeniu uaktualniania:
- Przejrzyj plik w
tasks.md, aby zobaczyć stan zadań związanych z Twoimi instrukcjami niestandardowymi. - Sprawdź zatwierdzenia Git utworzone podczas etapu wykonywania w celu sprawdzenia zmian związanych z instrukcją niestandardową.
- Uruchom testy, aby upewnić się, że zachowanie funkcjonalne pozostaje poprawne.
- Opcjonalnie: Przechwyć przykład różnicowy z pomyślnej zmiany i dodaj go do pliku instrukcji w celu wzmocnienia przyszłej automatyzacji.
Uprzątnij zasoby
Usuń lub skonsoliduj pliki instrukcji tymczasowych, aby uniknąć nakładających się przekształceń w przyszłych uaktualnieniach.