In questa guida imparerai a utilizzare l'estensione Cloud Code per VS Code per eseguire la modernizzazione dell'applicazione mainframe precedente.
La riscrittura del codice per la modernizzazione del mainframe consente un approccio iterativo alla riscrittura del codice per clienti e partner. Di solito viene utilizzato dopo aver completato una valutazione con il Mainframe Assessment Tool (MAT). Questa estensione integra le funzionalità di IA generativa per mainframe per analisi del codice, specifica, generazione di codice e generazione di test, fornendo un'esperienza di sviluppo interactive.
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.
-
Make sure 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.
-
Make sure 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.
Configura la riscrittura del codice di modernizzazione dei mainframe
Le sezioni seguenti descrivono come configurare la riscrittura del codice per la modernizzazione del mainframe. Devi prima abilitare la riscrittura del codice di modernizzazione del mainframe nell'IDE e poi collegarlo a Vertex AI.
Attiva la riscrittura del codice per la modernizzazione dei mainframe
Per attivare la riscrittura del codice per la modernizzazione del mainframe:
Apri la tavolozza dei comandi con Ctrl/Cmd+Maiusc+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+Maiusc+P) e seleziona il comando Sviluppatore: ricarica finestra.
Collegare la riscrittura del codice per la modernizzazione dei mainframe a Vertex AI
Per collegare la Riscrittura del codice per la modernizzazione del mainframe a Vertex AI:
In una finestra del terminale, esegui il seguente 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.
Dopo la configurazione, puoi aprire qualsiasi area di lavoro o cartella che includa codice mainframe ed eseguire i comandi Genera riepilogo delle 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 consente di creare una specifica di 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
Nell'editor, seleziona il file di origine che vuoi utilizzare per impostarlo come file attivo.
Per aprire la tavolozza dei comandi, premi Ctrl/Cmd+Maiusc+P.
Cerca e seleziona il comando Cloud Code: genera riepilogo delle specifiche per il file attivo.
Accanto al codice viene visualizzato un riepilogo delle specifiche.
Spazio di esplorazione
Nella barra delle attività, fai clic su Esploratore o premi Ctrl/Cmd+Maiusc+E.
Fai clic con il tasto destro del mouse sul file di origine che preferisci e seleziona Genera Riepilogo delle specifiche.
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 aggiungere annotazioni a un job JCL o a un programma COBOL, cerca il pulsante Aggiungi Aggiungi accanto alla riga di definizione del job/del programma:
JCL Job
Programma COBOL
Per aprire una visualizzazione del CMS in linea che ti consente di annotare il job/il programma, fai clic su Aggiungi Aggiungi. Dopo aver aggiunto il commento, fai clic su Crea nota per salvarlo.
Una volta salvata l'annotazione, utilizza il comando Genera riepilogo delle specifiche per generare una specifica per il tuo job/programma, in base al commento.
Puoi quindi modificare l'annotazione per perfezionare le indicazioni fornite o eliminarla se non vuoi più che il modello la tenga in considerazione.
Genera 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 Explorer:
Tavolozza comandi
Nell'editor, seleziona il file di origine che vuoi utilizzare per impostarlo come file attivo.
Apri la tavolozza dei comandi premendo Ctrl/Cmd+Maiusc+P.
Cerca e seleziona il comando Cloud Code: genera codice modernizzato per il file attivo.
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.
Spazio di esplorazione
Nella barra delle attività, fai clic su Esploratore o premi Ctrl/Cmd+Maiusc+E.
Fai clic con il tasto destro del mouse sul file di origine 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.
Modificare le impostazioni
La riscrittura del codice per la modernizzazione del mainframe dispone delle seguenti impostazioni che puoi configurare in base all'ambito dello spazio di lavoro o all'ambito delle impostazioni utente (globali).
Per modificare le impostazioni a livello di spazio di lavoro, premi Ctrl/Cmd+Maiusc+P per aprire il riquadro dei comandi e selezionare il comando Preferenze: apri impostazioni dello spazio di lavoro (JSON).
Per modificare le impostazioni a livello globale, premi Ctrl/Cmd+Maiusc+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.0-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.
Nome della proprietà di configurazione:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics
.Valore di configurazione di esempio:
false
.Valore predefinito:
true
(Analytics è attivato).
Attivare e disattivare Cloud Logging
Questa proprietà di configurazione controlla se la registrazione è attivata o meno.
Nome della proprietà di configurazione:
cloudcode.beta.mainframeModernization.enableCloudLogging
.Valore di configurazione di esempio:
true
.Valore predefinito:
false
(Cloud Logging è disabilitato).
Modello
Quando questa proprietà di configurazione è impostata, la Riscrittura del codice per la modernizzazione del mainframe utilizza il modello Gemini specificato nella configurazione.
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.0-pro"
.Valore predefinito:
"(default)"
(Chiedi ogni volta).
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à.
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).
Suggerimenti per lo stack tecnico di generazione di codice
Quando questa proprietà di configurazione è impostata, il comando Genera codice modernizzato trasmette all'LLM l'elenco specificato di suggerimenti per la tecnologia come istruzioni aggiuntive 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.
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 per la tecnologia).
Elimina i dati di riscrittura del codice per la modernizzazione del mainframe
Per rimuovere tutti i dati archiviati localmente dalla riscrittura del codice di modernizzazione del mainframe per lo spazio di lavoro corrente:
Apri il terminale selezionando Visualizza > Terminale dalla barra del menu o premendo la scorciatoia da tastiera
⌃
.Inserisci i seguenti comandi nel terminale:
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 illustra i problemi noti della riscrittura del codice di modernizzazione del mainframe 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 per molto tempo e poi non vanno a buon fine, 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 Esaminare il canale di output. Nel canale di output, cerca un messaggio di errore contenente "Vertex.GenerateContent non riuscito". Ad esempio, di seguito è riportato un messaggio di errore causato dalla mancata attivazione dell'API Vertex AI nel progetto selezionato: Google Cloud
"generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent
failed: 403 Forbidden (403)"
Per risolvere il problema:
Verifica che l'API Vertex AI sia abilitata nel Google Cloudproject.
Passa a un altro Google Cloud progetto con l'API Vertex AI abilitata.
I comandi di riscrittura del codice per la modernizzazione dei mainframe non sono disponibili
Se comandi come Genera riepilogo delle specifiche o Genera codice modernizzato non sono disponibili nella tavolozza dei comandi, è possibile che lo strumento CLI di modernizzazione del mainframe non sia stato installato. Per verificare che sia così, controlla se manca il seguente file eseguibile:
- 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
In questo caso, prova a risolvere il problema svolgendo le seguenti attività:
- Apri la tavolozza dei comandi con Ctrl/Cmd+Maiusc+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 la tavolozza dei comandi con Ctrl/Cmd+Maiusc+P.
- Seleziona il comando Sviluppatore: ricarica finestra.
Controlla il canale di output
Per risolvere altri problemi non elencati altrove in questa guida, prova a esaminare il canale di output dell'estensione. Per aprire il canale di output, svolgi le seguenti attività:
- Apri la tavolozza dei comandi con Ctrl/Cmd+Maiusc+P.
- Seleziona il comando Output: mostra i canali di output.
- Seleziona il canale di output Cloud Code Mainframe Modernization.