In diesem Leitfaden erfahren Sie, wie Sie die Cloud Code for VS Code-Erweiterung verwenden, um Ihre Legacy-Mainframe-Anwendung zu modernisieren.
Mit Mainframe Modernization Code Rewrite können Kunden und Partner Code iterativ neu schreiben. Es wird in der Regel nach Abschluss einer Bewertung mit dem Mainframe Assessment Tool (MAT) verwendet. Diese Erweiterung bietet Mainframe-GenAI-Funktionen für Codeanalyse, Spezifikation, Codegenerierung und Testerstellung und ermöglicht so eine interaktive Entwicklung.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Installieren Sie die Cloud Code-Erweiterung, falls noch nicht geschehen.
- Installieren Sie die Google Cloud CLI, falls noch nicht geschehen.
Mainframe Modernization Code Rewrite einrichten
In den folgenden Abschnitten wird beschrieben, wie Sie die Funktion „Code Rewrite“ für die Mainframe-Modernisierung einrichten. Sie müssen zuerst Mainframe Modernization Code Rewrite in Ihrer IDE aktivieren und dann mit Vertex AI verbinden.
Code-Rewrite für Mainframe-Modernisierung aktivieren
So aktivieren Sie die Funktion „Mainframe Modernization Code Rewrite“:
Öffnen Sie die Befehlspalette mit Strg/Cmd + Umschalt + P.
Wählen Sie den Befehl Einstellungen: Nutzereinstellungen öffnen (JSON) aus.
Fügen Sie die Einstellung
"cloudcode.beta.enableMainframeModernization": truein Ihresettings.json-Datei ein, um die Funktion „Mainframe Modernization Code Rewrite“ zu aktivieren:{ "cloudcode.updateChannel": "Insiders", "cloudcode.beta.enableMainframeModernization": true }Öffnen Sie die Befehlspalette noch einmal (drücken Sie Strg/Cmd + Umschalt + P) und wählen Sie den Befehl Entwickler: Fenster neu laden aus.
Mainframe Modernization Code Rewrite mit Vertex AI verbinden
So stellen Sie eine Verbindung zwischen Mainframe Modernization Code Rewrite und Vertex AI her:
Führen Sie in einem Terminalfenster den folgenden Befehl aus:
gcloud auth application-default loginFolgen Sie der Anleitung auf dem Bildschirm im neu geöffneten Webbrowserfenster.
Folgen Sie der Anleitung, um sich in Google Cloudanzumelden.
Wählen Sie das Projekt aus, das Sie verwenden möchten.
Führen Sie den Befehl Entwickler: Fenster aktualisieren aus.
Nach der Einrichtung können Sie einen beliebigen Arbeitsbereich oder Ordner mit Mainframe-Code öffnen und die Befehle Generate Specification Summary (Zusammenfassung der Spezifikation generieren) und Generate Modernized Code (Modernisierten Code generieren) für COBOL, JCL, Easytrieve und HLASM ausführen.
Zusammenfassung der Spezifikation erstellen
Mit dem Befehl Cloud Code: Generate Specification Summary for Active File (Cloud Code: Spezifikationszusammenfassung für aktive Datei generieren) können Sie eine sprachneutrale Spezifikation für Ihren Legacy-Mainframe-Code erstellen. COBOL, JCL, Easytrieve und HLASM werden unterstützt.
Sie können entweder über die Befehlspalette oder über die Explorer-Ansicht auf eine Spezifikationszusammenfassung zugreifen:
Befehlspalette
Wählen Sie im Editor die Quelldatei aus, die Sie verwenden möchten, um sie zur aktiven Datei zu machen.
Drücken Sie Strg/Cmd + Umschalt + P, um die Befehlspalette zu öffnen.
Suchen Sie nach dem Befehl Cloud Code: Generate Specification Summary for Active File (Cloud Code: Spezifikationszusammenfassung für aktive Datei generieren) und wählen Sie ihn aus.
Neben dem Code wird eine Zusammenfassung der Spezifikation angezeigt.
Explorer
Klicken Sie in der Aktivitätsleiste auf Explorer oder drücken Sie Strg/Cmd+Umschalt+E.
Klicken Sie mit der rechten Maustaste auf die gewünschte Quelldatei und wählen Sie Generate Specification Summary (Zusammenfassung der Spezifikation erstellen) aus.
Neben dem Code wird eine Zusammenfassung der Spezifikation angezeigt.
Mainframe-Legacy-Code mit Anmerkungen versehen
Sie können den Prozess der Zusammenfassung der Spezifikation steuern, indem Sie Ihrem Legacy-Code Kommentare hinzufügen. Wenn Sie einen JCL-Job oder ein COBOL-Programm mit Anmerkungen versehen möchten, suchen Sie neben der Zeile mit der Job-/Programdefinition nach der Schaltfläche add Add (Hinzufügen):
JCL-Job

