Dalam panduan ini, Anda akan mempelajari cara menggunakan ekstensi Cloud Code untuk VS Code guna memodernisasi aplikasi mainframe lama Anda.
Penulisan Ulang Kode Modernisasi Mainframe memungkinkan pendekatan iteratif untuk penulisan ulang kode bagi pelanggan dan partner. Biasanya digunakan setelah menyelesaikan penilaian dengan Mainframe Assessment Tool (MAT). Ekstensi ini mengintegrasikan kemampuan GenAI Mainframe untuk analisis kode, spesifikasi, pembuatan kode, dan pembuatan pengujian, sehingga memberikan pengalaman pengembangan yang interaktif.
Sebelum memulai
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Vertex AI API.
- Instal ekstensi Cloud Codejika Anda belum melakukannya.
- Instal Google Cloud CLI jika Anda belum melakukannya.
Buka Palet Perintah dengan Ctrl/Cmd+Shift+P.
Pilih perintah Preferences: Open User Settings (JSON).
Untuk mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe, tambahkan setelan
"cloudcode.beta.enableMainframeModernization": true
ke filesettings.json
Anda:{ "cloudcode.updateChannel": "Insiders", "cloudcode.beta.enableMainframeModernization": true }
Buka Palet Perintah lagi (tekan Ctrl/Cmd+Shift+P) dan pilih perintah Developer: Reload Window.
Di jendela terminal, jalankan perintah berikut:
gcloud auth application-default login
Ikuti petunjuk di layar pada jendela browser web yang baru dibuka.
Ikuti petunjuk untuk login ke Trusted Cloud by S3NS.
Pilih project yang ingin Anda gunakan.
Jalankan perintah Developer: Reload Window.
Di editor, pilih file sumber yang ingin Anda gunakan untuk menjadikannya file aktif.
Untuk membuka Palet Perintah, tekan Ctrl/Cmd+Shift+P.
Telusuri dan pilih perintah Cloud Code: Generate Specification Summary for Active File.
Di panel aktivitas, klik Explorer atau tekan Ctrl/Cmd+Shift+E.
Klik kanan file sumber pilihan Anda, lalu pilih Generate Specification Summary.
Untuk membuka tampilan CMS inline yang memungkinkan Anda memberi anotasi pada tugas/program, klik tambahkan Tambahkan. Setelah menambahkan komentar, klik Buat Catatan untuk menyimpannya.
Saat anotasi disimpan, gunakan perintah Generate Specification Summary untuk membuat spesifikasi bagi tugas/program Anda, yang dipandu oleh komentar Anda.
Kemudian, Anda dapat mengedit anotasi untuk menyempurnakan panduan yang diberikan atau menghapusnya jika Anda tidak ingin lagi model mempertimbangkannya.
Di editor, pilih file sumber yang ingin Anda gunakan untuk menjadikannya file aktif.
Buka Palet Perintah dengan menekan Ctrl/Cmd+Shift+P.
Telusuri dan pilih perintah Cloud Code: Generate Modernized Code for Active File.
Pilih bahasa target yang Anda inginkan untuk kode yang dimodernisasi.
Kode modern yang dihasilkan akan muncul di editor sebagai file baru tanpa judul.
Di panel aktivitas, klik Explorer atau tekan Ctrl/Cmd+Shift+E.
Klik kanan file sumber yang ingin Anda buat kode modernnya lalu pilih Generate Modernized Code.
Pilih bahasa target yang Anda inginkan untuk kode yang dimodernisasi.
Kode modern yang dihasilkan akan muncul di editor sebagai file baru tanpa judul.
Nama properti konfigurasi:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics
.Contoh nilai konfigurasi:
false
.Nilai default:
true
(Analytics diaktifkan).Nama properti konfigurasi:
cloudcode.beta.mainframeModernization.enableCloudLogging
.Contoh nilai konfigurasi:
true
.Nilai default:
false
(Cloud Logging dinonaktifkan).Nama properti konfigurasi:
cloudcode.beta.mainframeModernization.model
Contoh nilai konfigurasi:
"gemini-1.5-flash"
,"gemini-1.5-pro"
,"gemini-2.0-flash"
,"gemini-2.0-flash-lite"
, atau"gemini-2.5-pro"
.Nilai default:
"(default)"
(Tanya setiap kali).Nama properti konfigurasi:
cloudcode.beta.mainframeModernization.codeGenerationSettings.targetLanguage
Contoh nilai konfigurasi:
"java"
,"csharp"
,"python"
, atau"pgsql"
.Nilai default:
null
(Tanya setiap kali).Nama properti konfigurasi:
cloudcode.beta.mainframeModernization.codeGenerationSettings.techStackHints
Contoh nilai konfigurasi:
[ "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" ]
Nilai default:
[]
(Daftar kosong; tidak ada petunjuk stack teknologi).Buka terminal dengan memilih View > Terminal dari panel menu, atau dengan menekan pintasan keyboard
⌃
.Masukkan perintah berikut ke terminal:
Pastikan Vertex AI API Anda diaktifkan di Trusted Cloud project.
Beralih ke project Trusted Cloud lain dengan Vertex AI API yang diaktifkan.
- Di Linux:
~/.cache/cloud-code/mainframe/bin/codegen
- Di Windows:
%LOCALAPPDATA%\cloud-code\mainframe\bin\codegen.exe
- Di macOS:
$HOME/Library/Application Support/cloud-code/mainframe/bin/codegen_macos
- Buka Palet Perintah dengan Ctrl/Cmd+Shift+P.
- Pilih perintah Cloud Code: Install or Update Mainframe Modernization Tools.
- Pastikan file yang dapat dieksekusi tidak lagi hilang.
- Buka kembali Palet Perintah dengan Ctrl/Cmd+Shift+P.
- Pilih perintah Developer: Reload Window.
- Buka Palet Perintah dengan Ctrl/Cmd+Shift+P.
- Pilih perintah Output: Show Output Channels.
- Pilih saluran output Cloud Code Mainframe Modernization.
Menyiapkan Mainframe Modernization Code Rewrite
Bagian berikut menjelaskan cara menyiapkan Penulisan Ulang Kode Modernisasi Mainframe. Pertama, Anda harus mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe di IDE, lalu menghubungkannya ke Vertex AI.
Mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe
Untuk mengaktifkan Penulisan Ulang Kode Modernisasi Mainframe, ikuti langkah-langkah berikut:
Menghubungkan Penulisan Ulang Kode Mainframe Modernization ke Vertex AI
Untuk menghubungkan Penulisan Ulang Kode Mainframe Modernization ke Vertex AI, ikuti langkah-langkah berikut:
Setelah penyiapan, Anda dapat membuka ruang kerja atau folder apa pun yang menyertakan kode mainframe, dan menjalankan perintah Generate Specification Summary dan Generate Modernized Code di COBOL, JCL, Easytrieve, dan HLASM.
Buat ringkasan spesifikasi
Perintah Cloud Code: Generate Specification Summary for Active File memungkinkan Anda membuat spesifikasi bahasa netral untuk kode mainframe lama Anda. COBOL, JCL, Easytrieve, dan HLASM didukung.
Anda dapat mengakses ringkasan spesifikasi dari Palet Perintah atau dari tampilan Explorer:
Palet Perintah
Ringkasan spesifikasi muncul di samping kode.
Penjelajah
Ringkasan spesifikasi muncul di samping kode.
Menganotasi kode lama mainframe
Untuk memandu proses pembuatan ringkasan spesifikasi, Anda dapat memberi anotasi pada kode lama dengan menambahkan komentar. Untuk memberi anotasi pada tugas JCL atau program COBOL, cari tombol add Tambahkan di samping baris definisi tugas/program:
JCL Job
Program COBOL
Membuat kode yang dimodernisasi
Perintah Cloud Code: Generate Modernized Code for Active File memungkinkan Anda membuat kode modern dari kode lama mainframe Anda.
Bahasa sumber yang didukung: COBOL, JCL, Easytrieve, dan HLASM.
Bahasa target yang didukung: Java, C#, Python, SQL.
Anda dapat mengakses perintah ini dari Palet Perintah, atau dari tampilan Explorer:
Palet Perintah
Penjelajah
Mengubah setelan
Penulisan Ulang Kode Modernisasi Mainframe memiliki setelan berikut yang dapat Anda konfigurasi di cakupan ruang kerja, atau di cakupan setelan pengguna (global).
Untuk mengubah setelan di tingkat ruang kerja, tekan Ctrl/Cmd+Shift+P untuk membuka Palet Perintah dan pilih perintah Preferences: Open Workspace Settings (JSON).
Untuk mengubah setelan di tingkat setelan pengguna global, tekan Ctrl/Cmd+Shift+P untuk membuka Palet Perintah dan pilih perintah Preferences: Open User Settings (JSON).
Berikut contoh file settings.json
yang menyertakan semua properti konfigurasi ekstensi:
{
"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."
],
}
Mengaktifkan dan menonaktifkan Google Analytics
Properti konfigurasi ini mengaktifkan atau menonaktifkan pengumpulan analisis penggunaan untuk ekstensi.
Mengaktifkan dan menonaktifkan Cloud Logging
Properti konfigurasi ini mengontrol apakah Logging diaktifkan atau tidak.
Model
Jika properti konfigurasi ini disetel, Mainframe Modernization Code Rewrite akan menggunakan model Gemini yang ditentukan dalam konfigurasi.
Bahasa target
Jika properti konfigurasi ini disetel, perintah Generate Modernized Code tidak lagi meminta Anda memilih bahasa target saat membuat kode, dan menggunakan bahasa yang ditetapkan dalam properti tersebut.
Petunjuk tech stack pembuatan kode
Jika ditetapkan, properti konfigurasi ini akan meneruskan perintah Generate Modernized Code yang menentukan daftar petunjuk stack teknologi sebagai instruksi tambahan ke LLM saat membuat kode. Konfigurasi ini dapat digunakan sebagai panduan untuk menyesuaikan arsitektur target, framework, dan gaya kode.
Menghapus Data Penulisan Ulang Kode Modernisasi Mainframe
Untuk menghapus semua data yang disimpan secara lokal oleh Penulisan Ulang Kode Modernisasi Mainframe untuk ruang kerja saat ini, ikuti langkah-langkah berikut:
Linux (Bash atau 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"
Memecahkan masalah
Bagian ini menguraikan masalah umum Penulisan Ulang Kode Modernisasi Mainframe dan memberikan langkah-langkah pemecahan masalah:
Vertex AI tidak tersedia di Trusted Cloud project
Jika perintah Generate Specification Summary atau Generate Modernized Code dieksekusi dalam waktu yang lama, lalu gagal, Vertex AI API mungkin belum diaktifkan, atau telah melampaui kuotanya di project yang dipilih. Untuk mengonfirmasi bahwa ini adalah masalahnya, klik tombol Buka output.
Jika tombol Buka output tidak tersedia, ikuti langkah-langkah di Periksa saluran output. Di saluran output, cari pesan error yang berisi "Vertex.GenerateContent failed". Misalnya, berikut adalah pesan error yang disebabkan oleh Vertex AI API yang tidak diaktifkan di project Trusted Cloud yang dipilih:
"generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent
failed: 403 Forbidden (403)"
Untuk mengatasi masalah ini, lakukan salah satu cara berikut:
Perintah Penulisan Ulang Kode Modernisasi Mainframe tidak tersedia
Jika perintah seperti Generate Specification Summary atau Generate Modernized Code tidak tersedia di Command Palette, hal ini mungkin menunjukkan bahwa alat CLI Mainframe Modernization gagal diinstal. Untuk mengonfirmasi bahwa hal ini memang terjadi, periksa apakah file yang dapat dieksekusi berikut tidak ada:
Jika demikian, coba selesaikan masalah dengan melakukan tugas berikut:
Memeriksa saluran output
Untuk memecahkan masalah error lain yang tidak tercantum di tempat lain dalam panduan ini, coba periksa saluran output ekstensi. Untuk membuka saluran output, lakukan tugas berikut: