In questa guida imparerai a utilizzare l'estensione Cloud Code per VS Code per modernizzare la tua applicazione mainframe legacy.
La riscrittura del codice per la modernizzazione del mainframe consente un approccio iterativo alla riscrittura del codice per clienti e partner. Viene in genere utilizzato dopo aver completato una valutazione con il Mainframe Assessment Tool (MAT). Questa estensione integra le funzionalità di Mainframe GenAI per l'analisi del codice, la specifica, la generazione di codice e la generazione di test, offrendo un'esperienza di sviluppo interattiva.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
- Se non l'hai ancora fatto, installa l'estensione Cloud Code.
- Installa Google Cloud CLI se non l'hai ancora fatto.
Apri il riquadro dei comandi con Ctrl/Cmd+Shift+P.
Seleziona il comando Preferenze: apri impostazioni utente (JSON).
Per attivare la riscrittura del codice di modernizzazione del mainframe, aggiungi l'impostazione
"cloudcode.beta.enableMainframeModernization": true
al filesettings.json
:{ "cloudcode.updateChannel": "Insiders", "cloudcode.beta.enableMainframeModernization": true }
Apri di nuovo la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P) e seleziona il comando Sviluppatore: ricarica finestra.
In una finestra del terminale, esegui questo comando:
gcloud auth application-default login
Segui le istruzioni sullo schermo nella finestra del browser web appena aperta.
Segui le istruzioni per accedere a Google Cloud.
Seleziona il progetto che vuoi utilizzare.
Esegui il comando Sviluppatore: ricarica finestra.
Nell'editor, seleziona il file di origine che vuoi utilizzare per renderlo attivo.
Per aprire il riquadro dei comandi, premi Ctrl/Cmd+Shift+P.
Cerca e seleziona il comando Cloud Code: Generate Specification Summary for Active File.
Nella barra delle attività, fai clic su Esplora o premi Ctrl/Cmd+Shift+E.
Fai clic con il tasto destro del mouse sul file di origine che preferisci e seleziona Genera riepilogo delle specifiche.
Per aprire una visualizzazione CMS in linea che ti consente di annotare il tuo lavoro/programma, fai clic su Aggiungi Aggiungi. Dopo aver aggiunto il commento, fai clic su Crea nota per salvarlo.
Quando l'annotazione viene salvata, utilizza il comando Genera riepilogo specifiche per generare una specifica per il tuo lavoro/programma, guidata dal tuo commento.
Puoi quindi modificare l'annotazione per perfezionare le indicazioni fornite o eliminarla se non vuoi più che il modello la prenda in considerazione.
Nell'editor, seleziona il file di origine che vuoi utilizzare per renderlo attivo.
Apri la tavolozza dei comandi premendo Ctrl/Cmd+Shift+P.
Cerca e seleziona il comando Cloud Code: Generate Modernized Code for Active File.
Seleziona la lingua di destinazione in cui vuoi che venga generato il codice modernizzato.
Il codice modernizzato generato viene visualizzato nell'editor come nuovo file senza titolo.
Nella barra delle attività, fai clic su Esplora o premi Ctrl/Cmd+Shift+E.
Fai clic con il tasto destro del mouse sul file sorgente per cui vuoi generare il codice modernizzato e seleziona Genera codice modernizzato.
Seleziona la lingua di destinazione in cui vuoi che venga generato il codice modernizzato.
Il codice modernizzato generato viene visualizzato nell'editor come nuovo file senza titolo.
Nome della proprietà di configurazione:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics
.Valore di configurazione di esempio:
false
.Valore predefinito:
true
(Analytics è abilitato).Nome della proprietà di configurazione:
cloudcode.beta.mainframeModernization.enableCloudLogging
.Valore di configurazione di esempio:
true
.Valore predefinito:
false
(Cloud Logging è disabilitato).Nome della proprietà di configurazione:
cloudcode.beta.mainframeModernization.model
Valori di configurazione di esempio:
"gemini-1.5-flash"
,"gemini-1.5-pro"
,"gemini-2.0-flash"
,"gemini-2.0-flash-lite"
o"gemini-2.5-pro"
.Valore predefinito:
"(default)"
(Chiedi ogni volta).Nome della proprietà di configurazione:
cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguage
Valori di configurazione di esempio:
"java"
,"csharp"
,"python"
o"pgsql"
.Valore predefinito:
null
(Chiedi ogni volta).Nome della proprietà di configurazione:
cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHints
Valore di configurazione di esempio:
[ "Do not print messages directly to the console; use a logging framework instead.", "when generating java code - use Spring Boot version 3 as the framework" ]
Valore predefinito:
[]
(un elenco vuoto; nessun suggerimento sullo stack tecnologico).Apri il terminale selezionando Visualizza > Terminale dalla barra dei menu o premendo la scorciatoia da tastiera
⌃
.Inserisci i seguenti comandi nel terminale:
Verifica che l'API Vertex AI sia abilitata nel progetto Google Cloud.
Passa a un altro progetto Google Cloud con l'API Vertex AI abilitata.
- Su Linux:
~/.cache/cloud-code/mainframe/bin/codegen
- Su Windows:
%LOCALAPPDATA%\cloud-code\mainframe\bin\codegen.exe
- Su macOS:
$HOME/Library/Application Support/cloud-code/mainframe/bin/codegen_macos
- Apri il riquadro dei comandi con Ctrl/Cmd+Shift+P.
- Seleziona il comando Cloud Code: installa o aggiorna gli strumenti di modernizzazione del mainframe.
- Verifica che il file eseguibile non sia più mancante.
- Apri di nuovo il riquadro dei comandi con Ctrl/Cmd+Shift+P.
- Seleziona il comando Sviluppatore: ricarica finestra.
- Apri il riquadro dei comandi con Ctrl/Cmd+Shift+P.
- Seleziona il comando Output: Show Output Channels (Output: mostra i canali di output).
- Seleziona il canale di output Cloud Code Mainframe Modernization.
Configura la riscrittura del codice di modernizzazione dei mainframe
Le sezioni seguenti descrivono come configurare la riscrittura del codice di modernizzazione del mainframe. Devi prima abilitare la riscrittura del codice di modernizzazione del mainframe nel tuo IDE e poi connetterlo a Vertex AI.
Attivare la riscrittura del codice per la modernizzazione del mainframe
Per attivare la riscrittura del codice di modernizzazione del mainframe:
Connetti la riscrittura del codice di modernizzazione del mainframe a Vertex AI
Per connettere la riscrittura del codice di modernizzazione del mainframe a Vertex AI:
Dopo la configurazione, puoi aprire qualsiasi spazio di lavoro o cartella che includa codice mainframe ed eseguire i comandi Genera riepilogo specifiche e Genera codice modernizzato su COBOL, JCL, Easytrieve e HLASM.
Genera il riepilogo delle specifiche
Il comando Cloud Code: Generate Specification Summary for Active File ti consente di creare una specifica in linguaggio neutro per il codice mainframe legacy. Sono supportati COBOL, JCL, Easytrieve e HLASM.
Puoi accedere a un riepilogo delle specifiche dalla tavolozza dei comandi o dalla visualizzazione Explorer:
Tavolozza comandi
Accanto al codice viene visualizzato un riepilogo delle specifiche.
Spazio di esplorazione
Accanto al codice viene visualizzato un riepilogo delle specifiche.
Annotare il codice legacy del mainframe
Per guidare il processo di generazione del riepilogo delle specifiche, puoi annotare il codice legacy aggiungendo commenti. Per annotare un job JCL o un programma COBOL, cerca il pulsante Aggiungi Aggiungi accanto alla riga di definizione del job/programma:
JCL Job
Programma COBOL
Generare codice modernizzato
Il comando Cloud Code: Generate Modernized Code for Active File ti consente di creare codice moderno dal codice legacy del mainframe.
Lingue di origine supportate: COBOL, JCL, Easytrieve e HLASM.
Lingue di destinazione supportate: Java, C#, Python, SQL.
Puoi accedere a questo comando dalla tavolozza dei comandi o dalla visualizzazione Esplora:
Tavolozza comandi
Spazio di esplorazione
Modifica le impostazioni
La riscrittura del codice di modernizzazione del mainframe ha le seguenti impostazioni che puoi configurare nell'ambito dello spazio di lavoro o nell'ambito delle impostazioni utente (globali).
Per modificare le impostazioni a livello di spazio di lavoro, premi Ctrl/Cmd+Shift+P per aprire il riquadro dei comandi e seleziona il comando Preferenze: apri le impostazioni dello spazio di lavoro (JSON).
Per modificare le impostazioni a livello di impostazioni utente globali, premi Ctrl/Cmd+Shift+P per aprire il riquadro dei comandi e seleziona il comando Preferenze: apri impostazioni utente (JSON).
Ecco un esempio di file settings.json
che include tutte le proprietà di configurazione dell'estensione:
{
"cloudcode.beta.enableMainframeModernization": true,
"cloudcode.beta.mainframeModernization.enableGoogleAnalytics": true,
"cloudcode.beta.mainframeModernization.enableCloudLogging": false,
"cloudcode.beta.mainframeModernization.model": "gemini-2.5-pro",
"cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguage": "csharp",
"cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHints": [
"Do not print messages directly to the console; use a logging framework instead."
],
}
Attivare e disattivare Google Analytics
Questa proprietà di configurazione attiva o disattiva la raccolta di analisi dell'utilizzo per l'estensione.
Abilitare e disabilitare Cloud Logging
Questa proprietà di configurazione controlla se la registrazione è abilitata o meno.
Modello
Quando questa proprietà di configurazione è impostata, Mainframe Modernization Code Rewrite utilizza il modello Gemini specificato nella configurazione.
Lingua di destinazione
Quando questa proprietà di configurazione è impostata, il comando Genera codice modernizzato non ti chiede più di selezionare la lingua di destinazione durante la generazione del codice e utilizza invece la lingua impostata nella proprietà.
Suggerimenti per lo stack tecnologico di generazione del codice
Quando questa proprietà di configurazione è impostata, il comando Genera codice modernizzato trasmette l'elenco specificato di suggerimenti per lo stack tecnologico come istruzioni aggiuntive al modello LLM durante la generazione del codice. Questa configurazione può essere utilizzata come guida per modificare l'architettura di destinazione, i framework e lo stile del codice.
Elimina i dati di riscrittura del codice di modernizzazione del mainframe
Per rimuovere tutti i dati archiviati localmente da Mainframe Modernization Code Rewrite per lo spazio di lavoro corrente:
Linux (Bash o Zsh)
workspace_id=$(printf %s "$PWD$(stat -c '%i' .)" | md5sum | head -c 32)
workspace_storage_dir="$HOME/.config/Code/User/workspaceStorage/$workspace_id"
rm -r "$workspace_storage_dir/googlecloudtools.cloudcode/mainframe/"
Windows (PowerShell)
$workspacePath = (Get-Location).ToString()
$tempFile = (New-TemporaryFile).FullName
($workspacePath.Substring(0, 1).ToLower() + $workspacePath.Substring(1) +
(([decimal](Get-Date (Get-ItemProperty . |
Select-Object -ExpandProperty CreationTimeUtc) -UFormat %s) * 1000) -split '\.')[0]
) | Out-File -FilePath $tempFile -Encoding ascii -NoNewline
$workspaceId = (Get-FileHash -Algorithm MD5 -Path $tempFile).Hash.ToLower()
Remove-Item $tempFile
$workspaceStorageDir = "$env:APPDATA\Code\User\workspaceStorage\$workspaceId"
Remove-Item -Recurse "$workspaceStorageDir\googlecloudtools.cloudcode\mainframe"
Risoluzione dei problemi
Questa sezione descrive i problemi noti di Mainframe Modernization Code Rewrite e fornisce i passaggi per la risoluzione dei problemi:
Vertex AI non disponibile nel progetto Google Cloud
Se i comandi Genera riepilogo delle specifiche o Genera codice modernizzato vengono eseguiti a lungo e poi non riescono, l'API Vertex AI potrebbe non essere abilitata o aver superato la quota nel progetto selezionato. Per confermare che si tratta del problema, fai clic sul pulsante Vai all'output.
Se il pulsante Vai all'output non è disponibile, segui i passaggi descritti in Ispezionare il canale di output. Nel canale di output, cerca un messaggio di errore contenente "Vertex.GenerateContent failed". Ad esempio, ecco un messaggio di errore causato dalla mancata abilitazione dell'API Vertex AI nel progetto Google Cloud selezionato:
"generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent
failed: 403 Forbidden (403)"
Per risolvere il problema:
I comandi di riscrittura del codice di modernizzazione del mainframe non sono disponibili
Se comandi come Genera riepilogo specifiche o Genera codice modernizzato non sono disponibili nella tavolozza dei comandi, è possibile che lo strumento CLI Mainframe Modernization non sia stato installato. Per verificare che sia così, controlla se il seguente file eseguibile è mancante:
In questo caso, prova a risolvere il problema svolgendo le seguenti attività:
Ispeziona il canale di output
Per risolvere i problemi relativi ad altri errori non elencati in questa guida, prova a ispezionare il canale di output dell'estensione. Per aprire il canale di output, esegui le seguenti attività: