이 가이드에서는 VS Code용 Cloud Code 확장 프로그램을 사용하여 기존 메인프레임 애플리케이션을 현대화하는 방법을 알아봅니다.
메인프레임 현대화 코드 재작성을 사용하면 고객과 파트너가 코드 재작성에 반복적인 접근 방식을 사용할 수 있습니다. 일반적으로 Mainframe Assessment Tool (MAT)로 평가를 완료한 후에 사용됩니다. 이 확장 프로그램은 코드 분석, 사양, 코드 생성, 테스트 생성을 위한 메인프레임 GenAI 기능을 통합하여 대화형 개발 환경을 제공합니다.
시작하기 전에
- 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 Google Cloud, 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
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.- 아직 설치하지 않은 경우 Cloud Code 확장 프로그램을 설치합니다.
- 아직 설치하지 않은 경우 Google Cloud CLI를 설치합니다.
메인프레임 현대화 코드 재작성 설정
다음 섹션에서는 메인프레임 현대화 코드 재작성을 설정하는 방법을 설명합니다. 먼저 IDE에서 메인프레임 현대화 코드 재작성을 사용 설정한 후 Vertex AI에 연결해야 합니다.
메인프레임 현대화 코드 재작성 사용 설정
메인프레임 현대화 코드 재작성을 사용 설정하려면 다음 단계를 따르세요.
Ctrl/Cmd+Shift+P를 사용하여 명령어 팔레트를 엽니다.
기본 설정: 사용자 설정 열기 (JSON) 명령어를 선택합니다.
메인프레임 현대화 코드 재작성을 사용 설정하려면
"cloudcode.beta.enableMainframeModernization": true설정을settings.json파일에 추가합니다.{ "cloudcode.updateChannel": "Insiders", "cloudcode.beta.enableMainframeModernization": true }명령어 팔레트를 다시 열고 (Ctrl/Cmd+Shift+P 누름) **개발자: 창 새로고개** 명령어를 선택합니다.
메인프레임 현대화 코드 재작성을 Vertex AI에 연결
메인프레임 현대화 코드 재작성을 Vertex AI에 연결하려면 다음 단계를 따르세요.
터미널 창에서 다음 명령어를 실행합니다.
gcloud auth application-default login새로 열린 웹브라우저 창에서 화면에 표시된 안내를 따릅니다.
안내 메시지에 따라에 로그인합니다 Google Cloud.
사용할 프로젝트를 선택합니다.
개발자: 창 새로고침 명령어를 실행합니다.
설정 후에는 메인프레임 코드가 포함된 작업공간 또는 폴더를 열고 COBOL, JCL, Easytrieve, HLASM에서 사양 요약 생성 및 현대화된 코드 생성 명령어를 실행할 수 있습니다.
사양 요약 생성
Cloud Code: 활성 파일의 사양 요약 생성 명령어를 사용하면 기존 메인프레임 코드의 중립 언어 사양을 만들 수 있습니다. COBOL, JCL, Easytrieve, HLASM이 지원됩니다.
명령어 팔레트 또는 탐색기 뷰에서 사양 요약에 액세스할 수 있습니다.
명령어 팔레트
편집기에서 사용할 소스 파일을 선택하여 활성 파일로 만듭니다.
Ctrl/Cmd+Shift+P를 눌러 명령어 팔레트를 엽니다.
Cloud Code: 활성 파일의 사양 요약 생성 명령어를 검색하여 선택합니다.
사양 요약이 코드 옆에 표시됩니다.
탐색기
활동 표시줄에서 탐색기를 클릭하거나 Ctrl/Cmd+Shift+E를 누릅니다.
원하는 소스 파일을 마우스 오른쪽 버튼으로 클릭하고 사양 요약 생성 을 선택합니다.
사양 요약이 코드 옆에 표시됩니다.
메인프레임 기존 코드에 주석 달기
사양 요약 생성 프로세스를 안내하려면 주석을 추가하여 기존 코드에 주석을 달면 됩니다. JCL 작업 또는 COBOL 프로그램에 주석을 달려면 작업/프로그램 정의 줄 옆에 있는 추가 추가 버튼을 찾습니다.
JCL 작업

COBOL 프로그램

