En esta guía, aprenderás a usar la extensión de Cloud Code para VS Code para modernizar tu aplicación heredada de unidad central.
La reescritura de código de Mainframe Modernization permite un enfoque iterativo para la reescritura de código para clientes y socios. Por lo general, se usa después de completar una evaluación con Mainframe Assessment Tool (MAT). Esta extensión integra las capacidades de Mainframe GenAI para el análisis, la especificación, la generación de código y la generación de pruebas, lo que proporciona una experiencia de desarrollo interactiva.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
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.- Instala la extensión de Cloud Code si aún no lo hiciste.
- Instala la CLI de Google Cloud si aún no lo hiciste.
Configura la reescritura de código de Mainframe Modernization
En las siguientes secciones, se describe cómo configurar la reescritura de código de Mainframe Modernization. Primero, deberás habilitar la reescritura de código de Mainframe Modernization en tu IDE y, luego, conectarla a Vertex AI.
Habilita la reescritura de código de Mainframe Modernization
Para habilitar la reescritura de código de Mainframe Modernization, sigue estos pasos:
Abre la paleta de comandos con Ctrl/Cmd+Mayús+P.
Selecciona el comando Preferences: Open User Settings (JSON).
Para habilitar la reescritura de código de Mainframe Modernization, agrega el
"cloudcode.beta.enableMainframeModernization": trueparámetro de configuración a tusettings.jsonarchivo:{ "cloudcode.updateChannel": "Insiders", "cloudcode.beta.enableMainframeModernization": true }Vuelve a abrir la paleta de comandos (presiona Ctrl/Cmd+Mayús+P) y selecciona el comando Developer: Reload Window.
Conecta la reescritura de código de Mainframe Modernization a Vertex AI
Para conectar la reescritura de código de Mainframe Modernization a Vertex AI, sigue estos pasos:
En una ventana de la terminal, ejecuta el siguiente comando:
gcloud auth application-default loginSigue las instrucciones en pantalla en la ventana del navegador web recién abierta.
Sigue las instrucciones para acceder a Google Cloud.
Selecciona el proyecto que deseas usar.
Ejecuta el comando Developer: Reload Window.
Después de la configuración, puedes abrir cualquier espacio de trabajo o carpeta que incluya código de unidad central y ejecutar los comandos Generate Specification Summary y Generate Modernized Code en COBOL, JCL, Easytrieve y HLASM.
Genera un resumen de especificaciones
El comando Cloud Code: Generate Specification Summary for Active File te permite crear una especificación de lenguaje neutral para tu código heredado de unidad central. Se admiten COBOL, JCL, Easytrieve y HLASM.
Puedes acceder a un resumen de especificaciones desde la paleta de comandos o desde la vista Explorador:
Paleta de comandos
En el editor, selecciona el archivo fuente que deseas usar para convertirlo en el archivo activo.
Para abrir la paleta de comandos, presiona Ctrl/Cmd+Mayús+P.
Busca y selecciona el comando Cloud Code: Generate Specification Summary for Active File.
Aparecerá un resumen de especificaciones junto al código.
Explorador
En la barra de actividades, haz clic en Explorador o presiona Ctrl/Cmd+Mayús+E.
Haz clic con el botón derecho en el archivo fuente que prefieras y selecciona Generate Specification Summary.
Aparecerá un resumen de especificaciones junto al código.
Anota el código heredado de la unidad central
Para guiar el proceso de generación del resumen de especificaciones, puedes anotar tu código heredado agregando comentarios. Para anotar un trabajo de JCL o un programa de COBOL, busca el botón Add junto a la línea de definición del trabajo o programa:
Trabajo de JCL

Programa de COBOL

Para abrir una vista de CMS intercalada que te permita anotar tu trabajo o programa, haz clic en add Add. Después de agregar tu comentario, haz clic en Create Note para guardarlo.
Cuando se guarde la anotación, usa el comando Generate Specification Summary para generar una especificación para tu trabajo o programa, guiada por tu comentario.
Luego, puedes editar tu anotación para refinar la guía proporcionada o borrarla si ya no quieres que el modelo la tenga en cuenta.
Genera código modernizado
El comando Cloud Code: Generate Modernized Code for Active File te permite crear código moderno a partir de tu código heredado de unidad central.
Lenguajes fuente compatibles: COBOL, JCL, Easytrieve y HLASM.
Lenguajes de destino compatibles: Java, C#, Python y SQL.
Puedes acceder a este comando desde la paleta de comandos o desde la vista Explorador:
Paleta de comandos
En el editor, selecciona el archivo fuente que deseas usar para convertirlo en el archivo activo.
Para abrir la paleta de comandos, presiona Ctrl/Cmd+Mayús+P.
Busca y selecciona el comando Cloud Code: Generate Modernized Code for Active File.
Selecciona el lenguaje de destino en el que deseas generar el código modernizado.
El código modernizado generado aparece en el editor como un archivo nuevo sin título.
Explorador
En la barra de actividades, haz clic en Explorador o presiona Ctrl/Cmd+Mayús+E.
Haz clic con el botón derecho en el archivo fuente para el que deseas generar código modernizado y selecciona Generate Modernized Code.
Selecciona el lenguaje de destino en el que deseas generar el código modernizado.
El código modernizado generado aparece en el editor como un archivo nuevo sin título.
Modificar la configuración
La reescritura de código de Mainframe Modernization tiene los siguientes parámetros de configuración que puedes configurar en el alcance del espacio de trabajo o en el alcance de la configuración de usuario (global).
Para modificar la configuración a nivel del espacio de trabajo, presiona Ctrl/Cmd+Mayús+P para abrir la paleta de comandos y selecciona el comando Preferences: Open Workspace Settings (JSON).
Para modificar la configuración a nivel de la configuración de usuario global, presiona Ctrl/Cmd+Mayús+P para abrir la paleta de comandos y selecciona el comando Preferences: Open User Settings (JSON).
A continuación, se muestra un ejemplo de un archivo settings.json que incluye todas las propiedades de configuración de la extensión:
{
"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."
],
}
Habilita y inhabilita Google Analytics
Esta propiedad de configuración habilita o inhabilita la recopilación de estadísticas de uso para la extensión.
Nombre de la propiedad de configuración:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics.Valor de configuración de ejemplo:
false.Valor predeterminado:
true(Analytics está habilitado).
Habilita y inhabilita Cloud Logging
Esta propiedad de configuración controla si Logging está habilitado o no.
Nombre de la propiedad de configuración:
cloudcode.beta.mainframeModernization.enableCloudLogging.Valor de configuración de ejemplo:
true.Valor predeterminado:
false(Cloud Logging está inhabilitado).
Modelo
Cuando se establece esta propiedad de configuración, la reescritura de código de Mainframe Modernization usa el modelo de Gemini especificado en la configuración.
Nombre de la propiedad de configuración:
cloudcode.beta.mainframeModernization.modelValores de configuración de ejemplo:
"gemini-1.5-flash","gemini-1.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite", o"gemini-2.5-pro".Valor predeterminado:
"(default)"(Preguntar cada vez).
Idioma de destino
Cuando se establece esta propiedad de configuración, el comando Generate Modernized Code ya no te pide que selecciones el lenguaje de destino cuando generas código y, en su lugar, usa el lenguaje establecido en la propiedad.
Nombre de la propiedad de configuración:
cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguageValores de configuración de ejemplo:
"java","csharp","python"o"pgsql".Valor predeterminado:
null(Preguntar cada vez).
Sugerencias de pila tecnológica para la generación de código
Cuando se establece esta propiedad de configuración, el comando Generate Modernized Code pasa la lista especificada de sugerencias de pila tecnológica como instrucciones adicionales al LLM cuando genera código. Esta configuración se puede usar como guía para ajustar la arquitectura de destino, los frameworks y el estilo de código.
Nombre de la propiedad de configuración:
cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHintsValor de configuración de ejemplo:
[ "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" ]Valor predeterminado:
[](Una lista vacía; sin sugerencias de pila tecnológica).
Borra los datos de la reescritura de código de Mainframe Modernization
Para quitar todos los datos almacenados de forma local por la reescritura de código de Mainframe Modernization para el espacio de trabajo actual, sigue estos pasos:
Para abrir la terminal, selecciona Ver > Terminal en la barra de menú o presiona el atajo de teclado
⌃.Ingresa los siguientes comandos en la terminal:
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"
Solucionar problemas
En esta sección, se describen los problemas conocidos de la reescritura de código de Mainframe Modernization y se proporcionan pasos para solucionar problemas:
Vertex AI no está disponible en el Google Cloud proyecto
Si los comandos Generate Specification Summary o Generate Modernized Code se ejecutan durante mucho tiempo y, luego, fallan, es posible que la API de Vertex AI no esté habilitada o que haya excedido su cuota en el proyecto seleccionado. Para confirmar que este es el problema, haz clic en el botón Go to output.
Si el botón Go to output no está disponible, sigue los pasos que se indican en Inspecciona el canal de salida. En el canal de salida, busca un mensaje de error que contenga "Vertex.GenerateContent failed". Por ejemplo, este es un mensaje de error causado por que la API de Vertex AI no está habilitada en el Google Cloud proyecto seleccionado:
"generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent
failed: 403 Forbidden (403)"
Para resolver este problema, haz lo siguiente:
Confirma que la API de Vertex AI esté habilitada en el Google Cloud proyecto.
Cambia a otro Google Cloud proyecto con la API de Vertex AI habilitada.
Los comandos de la reescritura de código de Mainframe Modernization no están disponibles
Si los comandos como Generate Specification Summary o Generate Modernized Code no están disponibles en la paleta de comandos, esto podría indicar que no se pudo instalar la herramienta de CLI de Mainframe Modernization. Para confirmar que este es el caso, verifica si falta el siguiente archivo ejecutable:
- En Linux:
~/.cache/cloud-code/mainframe/bin/codegen - En Windows:
%LOCALAPPDATA%\cloud-code\mainframe\bin\codegen.exe - En macOS:
$HOME/Library/Application Support/cloud-code/mainframe/bin/codegen_macos
Si este es el caso, intenta resolver el problema realizando las siguientes tareas:
- Abre la paleta de comandos con Ctrl/Cmd+Mayús+P.
- Selecciona el comando Cloud Code: Install or Update Mainframe Modernization Tools.
- Verifica que ya no falte el archivo ejecutable.
- Vuelve a abrir la paleta de comandos con Ctrl/Cmd+Mayús+P.
- Selecciona el comando Developer: Reload Window.
Inspecciona el canal de salida
Para solucionar otros errores que no se mencionan en esta guía, intenta inspeccionar el canal de salida de la extensión. Para abrir el canal de salida, realiza las siguientes tareas:
- Abre la paleta de comandos con Ctrl/Cmd+Mayús+P.
- Selecciona el comando Output: Show Output Channels.
- Selecciona el canal de salida Cloud Code Mainframe Modernization.