COBOL-Programm

Wenn Sie eine Inline-CMS-Ansicht öffnen möchten, in der Sie Anmerkungen zu Ihrem Job/Programm hinzufügen können, klicken Sie auf add Hinzufügen. Klicken Sie nach dem Hinzufügen Ihres Kommentars auf Notiz erstellen, um ihn zu speichern.
Wenn die Anmerkung gespeichert ist, verwenden Sie den Befehl Generate Specification Summary (Spezifikationszusammenfassung generieren), um eine Spezifikation für Ihren Job/Ihr Programm zu generieren, die auf Ihrem Kommentar basiert.
Sie können die Anmerkung dann bearbeiten, um die bereitgestellte Anleitung zu optimieren, oder löschen, wenn das Modell sie nicht mehr berücksichtigen soll.
Modernisierten Code generieren
Mit dem Befehl Cloud Code: Generate Modernized Code for Active File (Cloud Code: Modernisierten Code für aktive Datei generieren) können Sie modernen Code aus Ihrem Mainframe-Legacy-Code erstellen.
Unterstützte Quellsprachen: COBOL, JCL, Easytrieve und HLASM.
Unterstützte Zielsprachen: Java, C#, Python, SQL.
Sie können auf diesen Befehl entweder über die Befehlspalette oder über die Explorer-Ansicht zugreifen:
Befehlspalette
Wählen Sie im Editor die Quelldatei aus, die Sie verwenden möchten, um sie zur aktiven Datei zu machen.
Öffnen Sie die Befehlspalette, indem Sie Strg/Cmd+Umschalt+P drücken.
Suchen Sie nach dem Befehl Cloud Code: Generate Modernized Code for Active File (Cloud Code: Modernisierten Code für aktive Datei generieren) und wählen Sie ihn aus.
Wählen Sie die Zielsprache aus, in der der modernisierte Code generiert werden soll.
Der generierte modernisierte Code wird im Editor als neue unbenannte Datei angezeigt.
Explorer
Klicken Sie in der Aktivitätsleiste auf Explorer oder drücken Sie Strg/Cmd+Umschalt+E.
Klicken Sie mit der rechten Maustaste auf die Quelldatei, für die Sie modernisierten Code generieren möchten, und wählen Sie Modernisierten Code generieren aus.
Wählen Sie die Zielsprache aus, in der der modernisierte Code generiert werden soll.
Der generierte modernisierte Code wird im Editor als neue unbenannte Datei angezeigt.
Einstellungen ändern
Für Mainframe Modernization Code Rewrite sind die folgenden Einstellungen verfügbar, die Sie entweder auf Arbeitsbereichsebene oder auf (globaler) Nutzerebene konfigurieren können.
Wenn Sie Einstellungen auf Arbeitsbereichsebene ändern möchten, drücken Sie Strg/Befehlstaste + Umschalt + P, um die Befehlspalette zu öffnen, und wählen Sie den Befehl Einstellungen: Arbeitsbereichseinstellungen öffnen (JSON) aus.
Wenn Sie Einstellungen auf der Ebene der globalen Nutzereinstellungen ändern möchten, drücken Sie Strg/Cmd+Umschalt+P, um die Befehlspalette zu öffnen, und wählen Sie den Befehl Einstellungen: Nutzereinstellungen öffnen (JSON) aus.
Hier sehen Sie ein Beispiel für eine settings.json-Datei, die alle Konfigurationseigenschaften der Erweiterung enthält:
{
"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."
],
}
Google Analytics aktivieren und deaktivieren
Mit diesem Konfigurationsattribut wird die Erhebung von Nutzungsanalysen für die Erweiterung aktiviert oder deaktiviert.
Name des Konfigurationsattributs:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics.Beispiel für Konfigurationswert:
false.Standardwert:
true(Analytics sind aktiviert).
Cloud Logging aktivieren und deaktivieren
Mit dieser Konfigurationseigenschaft wird festgelegt, ob die Protokollierung aktiviert ist.
Name des Konfigurationsattributs:
cloudcode.beta.mainframeModernization.enableCloudLogging.Beispiel für Konfigurationswert:
true.Standardwert:
false(Cloud Logging ist deaktiviert).
Modell
Wenn diese Konfigurationseigenschaft festgelegt ist, verwendet Mainframe Modernization Code Rewrite das in der Konfiguration angegebene Gemini-Modell.
Name des Konfigurationsattributs:
cloudcode.beta.mainframeModernization.modelBeispielkonfigurationswerte:
"gemini-1.5-flash","gemini-1.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite"oder"gemini-2.5-pro".Standardwert:
"(default)"(Jedes Mal fragen).
Zielsprache
Wenn diese Konfigurationseigenschaft festgelegt ist, werden Sie beim Generieren von Code mit dem Befehl Modernisierten Code generieren nicht mehr aufgefordert, die Zielsprache auszuwählen. Stattdessen wird die in der Eigenschaft festgelegte Sprache verwendet.
Name des Konfigurationsattributs:
cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguageBeispielkonfigurationswerte:
"java","csharp","python"oder"pgsql".Standardwert:
null(Jedes Mal fragen).
Hinweise zum Tech-Stack für die Codegenerierung
Wenn diese Konfigurationseigenschaft festgelegt ist, übergibt der Befehl Generate Modernized Code (Modernisierten Code generieren) die angegebene Liste von Hinweisen zum Technologie-Stack als zusätzliche Anweisungen an das LLM, wenn Code generiert wird. Diese Konfiguration kann als Orientierungshilfe für die Anpassung von Zielarchitektur, Frameworks und Codestil verwendet werden.
Name des Konfigurationsattributs:
cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHintsBeispiel für Konfigurationswert:
[ "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" ]Standardwert:
[](eine leere Liste; keine Hinweise auf den Technologie-Stack).
Daten zum Umschreiben von Mainframe-Code löschen
So entfernen Sie alle lokal gespeicherten Daten von Mainframe Modernization Code Rewrite für den aktuellen Arbeitsbereich:
Öffnen Sie das Terminal, indem Sie in der Menüleiste Ansicht > Terminal auswählen oder die Tastenkombination
⌃drücken.Geben Sie die folgenden Befehle in das Terminal ein:
Linux (Bash oder 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"
Fehlerbehebung
In diesem Abschnitt werden die bekannten Probleme von Mainframe Modernization Code Rewrite beschrieben und Schritte zur Fehlerbehebung bereitgestellt:
Vertex AI ist im Google Cloud -Projekt nicht verfügbar
Wenn die Befehle Generate Specification Summary (Zusammenfassung der Spezifikation generieren) oder Generate Modernized Code (Modernisierten Code generieren) lange ausgeführt werden und dann fehlschlagen, ist die Vertex AI API möglicherweise nicht aktiviert oder das Kontingent im ausgewählten Projekt wurde überschritten. Klicken Sie auf die Schaltfläche Zur Ausgabe, um zu bestätigen, dass dies das Problem ist.
Wenn die Schaltfläche Zur Ausgabe nicht verfügbar ist, folgen Sie der Anleitung unter Ausgabekanal prüfen. Suchen Sie im Ausgabekanal nach einer Fehlermeldung, die „Vertex.GenerateContent failed“ enthält. Hier ist ein Beispiel für eine Fehlermeldung, die dadurch verursacht wird, dass die Vertex AI API im ausgewählten Google Cloud Projekt nicht aktiviert ist:
"generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent
failed: 403 Forbidden (403)"
So beheben Sie dieses Problem:
Prüfen Sie, ob die Vertex AI API für das Google Cloud-Projekt aktiviert ist.
Wechseln Sie zu einem anderen Google Cloud Projekt mit aktivierter Vertex AI API.
Befehle zum Umschreiben von Mainframe-Modernisierungscode sind nicht verfügbar
Wenn Befehle wie Generate Specification Summary (Zusammenfassung der Spezifikation generieren) oder Generate Modernized Code (Modernisierten Code generieren) in der Befehlspalette nicht verfügbar sind, ist das Mainframe Modernization CLI-Tool möglicherweise nicht installiert. Prüfen Sie, ob die folgende ausführbare Datei fehlt:
- Auf Linux:
~/.cache/cloud-code/mainframe/bin/codegen - Auf Windows:
%LOCALAPPDATA%\cloud-code\mainframe\bin\codegen.exe - Unter macOS:
$HOME/Library/Application Support/cloud-code/mainframe/bin/codegen_macos
Ist dies der Fall, versuchen Sie, das Problem mit den folgenden Schritten zu beheben:
- Öffnen Sie die Befehlspalette mit Strg/Cmd + Umschalt + P.
- Wählen Sie den Befehl Cloud Code: Install or Update Mainframe Modernization Tools (Cloud Code: Mainframe-Modernisierungstools installieren oder aktualisieren) aus.
- Prüfen Sie, ob die ausführbare Datei nicht mehr fehlt.
- Öffnen Sie die Befehlspalette noch einmal mit Strg/Cmd + Umschalt + P.
- Wählen Sie den Befehl Entwickler: Fenster aktualisieren aus.
Ausgabekanal prüfen
Wenn Sie andere Fehler beheben möchten, die an anderer Stelle in diesem Leitfaden nicht aufgeführt sind, können Sie versuchen, den Ausgabekanal der Erweiterung zu untersuchen. So öffnen Sie den Ausgabekanal:
- Öffnen Sie die Befehlspalette mit Strg/Cmd + Umschalt + P.
- Wählen Sie den Befehl Output: Show Output Channels (Ausgabe: Ausgabekanäle anzeigen) aus.
- Wählen Sie den Ausgabekanal Cloud Code Mainframe Modernization aus.