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.
Ten artykuł pomaga rozwiązać typowe problemy podczas korzystania z funkcji modernizacji w GitHub Copilot w celu zaktualizowania projektów C++. Jeśli napotkasz problem, który nie jest tutaj omówiony, użyj Help>Send Feedback>Raportuj problem w Visual Studio.
Zanim zaczniesz
Sprawdź, czy kompilacja rozwiązania lub projektu przebiega pomyślnie
W przypadku scenariuszy uaktualniania MSVC agent weryfikuje zmiany, tworząc rozwiązanie lub projekt. Jeśli rozwiązanie lub projekt jest już uszkodzone przed rozpoczęciem, agent będzie miał większe trudności z odróżnieniem istniejących problemów z problemami wprowadzonymi przez uaktualnienie.
Jeśli masz znane problemy z kompilacją, udomentuj je w niestandardowych instrukcjach, podaj je w odpowiedzi, gdy agent poprosi o kontekst podczas etapu oceny, lub dodaj je, scenario-instructions.md aby agent wiedział, aby je zignorował.
Zatwierdzanie lub usuwanie niezatwierdzonych prac
Zacznij od czystego katalogu roboczego. Agent tworzy commity podczas pracy, a mieszanie niezatwierdzonych zmian ze zmianami wprowadzanymi przez agenta utrudnia ich przeglądanie lub cofanie.
git stash
git status
Tworzenie kopii zapasowych repozytoriów innych niż Git
Agent może również pracować z folderami, które nie są pod kontrolą źródła. Jeśli projekt nie znajduje się w repozytorium Git, agent pomija operacje rozgałęziania i zatwierdzania. Przed rozpoczęciem należy utworzyć kopię zapasową folderu projektu, aby można było go przywrócić w razie potrzeby.
Wskazówka
Rozważ zainicjowanie lokalnego repozytorium Git przed rozpoczęciem, nawet jeśli nie wypchniesz do zdalnego. Dzięki temu można wycofać poszczególne zmiany i śledzić postęp krok po kroku.
Example:
git init
git add
git commit -m "Initial Commit"
Gdy ty i agent skończycie, jeśli nie chcesz nadal używać Git, po prostu upewnij się, że kod znajdujący się obecnie w twoim drzewie roboczym jest taki, jakiego chcesz, a następnie usuń katalog .git w katalogu, w którym uruchomiono git init.
Typowe problemy
Agent nie jest wyświetlany w Copilot Chat
Symptoms: Wpisywanie @Modernize w oknie czatu GitHub Copilot nie aktywuje agenta ani Modernize nie jest wyświetlane w menu kontekstowym Eksplorator rozwiązań.
Rozwiązania:
- Sprawdź, czy Visual Studio jest w wersji 18.7 lub nowszej w Help>Informacje o Microsoft Visual Studio.
- Sprawdź, czy GitHub Copilot jest aktywna, sprawdzając ikonę Copilot na pasku stanu.
- Sprawdź, czy funkcja jest włączona w Tools>Options>GitHub>Copilot>C/C++. Następnie wybierz Włącz modernizację GitHub Copilot dla języka C++.
- Uruchom ponownie Visual Studio po zmianie ustawień.
Agent utknął w pętli
Objawy: agent wielokrotnie próbuje to samo naprawić bez podejmowania postępów.
Rozwiązania:
- Zatrzymaj agenta za pomocą przycisku Anuluj w oknie wprowadzania polecenia w Copilot Chat, opisz w poleceniu, co obserwujesz, i wyślij je, aby agent wznowił działanie.
- Podaj poprawkę ręczną i poinformuj agenta o tym, co zmieniono. Agent uczy się dzięki Twojej poprawce.
- Poproś agenta o wypróbowanie innego podejścia. Na przykład wpisz w oknie czatu GitHub Copilot: "Ta poprawka nie działa. Wypróbuj inną strategię."
- W razie potrzeby przywróć lub cofnij ostatnie zmiany i uruchom ponownie zadanie.
Rozbudowane rozwiązania trwają zbyt długo
Objawy: Uaktualnienie dużego rozwiązania z wieloma projektami trwa bardzo długo lub wydaje się być wstrzymane.
Rozwiązania:
- Zacznij od jednego, reprezentatywnego projektu w ramach projektu pilotażowego. To ujawnia problemy systemowe na wczesnym etapie.
- Monitoruj postęp, przeglądając element
tasks.mdw pliku.github/upgrades/{SCENARIO ID}. - Jeśli upłynął limit czasu sesji, uruchom nową sesję. Agent kontynuuje od miejsca, w którym przerwał.
Strategie odzyskiwania
Cofnij wszystkie zmiany
Jeśli do uaktualnienia użyto gałęzi Git, cofnij wszystko:
git checkout your-original-branch
git branch -D upgrade-branch
Oryginalny kod pozostaje nietknięty.
Cofnięcie ostatniej zmiany
Cofnij ostatni commit:
git revert HEAD
Lub poinformuj agenta, Revert the last change.
Ponowne uruchamianie z określonego etapu
Jeśli plan agenta nie działa, wróć do wcześniejszego etapu i zacznij od nowa, wysyłając polecenie podobne do poniższego:
Let's redo the plan. I want a different approach to the conformance issues.Go back to the assessment and reconsider the upgrade strategy.
Rozpocznij od nowa
.github/upgrades/{SCENARIO ID} Usuń folder i rozpocznij nową konwersację z agentem. Zaczyna się od podstaw.
Uzyskaj pomoc
Jeśli nie możesz rozwiązać problemu:
- Użyj Help>Send Feedback>Raportuj problem w Visual Studio.
- Uwzględnij zawartość elementu
execution-log.mdz.github/upgrades/{SCENARIO ID}, jeśli to możliwe.