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.
To FAQ zawiera odpowiedzi na najczęstsze pytania, które mogą mieć użytkownicy C++, dotyczące modernizacji z użyciem GitHub Copilot.
Ogólne
Czym jest modernizacja GitHub Copilot dla języka C++?
GitHub Copilot modernizacja języka C++ to agent GitHub Copilot dla Visual Studio, który ułatwia modernizację i uaktualnianie projektów języka C++ do nowszych narzędzi, bibliotek i wzorców. Rozpoznaje określone zadania, takie jak uaktualnianie narzędzi MSVC Build Tools do nowszych wersji oraz udostępnia dodatkowe narzędzia i instrukcje umożliwiające wykonanie tych zadań. Automatyzuje ocenę, planowanie i wykonywanie w celu wykonania zadania modernizacji i można uruchomić je w trybie w pełni zautomatyzowanym lub trybie z przewodnikiem, który umożliwia zatwierdzenie każdego kroku i udostępnienie dodatkowych wskazówek.
Jakie środowiska programistyczne są obsługiwane?
GitHub Copilot do modernizacji kodu w języku C++ jest dostępny w programie Visual Studio 2026 w wersji 18.7 i nowszych.
Czy potrzebuję subskrypcji GitHub Copilot?
Yes. Do korzystania z agenta modernizacji potrzebna jest aktywna subskrypcja GitHub Copilot.
Czy mój kod jest wysyłany do usług zewnętrznych?
GitHub Copilot przetwarza fragmenty kodu zgodnie z zasadami ochrony prywatności Copilot GitHub. Kod nie jest zachowywany poza sesją natychmiastową. Pliki przepływu pracy, takie jak scenario-instructions.md i tasks.md pozostają w repozytorium i nie są przesyłane do usług zewnętrznych.
Scenariusze uaktualniania MSVC
Jakie typy projektów są obsługiwane?
Agent obsługuje następujące typy projektów:
- Projekty oparte na programie MSBuild (
.slni.vcxproj). - Projekty oparte na narzędziach CMake.
Agent nie obsługuje obecnie projektów Unreal Engine (.uproject).
Co ten agent właściwie zmienia w moim kodzie?
Agent modyfikuje kod źródłowy, aby usunąć błędy kompilacji i ostrzeżenia wprowadzone przez uaktualnienie do nowszej wersji narzędzi MSVC Build Tools. Typowe zmiany obejmują zastępowanie przestarzałych interfejsów API, naprawianie problemów spowodowanych użyciem bardziej zgodnego kompilatora, aktualizowanie dyrektyw #include w związku z usunięciem lub przeniesieniem plików nagłówkowych oraz usuwanie błędów linkera spowodowanych zmianami w bibliotekach. Gdy projekt znajduje się w repozytorium git, wszystkie zmiany są zatwierdzane, aby można było przejrzeć i przywrócić poszczególne modyfikacje.
Czy mogę kontrolować zmiany agenta?
Yes. Możesz przejrzeć i zatwierdzić plan przed rozpoczęciem jego wykonywania, polecić agentowi pominięcie wybranych problemów lub zadań oraz określić preferencje w scenario-instructions.md. Możesz również wstrzymać wykonywanie, przekierować agenta lub cofnąć dowolny commit utworzony przez niego.
Czy agent uruchamia testy?
Agent weryfikuje zmiany, tworząc projekt po każdym zadaniu. Jeśli projekt uruchamia testy w ramach kompilacji, te testy również są uruchamiane. Możesz również poinformować agenta o pomijaniu weryfikacji testu dla określonych zadań.
Co zrobić, jeśli agent popełni błąd?
Zatrzymaj agenta i poinformuj go od razu. Dostosuje i zastosuje poprawki, gdy poinformujesz agenta o wznowieniu. Możesz także uruchomić git revert HEAD, poprosić agenta o wypróbowanie innego podejścia lub wprowadzić ręczną poprawkę.
Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z modernizacją w języku C++ w usłudze GitHub Copilot.
Czy mogę uaktualnić tylko część mojego rozwiązania?
Yes. Powiedz agentowi, które projekty zaktualizować, na przykład Upgrade only the CoreLib project to the latest MSVC Build Tools. Agent ogranicza swoje działanie do projektów, które wskażesz.
Stan i sesje
Gdzie agent przechowuje jego stan?
Cały stan aplikacji znajduje się w .github/upgrades/{SCENARIO ID} Twoim repozytorium. Obejmuje to ocenę, plan, postęp zadania, preferencje i dzienniki wykonywania.
Czy mogę wznowić przerwane uaktualnienie?
Yes. Możesz zamknąć Visual Studio lub zakończyć sesję czatu w dowolnym momencie. Po rozpoczęciu nowej rozmowy agent wykrywa istniejący stan i wznawia od miejsca, w którym przerwano.
Czy należy zatwierdzić .github/upgrades folder?
Yes. Zatwierdzenie folderu w gałęzi zapisuje postęp aktualizacji, pozwala członkom zespołu sprawdzić stan aktualizacji i pomaga agentowi wznowić działanie z właściwego stanu. Folder można usunąć po zakończeniu uaktualniania.
Czy wiele osób może pracować nad tym samym uaktualnieniem?
Pliki stanu w programie .github/upgrades można udostępniać za pośrednictwem usługi Git. Jednak tylko jedna osoba powinna aktywnie korzystać z agenta w celu uniknięcia zmian powodujących konflikt.
Compatibility
Które wersje narzędzi MSVC Build Tools można uaktualnić?
Agent obsługuje uaktualnianie z dowolnej wcześniejszej wersji narzędzi MSVC Build Tools do najnowszej wersji obsługiwanej przez instalację Visual Studio.
Czy agent obsługuje zgodność bibliotek innych firm?
Agent identyfikuje problemy ze zgodnością bibliotek innych firm podczas oceny. Sugeruje alternatywy lub obejścia, gdy są dostępne. Jeśli biblioteka nie jest zgodna z docelowym zestawem narzędzi, agent dokumentuje problem, aby móc zdecydować, jak kontynuować.
Czy mogę używać agenta z prekompilowanymi nagłówkami?
Yes. Agent rozumie konfiguracje prekompilowanych nagłówków i uwzględnia je podczas procesu aktualizacji.