Che cos'è la modernizzazione di GitHub Copilot?

GitHub Copilot Modernization è un agente di GitHub Copilot che ti aiuta ad aggiornare e modernizzare i tuoi progetti C++. Illustra la valutazione, le raccomandazioni sulle soluzioni, le correzioni del codice e la convalida all'interno di Visual Studio.

Scenarios

L'agente fornisce flussi di lavoro completi per la modernizzazione chiamati scenari. Ogni scenario illustra un tipo specifico di attività di modernizzazione.

Scenario Descrizione Richiesta di esempio
Aggiornamento degli strumenti di compilazione MSVC (MSBuild) Aggiorna i progetti basati su MSBuild (.sln, .vcxproj) a una versione più recente di MSVC Build Tools e risolve i problemi di compilazione correlati all'aggiornamento. "Aggiornare i progetti per usare la versione più recente installata degli strumenti di compilazione MSVC"
Aggiornamento degli strumenti di compilazione MSVC (CMake) Risolve i problemi di compilazione correlati all'aggiornamento nei progetti basati su CMake dopo aver configurato il progetto con una versione più recente di MSVC Build Tools. "Risolvere eventuali problemi di compilazione causati dall'aggiornamento del progetto per l'uso degli strumenti di compilazione MSVC più recenti"

Annotazioni

Se desideri proporre o votare positivamente altri scenari di modernizzazione, visita Developer Community.

Per un riferimento completo a tutti gli scenari, vedere Scenari e informazioni di riferimento sulle competenze.

Prerequisiti

Prima di iniziare, assicurarsi di avere:

  • Visual Studio 2026 versione 18.7 o successiva.
  • Sottoscrizione di GitHub Copilot.
  • Codebase basata su MSBuild (.sln, .vcxproj) o una codebase basata su CMake.

Per istruzioni dettagliate sulla configurazione, consulta Installare GitHub Copilot per la modernizzazione in C++.

Come funziona

Per avviare il flusso di lavoro di modernizzazione:

  1. Aprire il progetto o la soluzione C++ in Visual Studio.
  2. Avviare l'agente: in Esplora soluzioni fare clic con il pulsante destro del mouse sulla soluzione o sul progetto e scegliere Modernize. In alternativa, in GitHub Copilot Chat digitare @Modernize.
  3. Indicare all'agente cosa aggiornare.

Se l'installazione di Visual Studio non contiene gli strumenti di compilazione MSVC attualmente usati dal progetto, l'Assistente configurazione verrà visualizzato quando si carica il progetto. È possibile usare Assistente configurazione per installare la versione MSVC mancante o per impostare nuovamente la versione MSVC installata.You can use the Setup Assistant to install the missing MSVC version or to retarget to the installed MSVC version. Se si modifica il framework di destinazione di uno o più progetti, verrà visualizzato un messaggio nella barra informativa che consente di accedere direttamente al flusso di lavoro dell'agente Modernize.

Quando si chiede all'agente di aggiornare il progetto, viene richiesto di creare un nuovo ramo se si usa un repository Git. Esegue quindi un flusso di lavoro a tre fasi. Ogni fase produce file Markdown sotto .github/upgrades/{scenarioId} nel tuo repository, così puoi esaminare ciò che viene dopo prima di continuare. Se .github/upgrades/{scenarioId} esiste già da un tentativo precedente, l'agente chiede se si vuole continuare o avviare un nuovo tentativo.

Fase 1: Valutazione

L'agente esamina la struttura del progetto, le dipendenze e i modelli di codice e salva una valutazione completa in assessment.md. L'agente presenta anche decisioni di strategia per la revisione, ad esempio la strategia di aggiornamento e la gestione della compatibilità.

Fase 2: Pianificazione

L'agente converte la valutazione in una specifica dettagliata. Il plan.md file documenta strategie di aggiornamento, approcci di refactoring e mitigazioni dei rischi.

Fase 3: Esecuzione

L'agente suddivide il piano in attività sequenziali con criteri di convalida in tasks.md. Ogni attività descrive una singola modifica e il modo in cui l'agente conferma che ha avuto esito positivo.

Modalità di flusso

L'agente supporta due modalità di flusso:

  • Automatico: procede attraverso tutte le fasi senza pause, fermandosi solo in presenza di ostacoli reali. Questa modalità è ideale per gli aggiornamenti semplici.
  • Guidata: si interrompe al termine di ogni fase per la tua revisione. Questa modalità è ideale per gli aggiornamenti più grandi o più complessi.

È possibile cambiare modalità in qualsiasi momento modificando scenario-instructions.md o indicando all'agente di cambiare modalità. Se è in esecuzione in modalità Automatic, potrebbe essere necessario arrestare l'agente con il pulsante Annulla nella finestra del prompt Copilot Chat e indicare all'agente di riprendere in modalità Guided.

Gestione dello stato

L'agente memorizza tutto lo stato in .github/upgrades/{scenarioId}.

File Purpose
assessment.md Analisi della soluzione.
plan.md Piano attività ordinato.
tasks.md Dashboard di avanzamento in tempo reale
scenario-instructions.md Memoria persistente dell'agente.
execution-log.md Registro di controllo di tutte le modifiche.

È possibile chiudere Visual Studio e riprendere in un secondo momento. L'agente riprende da dove si era interrotto leggendo i file di stato.

Tip

Se vuoi lavorare all'aggiornamento per un periodo di tempo più lungo mentre svolgi altre attività, valuta la possibilità di eseguire il commit della cartella .github/upgrades nel tuo ramo con commit distinti. Lo stato confermato funge da backup e consente ai membri del team di visualizzare il progresso dell'aggiornamento. I commit distinti consentono di rimuoverli facilmente dalla cronologia Git locale prima di unire il ramo se non si vuole eseguirne il commit permanente nel repository.

Inviare commenti

Microsoft valori il feedback e lo usa per migliorare l'agente. Lasciare commenti e suggerimenti usando una di queste opzioni: