このガイドでは、Cloud Code for VS Code 拡張機能を使用して、レガシー メインフレーム アプリケーションをモダナイズする方法について説明します。
Mainframe Modernization Code Rewrite を使用すると、お客様とパートナー様はコードの書き換えに反復的なアプローチを採用できます。通常は、Mainframe Assessment Tool(MAT)を使用して評価を完了した後に使用します。この拡張機能は、コード分析、仕様、コード生成、テスト生成のための Mainframe GenAI 機能を統合し、インタラクティブな開発エクスペリエンスを提供します。
始める前に
- 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.
- Cloud Code 拡張機能をインストールします(まだインストールしていない場合)。
- Google Cloud CLI をインストールします(まだインストールしていない場合)。
Ctrl/Cmd+Shift+P を押してコマンド パレットを開きます。
[設定: ユーザー設定を開く(JSON)] コマンドを選択します。
メインフレームのモダナイゼーション コードの書き換えを有効にするには、
settings.json
ファイルに"cloudcode.beta.enableMainframeModernization": true
設定を追加します。{ "cloudcode.updateChannel": "Insiders", "cloudcode.beta.enableMainframeModernization": true }
コマンド パレットを再度開き(Ctrl/Cmd+Shift+P キーを押します)、[デベロッパー: ウィンドウの再読み込み] コマンドを選択します。
ターミナル ウィンドウで次のコマンドを実行します。
gcloud auth application-default login
新しく開いたウェブブラウザ ウィンドウに表示される手順に沿って操作します。
画面の指示に沿って Google Cloudにログインします。
使用するプロジェクトを選択します。
[デベロッパー: ウィンドウの再読み込み] コマンドを実行します。
エディタで、使用するソースファイルを選択してアクティブ ファイルにします。
コマンド パレットを開くには、Ctrl/Cmd+Shift+P を押します。
[Cloud Code: Generate Specification Summary for Active File] コマンドを検索して選択します。
アクティビティ バーで、[エクスプローラ] をクリックするか、Ctrl/Cmd+Shift+E キーを押します。
目的のソースファイルを右クリックして、[Generate Specification Summary] を選択します。
ジョブやプログラムに注釈を付けることができるインライン CMS ビューを開くには、[追加] [追加] をクリックします。コメントを追加したら、[メモを作成] をクリックして保存します。
アノテーションを保存したら、仕様の概要を生成コマンドを使用して、コメントに基づいてジョブ/プログラムの仕様を生成します。
その後、アノテーションを編集して、提供されたガイダンスを調整したり、モデルで考慮する必要がなくなった場合は削除したりできます。
エディタで、使用するソースファイルを選択してアクティブ ファイルにします。
Ctrl/Cmd+Shift+P キーを押してコマンド パレットを開きます。
[Cloud Code: Generate Modernized Code for Active File] コマンドを検索して選択します。
最新のコードを生成するターゲット言語を選択します。
生成された最新のコードが、新しい無題のファイルとしてエディタに表示されます。
アクティビティ バーで、[エクスプローラ] をクリックするか、Ctrl/Cmd+Shift+E キーを押します。
最新のコードを生成するソースファイルを右クリックし、[最新のコードを生成] を選択します。
最新のコードを生成するターゲット言語を選択します。
生成された最新のコードが、新しい無題のファイルとしてエディタに表示されます。
構成プロパティ名:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics
。構成値の例:
false
。デフォルト値:
true
(分析が有効になっています)。構成プロパティ名:
cloudcode.beta.mainframeModernization.enableCloudLogging
。構成値の例:
true
。デフォルト値:
false
(Cloud Logging は無効)。構成プロパティ名:
cloudcode.beta.mainframeModernization.model
構成値の例:
"gemini-1.5-flash"
、"gemini-1.5-pro"
、"gemini-2.0-flash"
、"gemini-2.0-flash-lite"
、"gemini-2.5-pro"
。デフォルト値:
"(default)"
(毎回確認)。構成プロパティ名:
cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguage
構成値の例:
"java"
、"csharp"
、"python"
、"pgsql"
。デフォルト値:
null
(毎回確認)。構成プロパティ名:
cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHints
構成値の例:
[ "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" ]
デフォルト値:
[]
(空のリスト。技術スタックのヒントはありません)。メニューバーから [View] > [Terminal] を選択するか、
⌃
キーボード ショートカットを押して、ターミナルを開きます。ターミナルに次のコマンドを入力します。
Google Cloudプロジェクトで Vertex AI API が有効になっていることを確認します。
Vertex AI API が有効になっている別の Google Cloud プロジェクトに切り替えます。
- Linux の場合:
~/.cache/cloud-code/mainframe/bin/codegen
- Windows の場合:
%LOCALAPPDATA%\cloud-code\mainframe\bin\codegen.exe
- macOS:
$HOME/Library/Application Support/cloud-code/mainframe/bin/codegen_macos
- Ctrl/Cmd+Shift+P を押してコマンド パレットを開きます。
- [Cloud Code: Install or Update Mainframe Modernization Tools] コマンドを選択します。
- 実行可能ファイルが欠落していないことを確認します。
- Ctrl/Cmd+Shift+P を押して、コマンド パレットを再度開きます。
- [デベロッパー: ウィンドウの再読み込み] コマンドを選択します。
- Ctrl/Cmd+Shift+P を押してコマンド パレットを開きます。
- [出力: 出力チャンネルを表示] コマンドを選択します。
- [Cloud Code Mainframe Modernization] 出力チャンネルを選択します。
メインフレームのモダナイゼーション コードの書き換えを設定する
以降のセクションでは、Mainframe Modernization Code Rewrite の設定方法について説明します。まず、IDE で Mainframe Modernization Code Rewrite を有効にしてから、Vertex AI に接続する必要があります。
メインフレーム モダナイゼーション コードの書き換えを有効にする
Mainframe Modernization Code Rewrite を有効にする手順は次のとおりです。
メインフレーム モダナイゼーション コードの書き換えを Vertex AI に接続する
Mainframe Modernization Code Rewrite を Vertex AI に接続する手順は次のとおりです。
設定が完了すると、メインフレーム コードを含むワークスペースまたはフォルダを開き、COBOL、JCL、Easytrieve、HLASM で Generate Specification Summary コマンドと Generate Modernized Code コマンドを実行できます。
仕様の概要を生成する
Cloud Code: Generate Specification Summary for Active File コマンドを使用すると、レガシー メインフレーム コードの中立言語仕様を作成できます。COBOL、JCL、Easytrieve、HLASM がサポートされています。
仕様の概要には、コマンド パレットまたはエクスプローラ ビューからアクセスできます。
コマンド パレット
コードの横に仕様の概要が表示されます。
エクスプローラ
コードの横に仕様の概要が表示されます。
メインフレームのレガシーコードにアノテーションを付ける
仕様の概要の生成プロセスをガイドするには、コメントを追加してレガシーコードにアノテーションを付けます。JCL ジョブまたは COBOL プログラムにアノテーションを付けるには、ジョブ/プログラム定義行の横にある 追加 追加ボタンを探します。
JCL ジョブ
COBOL プログラム
最新のコードを生成する
Cloud Code: Generate Modernized Code for Active File コマンドを使用すると、メインフレームのレガシー コードから最新のコードを作成できます。
サポートされているソース言語: COBOL、JCL、Easytrieve、HLASM。
サポートされているターゲット言語: Java、C#、Python、SQL。
このコマンドには、コマンド パレットまたはエクスプローラ ビューからアクセスできます。
コマンド パレット
エクスプローラ
設定の変更
Mainframe Modernization Code Rewrite には、ワークスペース スコープまたは(グローバル)ユーザー設定スコープで構成できる次の設定があります。
ワークスペース レベルで設定を変更するには、Ctrl/Cmd + Shift + P キーを押してコマンド パレットを開き、[Preferences: Open Workspace Settings (JSON)] コマンドを選択します。
グローバル ユーザー設定レベルで設定を変更するには、Ctrl/Cmd+Shift+P を押してコマンド パレットを開き、[Preferences: Open User Settings (JSON)] コマンドを選択します。
次に、拡張機能の構成プロパティをすべて含む settings.json
ファイルの例を示します。
{
"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 アナリティクスを有効または無効にする
この構成プロパティでは、拡張機能の使用状況分析の収集を有効または無効にします。
Cloud Logging を有効または無効にする
この構成プロパティは、ロギングを有効にするかどうかを制御します。
モデル
この構成プロパティが設定されている場合、Mainframe Modernization Code Rewrite は構成で指定された Gemini モデルを使用します。
翻訳する言語
この構成プロパティを設定すると、コードの最新化を生成コマンドでコードを生成するときに、ターゲット言語を選択するよう求められなくなり、代わりにプロパティで設定された言語が使用されます。
コード生成の技術スタックのヒント
この構成プロパティが設定されている場合、コードの最新化を生成コマンドは、コードの生成時に、指定された技術スタックのヒントのリストを追加の指示として LLM に渡します。この構成は、ターゲット アーキテクチャ、フレームワーク、コード スタイルの調整のガイダンスとして使用できます。
メインフレーム モダナイゼーション コードの書き換えデータを削除する
現在のワークスペースの Mainframe Modernization Code Rewrite によってローカルに保存されたすべてのデータを削除するには、次の操作を行います。
Linux(Bash または 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"
トラブルシューティング
このセクションでは、Mainframe Modernization Code Rewrite の既知の問題とトラブルシューティングの手順について説明します。
Google Cloud プロジェクトで Vertex AI を使用できない
仕様の概要を生成コマンドまたは最新のコードを生成コマンドの実行に時間がかかり、失敗した場合は、Vertex AI API が有効になっていないか、選択したプロジェクトで割り当てを超えている可能性があります。これが問題であることを確認するには、[出力に移動] ボタンをクリックします。
[出力に移動] ボタンが使用できない場合は、出力チャンネルを検査するの手順に沿って操作します。出力チャネルで、「Vertex.GenerateContent failed」を含むエラー メッセージを探します。たとえば、選択した Google Cloud プロジェクトで Vertex AI API が有効になっていない場合、次のようなエラー メッセージが表示されます。
"generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent
failed: 403 Forbidden (403)"
この問題を解決するには、次のいずれかを行います。
メインフレームのモダナイゼーション コードの書き換えコマンドが使用できない
仕様の概要を生成や最新のコードを生成などのコマンドがコマンド パレットで使用できない場合は、Mainframe Modernization CLI ツールのインストールが失敗した可能性があります。これを確認するには、次の実行可能ファイルがないかどうかを確認します。
この場合は、次のタスクを実行して問題を解決してください。
出力チャネルを検査する
このガイドの他の場所に記載されていないエラーのトラブルシューティングを行うには、拡張機能の出力チャネルを調べてみてください。出力チャンネルを開くには、次のタスクを行います。