작업/프로그램에 주석을 달 수 있는 인라인 CMS 뷰를 열려면 추가 추가를 클릭합니다. 주석을 추가한 후 메모 만들기 를 클릭하여 저장합니다.
주석이 저장되면 사양 요약 생성 명령어를 사용하여 주석을 기반으로 작업/프로그램의 사양을 생성합니다.
그런 다음 주석을 수정하여 제공된 안내를 구체화하거나 모델에서 더 이상 고려하지 않도록 하려면 주석을 삭제하면 됩니다.
현대화된 코드 생성
Cloud Code: 활성 파일의 현대화된 코드 생성 명령어를 사용하면 메인프레임 기존 코드에서 최신 코드를 만들 수 있습니다.
지원되는 소스 언어: COBOL, JCL, Easytrieve, HLASM.
지원되는 대상 언어: Java, C#, Python, SQL.
명령어 팔레트 또는 탐색기 뷰에서 이 명령어에 액세스할 수 있습니다.
명령어 팔레트
편집기에서 사용할 소스 파일을 선택하여 활성 파일로 만듭니다.
Ctrl/Cmd+Shift+P를 눌러 명령어 팔레트를 엽니다.
Cloud Code: 활성 파일의 현대화된 코드 생성 명령어를 검색하여 선택합니다.
현대화된 코드를 생성할 대상 언어를 선택합니다.
생성된 현대화된 코드가 편집기에 새 제목 없는 파일로 표시됩니다.
탐색기
활동 표시줄에서 탐색기를 클릭하거나 Ctrl/Cmd+Shift+E를 누릅니다.
현대화된 코드를 생성할 소스 파일을 마우스 오른쪽 버튼으로 클릭하고 현대화된 코드 생성 을 선택합니다.
현대화된 코드를 생성할 대상 언어를 선택합니다.
생성된 현대화된 코드가 편집기에 새 제목 없는 파일로 표시됩니다.
설정 수정
메인프레임 현대화 코드 재작성에는 작업공간 범위 또는 (전역) 사용자 설정 범위에서 구성할 수 있는 다음과 같은 설정이 있습니다.
작업공간 수준에서 설정을 수정하려면 Ctrl/Cmd+Shift+P를 눌러 명령어 팔레트를 열고 기본 설정: 작업공간 설정 열기 (JSON) 명령어를 선택합니다.
전역 사용자 설정 수준에서 설정을 수정하려면 Ctrl/Cmd+Shift+P를 눌러 명령어 팔레트를 열고 기본 설정: 사용자 설정 열기 (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 애널리틱스 사용 설정 및 중지
이 구성 속성은 확장 프로그램의 사용 분석 수집을 사용 설정하거나 중지합니다.
구성 속성 이름:
cloudcode.beta.mainframeModernization.enableGoogleAnalytics.구성 값 예시:
false.기본값:
true(애널리틱스가 사용 설정됨).
Cloud Logging 사용 설정 및 중지
이 구성 속성은 로깅이 사용 설정되어 있는지 여부를 제어합니다.
구성 속성 이름:
cloudcode.beta.mainframeModernization.enableCloudLogging.구성 값 예시:
true.기본값:
false(Cloud Logging이 사용 중지됨).
모델
이 구성 속성이 설정되면 메인프레임 현대화 코드 재작성에서 구성에 지정된 Gemini 모델을 사용합니다.
구성 속성 이름:
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(매번 묻기).
코드 생성 기술 스택 힌트
이 구성 속성이 설정되면 현대화된 코드 생성 명령어는 코드를 생성할 때 지정된 기술 스택 힌트 목록을 LLM에 추가 안내로 전달합니다. 이 구성은 대상 아키텍처, 프레임워크, 코드 스타일 조정을 위한 안내로 사용할 수 있습니다.
구성 속성 이름:
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" ]기본값:
[](빈 목록, 기술 스택 힌트 없음).
메인프레임 현대화 코드 재작성 데이터 삭제
메인프레임 현대화 코드 재작성에서 현재 작업공간을 위해 로컬에 저장한 모든 데이터를 삭제하려면 다음 단계를 따르세요.
메뉴 바에서 보기 > 터미널을 선택하거나
⌃키보드 단축키를 눌러 터미널을 엽니다.터미널에 다음 명령어를 입력합니다.
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"
문제 해결
이 섹션에서는 메인프레임 현대화 코드 재작성의 알려진 문제를 간략하게 설명하고 문제 해결 단계를 제공합니다.
프로젝트에서 Vertex AI를 사용할 수 없음 Google Cloud
사양 요약 생성 또는 현대화된 코드 생성 명령어가 오랫동안 실행된 후 실패하면 Vertex AI API가 사용 설정되지 않았거나 선택한 프로젝트에서 할당량을 초과했을 수 있습니다. 이 문제가 맞는지 확인하려면 출력으로 이동 버튼을 클릭합니다.
출력으로 이동 단추를 사용할 수 없는 경우 출력 채널 검사의 단계를 따르세요. 출력 채널에서 'Vertex.GenerateContent failed'가 포함된 오류 메시지를 찾습니다. 예를 들어 다음은 선택한 Google Cloud 프로젝트에서 Vertex AI API가 사용 설정되지 않아 발생한 오류 메시지입니다.
"generic::unknown: retry budget exhausted (30 attempts): Vertex.GenerateContent
failed: 403 Forbidden (403)"
이 문제를 해결하려면 다음 중 하나를 수행합니다.
프로젝트에서 Vertex AI API가 사용 설정되어 있는지 확인합니다. Google Cloud
Vertex AI API가 사용 설정된 다른 Google Cloud 프로젝트로 전환합니다.
메인프레임 현대화 코드 재작성 명령어를 사용할 수 없음
명령어 팔레트에서 사양 요약 생성 또는 현대화된 코드 생성 과 같은 명령어를 사용할 수 없는 경우 메인프레임 현대화 CLI 도구가 설치되지 않았을 수 있습니다. 이 경우 다음 실행 파일이 누락되었는지 확인합니다.
- 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: 메인프레임 현대화 도구 설치 또는 업데이트 명령어를 선택합니다.
- 실행 파일이 더 이상 누락되지 않았는지 확인합니다.
- Ctrl/Cmd+Shift+P를 사용하여 명령어 팔레트를 다시 엽니다.
- 개발자: 창 새로고침 명령어를 선택합니다.
출력 채널 검사
이 가이드의 다른 곳에 나열되지 않은 다른 오류를 해결하려면 확장 프로그램의 출력 채널을 검사해 보세요. 출력 채널을 열려면 다음 작업을 실행합니다.
- Ctrl/Cmd+Shift+P를 사용하여 명령어 팔레트를 엽니다.
- 출력: 출력 채널 표시 명령어를 선택합니다.
- Cloud Code 메인프레임 현대화 출력 채널을 선택합니다.