In dieser Anleitung erfahren Sie, wie Sie mit der Cloud Code for VS Code-Erweiterung Ihre Legacy-Mainframe-Anwendung modernisieren.
Mit Mainframe Modernization Code Rewrite können Kunden und Partner Code iterativ neu schreiben. Die Funktion wird in der Regel nach Abschluss einer Bewertung mit dem Mainframe Assessment Tool (MAT) verwendet. Diese Erweiterung integriert Mainframe GenAI-Funktionen für Codeanalyse, Spezifikation, Codegenerierung und Testgenerierung und bietet so eine interaktive Entwicklungsumgebung.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch kein Konto haben, erstellen Sie eines, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Google CloudNeukunden 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 Mainframe Modernization Code Rewrite einrichten. Sie müssen Mainframe Modernization Code Rewrite zuerst in Ihrer IDE aktivieren und dann mit Vertex AI verbinden.
Mainframe Modernization Code Rewrite aktivieren
So aktivieren Sie 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 der Datei
settings.jsondie Einstellung"cloudcode.beta.enableMainframeModernization": truehinzu, um Mainframe Modernization Code Rewrite zu aktivieren:{ "cloudcode.updateChannel": "Insiders", "cloudcode.beta.enableMainframeModernization": true }Öffnen Sie die Befehlspalette noch einmal (Strg/Cmd+Umschalt+P) und wählen Sie den Entwickler: Fenster aktualisieren Befehl aus.
Mainframe Modernization Code Rewrite mit Vertex AI verbinden
So verbinden Sie Mainframe Modernization Code Rewrite mit Vertex AI:
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 anzumelden Google Cloud.
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 Spezifikationszusammenfassung erstellen und Modernisierten Code erstellen für COBOL, JCL, Easytrieve und HLASM ausführen.
Spezifikationszusammenfassung erstellen
Mit dem Befehl Cloud Code: Spezifikationszusammenfassung für aktive Datei erstellen können Sie eine sprachneutrale Spezifikation für Ihren Legacy-Mainframe-Code erstellen. COBOL, JCL, Easytrieve und HLASM werden unterstützt.
Sie können auf eine Spezifikationszusammenfassung 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.
Drücken Sie Strg/Cmd+Umschalt+P, um die Befehlspalette zu öffnen.
Suchen Sie nach dem Befehl Cloud Code: Spezifikationszusammenfassung für aktive Datei erstellen und wählen Sie ihn aus.
Neben dem Code wird eine Spezifikationszusammenfassung 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 Spezifikationszusammenfassung erstellen aus.
Neben dem Code wird eine Spezifikationszusammenfassung angezeigt.
Mainframe-Legacy-Code mit Anmerkungen versehen
Um den Prozess der Erstellung von Spezifikationszusammenfassungen zu steuern, können Sie Ihren Legacy-Code mit Anmerkungen versehen, indem Sie 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 Hinzufügen:
JCL-Job

COBOL-Programm

