Scenari e informazioni di riferimento sulle competenze

GitHub Copilot agente di modernizzazione fornisce flussi di lavoro di modernizzazione end-to-end gestiti denominati scenarios. Ogni scenario guida l'utente attraverso un tipo specifico di attività in un lavoro pratico di modernizzazione C++. Questa pagina documenta gli scenari e le competenze disponibili in modo da comprendere le operazioni che l'agente può eseguire per il progetto.

Scenarios

Uno scenario è un flusso di lavoro gestito che guida l'utente attraverso un tipo specifico di attività di modernizzazione.

Come vengono individuati gli scenari

Non è necessario memorizzare i nomi degli scenari. L'agente rileva il tipo di progetto e suggerisce automaticamente lo scenario pertinente.

Per elencare gli scenari supportati dall'agente, chiedere "Quali scenari sono disponibili per il progetto?" nella finestra di chat GitHub Copilot.

Scenari disponibili

Scenario Tipo di progetto Descrizione Richiesta di esempio
Aggiornamento degli strumenti di compilazione MSVC (MSBuild) .sln, .vcxproj 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) 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

Per proporre o richiamare altri scenari di modernizzazione, visitare Developer Community.

Aggiornamento degli strumenti di compilazione MSVC (MSBuild)

Questo scenario gestisce il flusso di lavoro di aggiornamento completo per i progetti C++ basati su MSBuild:

  1. Retargeting: aggiorna le impostazioni del progetto in modo che siano destinate alla versione più recente, installata di Strumenti di compilazione MSVC e set di strumenti della piattaforma.
  2. Analisi della compilazione: compila la soluzione e cataloga tutti gli errori e gli avvisi introdotti dall'aggiornamento.
  3. Aggiornamento del codice: sostituisce le API deprecate, risolve i problemi di conformità e consente di apportare modifiche di rilievo.
  4. Convalida: ricompila per confermare che tutti i problemi vengono risolti.

Questo scenario, ad esempio, risolve problemi come:

  • Le funzioni CRT deprecate, ad esempio, sprintf in sprintf_s.
  • Modifiche alla conformità C++, ad esempio l'analisi dei modelli più restrittiva.
  • Le modifiche della libreria standard tra versioni MSVC, ad esempio rimosse, spazi dei nomi sperimentali ,ad esempio std::tr1.
  • Promozioni di avviso come errore nei set di strumenti più recenti.
  • Errori del linker per le API rimosse dall'SDK di Windows.

Aggiornamento degli strumenti di compilazione MSVC (CMake)

Questo scenario gestisce i flussi di lavoro di aggiornamento per i progetti C++ basati su CMake:

  1. Analisi della compilazione: compila il progetto e cataloga tutti gli errori e gli avvisi introdotti dall'aggiornamento.
  2. Aggiornamento del codice: sostituisce le API deprecate, risolve i problemi di conformità e consente di apportare modifiche di rilievo.
  3. Convalida: ricompila per confermare che tutti i problemi vengono risolti.

Questo scenario, ad esempio, risolve problemi come:

  • Le funzioni CRT deprecate, ad esempio, sprintf in sprintf_s.
  • Modifiche alla conformità C++, ad esempio l'analisi dei modelli più restrittiva.
  • Le modifiche della libreria standard tra versioni MSVC, ad esempio rimosse, spazi dei nomi sperimentali ,ad esempio std::tr1.
  • Promozioni di avviso come errore nei set di strumenti più recenti.
  • Errori del linker per le API rimosse dall'SDK di Windows.

Persistenza dello scenario

Ogni scenario attivo ottiene la propria cartella in .github/upgrades/{scenarioId}. La cartella dello scenario contiene il piano, lo stato dell'attività, le preferenze e i log di esecuzione. La cartella diventa parte del repository Git.

Competenze

Le competenze sono funzionalità di modernizzazione più piccole e mirate usate dall'agente all'interno di uno scenario. Quando l'agente rileva un modello specifico durante un aggiornamento, carica la competenza pertinente con istruzioni dettagliate.

Caricamento automatico delle competenze in base a ciò che l'agente rileva nella codebase. Non è necessario gestire il caricamento delle competenze.

Annotazioni

Attualmente non esistono competenze aggiuntive specifiche per gli scenari di modernizzazione C++.