Klicken Sie auf Hinzufügen Hinzufügen , um eine Inline-CMS-Ansicht zu öffnen, in der Sie Ihren Job/Ihr Programm mit Anmerkungen versehen können. Klicken Sie nach dem Hinzufügen Ihres Kommentars auf Notiz erstellen , um ihn zu speichern.
Wenn die Anmerkung gespeichert ist, verwenden Sie den Befehl Spezifikationszusammenfassung erstellen , um eine Spezifikation für Ihren Job/Ihr Programm zu erstellen, die auf Ihrem Kommentar basiert.
Sie können Ihre Anmerkung dann bearbeiten, um die bereitgestellte Anleitung zu verfeinern, oder sie löschen, wenn das Modell sie nicht mehr berücksichtigen soll.
Modernisierten Code erstellen
Mit dem Befehl Cloud Code: Modernisierten Code für aktive Datei erstellen können Sie modernen Code aus Ihrem Legacy-Mainframe-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 mit Strg/Cmd+Umschalt+P.
Suchen Sie nach dem Befehl Cloud Code: Modernisierten Code für aktive Datei erstellen 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 erstellen 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
Mainframe Modernization Code Rewrite hat die folgenden Einstellungen, die Sie entweder auf Arbeitsbereichsebene oder auf Ebene der (globalen) Nutzereinstellungen konfigurieren können.
Wenn Sie Einstellungen auf Arbeitsbereichsebene ändern möchten, drücken Sie Strg/Cmd+Umschalt+P, um die Befehlspalette zu öffnen, und wählen Sie den Befehl Einstellungen: Arbeitsbereichseinstellungen öffnen (JSON) aus.
Wenn Sie Einstellungen auf 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 ist 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 dieser Konfigurationseigenschaft wird die Erhebung von Nutzungsanalysen für die Erweiterung aktiviert oder deaktiviert.
Name der Konfigurationseigenschaft:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics.Beispiel für einen Konfigurationswert:
false.Standardwert:
true(Analysen sind aktiviert).
Cloud Logging aktivieren und deaktivieren
Mit dieser Konfigurationseigenschaft wird gesteuert, ob Logging aktiviert ist oder nicht.
Name der Konfigurationseigenschaft:
cloudcode.beta.mainframeModernization.enableCloudLogging.Beispiel für einen 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 der Konfigurationseigenschaft:
cloudcode.beta.mainframeModernization.modelBeispiel für Konfigurationswerte:
"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 erstellen nicht mehr aufgefordert, die Zielsprache auszuwählen. Stattdessen wird die in der Eigenschaft festgelegte Sprache verwendet.
Name der Konfigurationseigenschaft:
cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguageBeispiel für Konfigurationswerte:
"java","csharp","python"oder"pgsql".Standardwert:
null(Jedes Mal fragen).
Hinweise zum Technologie-Stack für die Codegenerierung
Wenn diese Konfigurationseigenschaft festgelegt ist, übergibt der Befehl Modernisierten Code erstellen die angegebene Liste von Hinweisen zum Technologie-Stack als zusätzliche Anweisungen an das LLM, wenn Code generiert wird. Diese Konfiguration kann als Anleitung zum Anpassen der Zielarchitektur, der Frameworks und des Codestils verwendet werden.
Name der Konfigurationseigenschaft:
cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHintsBeispiel für einen 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 zum Technologie-Stack).
Daten von Mainframe Modernization Code Rewrite löschen
So entfernen Sie alle Daten, die von Mainframe Modernization Code Rewrite lokal für den aktuellen Arbeitsbereich gespeichert wurden:
Ö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 in Google Cloud project nicht verfügbar
Wenn die Befehle Spezifikationszusammenfassung erstellen oder Modernisierten Code erstellen lange ausgeführt werden und dann fehlschlagen, ist die Vertex AI API möglicherweise nicht aktiviert oder das Kontingent wurde im ausgewählten Projekt überschritten. Wenn Sie prüfen möchten, ob dies das Problem ist, klicken Sie auf die Schaltfläche Zur Ausgabe.
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 nicht 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, in dem die Vertex AI API aktiviert ist.
Befehle von Mainframe Modernization Code Rewrite sind nicht verfügbar
Wenn Befehle wie Spezifikationszusammenfassung erstellen oder Modernisierten Code erstellen in der Befehlspalette nicht verfügbar sind, konnte das Mainframe Modernization CLI-Tool möglicherweise nicht installiert werden. Prüfen Sie, ob die folgende ausführbare Datei fehlt, um zu bestätigen, dass dies der Fall ist:
- Unter Linux:
~/.cache/cloud-code/mainframe/bin/codegen - Unter Windows:
%LOCALAPPDATA%\cloud-code\mainframe\bin\codegen.exe - Unter macOS:
$HOME/Library/Application Support/cloud-code/mainframe/bin/codegen_macos
Wenn dies der Fall ist, versuchen Sie, das Problem zu beheben, indem Sie die folgenden Schritte ausführen:
- Öffnen Sie die Befehlspalette mit Strg/Cmd+Umschalt+P.
- Wählen Sie den Befehl Cloud Code: Mainframe Modernization-Tools 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 andere Fehler auftreten, die an anderer Stelle in dieser Anleitung nicht aufgeführt sind, prüfen Sie den Ausgabekanal der Erweiterung. So öffnen Sie den Ausgabekanal:
- Öffnen Sie die Befehlspalette mit Strg/Cmd+Umschalt+P.
- Wählen Sie den Befehl Ausgabe: Ausgabekanäle anzeigen aus.
- Wählen Sie den Ausgabekanal Cloud Code Mainframe Modernization aus.