Gemini Code Assist를 사용한 코드

이 문서에서는 Google Cloud의 AI 기반 공동작업 도구인 Gemini Code Assist를 사용하여 Cloud Code에서 다음 작업을 수행하는 방법을 설명합니다.

  • 코드 문제를 해결하는 데 도움이 되는 안내를 제공합니다.

  • 프로젝트에서 사용할 코드 생성하기

  • 코딩하는 동안 인라인 추천을 받습니다.

Gemini는 모델 학습에 프롬프트 또는 그에 대한 응답을 데이터로 사용하지 않습니다. 자세한 내용은 Google Cloud용 Gemini에서 데이터를 사용하는 방법을 참조하세요.

코드의 라이선스 요구사항을 준수할 수 있도록 Gemini Code Assist는 권장사항이 특정 소스를 길이 그대로 직접 인용하는 소스 인용을 제공합니다. Gemini에서 소스를 인용하는 방법과 시기에 대한 자세한 내용은 Gemini에서 코드를 생성하고 소스를 인용하는 방법을 참조하세요.

이 문서는 모든 기술 수준의 개발자를 대상으로 합니다. VS Code에 대한 실무 지식이 있고 Google Cloud에 익숙하다고 가정합니다. 원하는 경우 Cloud Workstations, IntelliJ용 Cloud CodeCloud Shell 편집기에서 Gemini Code Assist를 살펴볼 수도 있습니다.

시작하기 전에

  1. 아직 설치하지 않은 경우 Cloud Code 확장 프로그램을 설치합니다. Cloud Code는 IDE에서 Gemini Code Assist와 통합됩니다.
  2. 선택사항: 이 문서의 작업을 위한 샘플을 클론하려면 Git를 설치합니다. 샘플을 머신에 복사하려면 Git이 필요합니다.

Google Cloud에 연결하고 프로젝트 선택

이 섹션에서는 Google Cloud에 연결하고 IDE에서 Cloud AI Companion API가 사용 설정된 Google Cloud 프로젝트를 선택합니다.

Cloud AI Companion API를 사용 설정하지 않은 Google Cloud 프로젝트를 선택하면 오류 알림이 표시되고 관리자에게 문의하라는 안내가 표시됩니다. 자세한 내용은 프로젝트에 대한 Gemini Code Assist 설정을 참조하세요.

IDE에서 Gemini 코드 지원 코드 둘러보기를 직접 수행하려면 VS Code 실행을 클릭하고 둘러보기 단계를 수행하여 Google Cloud에 연결하고 Gemini Code Assist를 활성화합니다.

VS Code 실행

아니라면 다음 단계를 따르세요.

  1. IDE를 시작합니다.

  2. 상태 표시줄에서 Cloud Code - 로그인을 클릭합니다.

    상태 표시줄에 있는 Cloud Code - 로그인 버튼입니다.

  3. Cloud Code에서 외부 웹사이트를 열도록 허용하라는 메시지가 표시되면 열기를 클릭합니다.

  4. 표시되는 메시지에 따라 Google 계정에 로그인합니다.

  5. Google에서 Cloud Code를 다운로드했는지 묻는 메시지가 표시되면 로그인을 클릭합니다.

    이제 Google Cloud에 연결되었습니다.

그 다음 Cloud AI Companion API가 사용 설정된 Google Cloud 프로젝트를 선택하려면 다음 단계를 따르세요.

  1. Gemini Code Assist 상태 표시줄에서 Gemini Code Assist를 클릭합니다.

    Gemini 상태 표시줄을 사용할 수 있습니다.

  2. Gemini Code Assist 메뉴에서 Gemini Code Assist 프로젝트 선택을 선택합니다.

  3. Cloud AI Companion API가 사용 설정된 Google Cloud 프로젝트를 선택합니다.

    Gemini를 사용할 준비가 되었습니다.

    상태 표시줄의 Gemini 아이콘이 정상으로 설정됩니다.

Gemini Code Assist 기능을 테스트하려면 애플리케이션을 열거나 다음 섹션에서 샘플 애플리케이션을 만듭니다.

선택사항: 샘플 애플리케이션 만들기

기존 애플리케이션을 사용하여 Gemini Code Assist 기능을 테스트하려는 경우 이 섹션을 건너뛸 수 있습니다. 그렇지 않은 경우 다음 단계를 수행하여 샘플 애플리케이션을 만듭니다.

  1. IDE에서 명령어 팔레트를 엽니다. Control+Shift+P(Windows 및 Linux의 경우) 또는 Command+Shift+P(macOS의 경우)를 누르고 Cloud Code: 새 애플리케이션을 실행합니다.

  2. Kubernetes 애플리케이션을 선택합니다.

  3. Python(Flask): 방명록 애플리케이션 템플릿을 선택합니다.

  4. 새 애플리케이션을 원하는 위치에 저장합니다.

    애플리케이션이 생성되었음을 알리는 알림이 표시되며 애플리케이션이 로드된 새 창이 열립니다.

Gemini Code Assist와 채팅하기

이 섹션에서는 Gemini Code Assist 창을 열고 Gemini Code Assist와 채팅하여 기존 코드에 대한 설명을 얻는 방법을 알아봅니다.

Gemini와 채팅을 시작하려면 다음 단계를 따르세요.

  1. 새 코드 파일을 만들거나 기존 코드 파일을 사용합니다. Python(Flask) 샘플을 사용하는 경우 front.py 파일에서 다음 작업을 수행할 수 있습니다. 탐색기 > src > frontend로 이동하고 front.py 파일을 엽니다.

  2. IDE의 작업 표시줄에서 chat_spark Gemini Code Assist를 클릭합니다.

  3. Gemini Code Assist 창에서 Explain this code to me 프롬프트를 입력하고 보내기 보내기를 클릭합니다.

    Gemini는 코드 파일의 코드를 프롬프트에 대한 참조로 사용하고 코드 설명으로 응답합니다.

    파일의 모든 코드 대신 특정 코드 블록을 참조하려면 코드 파일에서 블록을 선택한 후 Gemini에 프롬프트를 입력하면 됩니다.

채팅 기록 재설정

Gemini Code Assist는 프롬프트에 응답할 때 채팅 기록을 사용해 추가 컨텍스트를 파악합니다.

채팅 기록이 달성하려는 작업과 더 이상 관련이 없는 경우 다음에서 채팅 기록을 재설정할 수 있습니다. Gemini Code Assist 창에서 삭제 채팅 재설정을 클릭합니다.

프롬프트로 코드 생성

다음 섹션에서는 Gemini Code Assist를 사용하여 Python 파일 내에 예시 프롬프트 # Function to create a Cloud Storage bucket으로 코드를 생성하는 방법을 보여줍니다. 또한 코드 중 일부를 선택한 후 채팅 기능을 통해 Gemini Code Assist에 프롬프트를 입력하여 도움을 요청하고, 코딩하는 동안 코드 추천을 받고 이를 수락하거나 거부할 수 있습니다.

코드 파일에서 Gemini Code Assist 프롬프트

  1. 새 코드 파일을 만들거나 기존 코드 파일을 사용합니다. Python(Flask) 샘플을 사용하는 경우 front.py 파일에서 다음을 수행할 수 있습니다. 탐색기 > src > frontend로 이동하고 front.py 파일을 엽니다.

  2. 코드 파일의 새 줄에 # Function to create a Cloud Storage bucket을 입력하고 Enter(Windows 및 Linux의 경우) 또는 Return(macOS의 경우)을 누릅니다.

  3. 코드를 생성하려면 Control+Enter(Windows 및 Linux의 경우) 또는 Control+Return(macOS의 경우)을 누릅니다.

    Python 파일의 프롬프트 텍스트 옆에 Gemini Code Assist가 고스트 텍스트 형식으로 코드를 생성합니다.

  4. 선택사항: 생성된 코드를 수락하려면 Tab을 누릅니다.

(선택사항) 코드 생성을 위한 단축키 변경

코드 생성을 위한 기본 단축키가 이전 섹션에서 설명한 대로 작동하지 않는 경우 다음 단계에 따라 단축키를 변경할 수 있습니다.

  1. IDE에서 파일(Windows 및 Linux) 또는 Code(macOS)를 클릭한 후 설정 > 단축키로 이동합니다.

  2. 단축키 목록에서 스크롤하여 Cloud Code: 코드 생성을 찾습니다.

  3. Cloud Code: 코드 생성을 클릭한 다음 edit 키 바인딩 변경을 클릭합니다.

  4. 대화상자가 표시되면 원하는 단축키를 입력합니다.

  5. Enter(Windows 및 Linux의 경우) 또는 Return(macOS의 경우)을 누릅니다.

    이제 새로 할당된 단축키를 사용하여 Gemini Code Assist로 코드를 생성할 수 있습니다.

IDE에서 단축키를 변경하는 방법은 Visual Studio 코드의 키 바인딩을 참조하세요.

채팅을 사용하여 선택한 코드로 Gemini Code Assist에 프롬프트 입력

Gemini Code Assist는 선택한 코드에 따라 작업을 수행하거나 질문에 답할 수 있습니다. 선택한 코드가 포함된 프롬프트를 기반으로 하는 생성된 코드를 가져오려면 다음 단계를 수행합니다.

  1. IDE에서 코드가 포함된 프로젝트의 파일을 열거나 이전 단계에서 사용한 것과 동일한 코드 파일을 사용합니다.

  2. 작업 표시줄에서 chat_spark Gemini Code Assist를 클릭하여 Gemini Code Assist 창을 엽니다.

  3. 코드 파일에서 코드 블록을 선택합니다.

  4. Gemini Code Assist 창 텍스트 필드에 선택한 코드에 대한 프롬프트를 입력합니다.

    예를 들어 코드에서 함수를 선택하고 Write a unit test for this function 프롬프트를 입력합니다.

    Gemini는 선택한 함수의 단위 테스트를 작성합니다.

    Gemini는 선택한 코드를 참조로 사용하고 프롬프트에 응답합니다.

코딩하는 동안 인라인 추천 받기

코드를 작성하는 동안 Gemini Code Assist에서 수락하거나 무시할 수 있는 인라인 코드 추천을 제공합니다. 이 기능을 사용해 보려면 다음 단계를 수행합니다.

  1. 새 코드 파일을 만들거나 기존 코드 파일을 사용합니다. Python(Flask) 샘플을 사용하는 경우 front.py 파일에서 다음을 수행할 수 있습니다. 탐색기 > src > frontend로 이동하고 front.py 파일을 엽니다.

  2. 코드 파일의 새 줄에서 함수 작성을 시작합니다. 예를 들어 Python 파일이 있으면 def를 작성합니다.

    Gemini는 고스트 텍스트 형식의 코드를 제안합니다.

  3. Gemini Code Assist에서 코드 제안을 수락하려면 Tab을 누릅니다. 그렇지 않은 경우 제안을 무시하려면 Esc를 누르거나 코드를 계속 작성합니다.

선택사항: 인라인 추천 중지

Gemini Code Assist에서 인라인 추천을 중지하려면 다음 단계를 따르세요.

  1. IDE에서 Code(macOS의 경우) 또는 파일(Windows 및 Linux의 경우)을 선택한 후 설정 > 설정으로 이동합니다.

  2. 설정 대화상자의 사용자 탭에서 확장 프로그램 > Cloud Code로 이동합니다.

  3. Cloudcode: Gemini Code Assist: 인라인 추천: 자동 사용 설정 목록을 찾을 때까지 스크롤한 다음 끄기를 선택합니다.

    인라인 추천이 중지됩니다. Control+Enter(Windows 및 Linux의 경우) 또는 Control+Return(macOS의 경우)을 눌러 인라인 추천을 수동으로 트리거할 수 있습니다.

인용된 소스와 일치하는 코드 추천 사용 중지

Gemini는 기존 오픈소스 코드 등의 다른 출처에서 직접 자세하게 인용될 경우 인용 정보를 제공합니다. 자세한 내용은 Gemini의 소스 인용 방법과 시기를 참조하세요.

인용된 소스와 일치하는 코드가 추천되지 않도록 하려면 settings.json 파일에서 cloudcode.duetAI.recitation.maxCitedLength 설정을 0으로 수정하면 됩니다.

"cloudcode.duetAI.recitation.maxCitedLength": 0

스마트 작업 사용

컨텍스트 전환을 최소화하는 동시에 생산성을 높일 수 있도록 Gemini Code Assist는 코드 편집기에서 바로 AI 기반의 스마트 작업을 제공합니다. 코드 편집기에서 코드를 선택하면 컨텍스트와 관련된 작업 목록을 보고 선택할 수 있습니다.

코드에서 스마트 작업을 사용하려면 다음 단계를 수행합니다.

  1. 코드 파일에서 코드 블록을 선택합니다.

  2. 선택한 코드 블록 옆에 있는 전구 코드 작업 표시를 클릭합니다.

    VS Code에서 코드 블록을 선택한 후 표시되는 스마트 작업 전구 아이콘

  3. 단위 테스트 생성과 같은 작업을 선택합니다.

    Gemini는 선택한 작업을 기반으로 응답을 생성합니다.

다른 예시 프롬프트 테스트

이 페이지의 프롬프트로 코드 생성 섹션을 읽은 후 다음 예시 프롬프트 일부를 시도해보세요.

코드 설명 가져오기

  1. 코드 파일에서 설명을 원하는 함수를 선택합니다.
  2. Gemini Code Assist 창에서 Explain this code to me 프롬프트를 입력합니다.

    Gemini는 선택한 코드를 참조로 사용하고 선택한 함수에 대한 설명으로 응답합니다.

테스트 계획 생성

  1. 코드 파일에서 단위 테스트를 추가할 코드를 선택합니다.
  2. Gemini Code Assist 창에서 Write unit tests for my code 프롬프트를 입력합니다.

코드 디버깅 도움 받기

  1. 코드 파일에서 디버깅할 코드를 선택합니다.
  2. Gemini Code Assist 창에서 Help me debug my code 프롬프트를 입력합니다.

코드 가독성 개선

  1. 코드 파일에서 가독성을 개선할 코드를 선택합니다.
  2. Gemini Code Assist 창에서 Make my code more readable 프롬프트를 입력합니다.

    코드의 특정 부분에 집중하려는 경우 Gemini에 프롬프트를 입력하기 전에 코드의 원하는 부분을 선택합니다.

알려진 문제

다음 섹션에서는 Gemini Code Assist의 알려진 문제를 간략하게 설명합니다.

채팅 응답에 대용량 개방형 파일의 업데이트된 버전이 포함된 경우 채팅 응답이 잘릴 수 있음

이 문제를 해결하려면 더 작은 코드 섹션을 선택하고 채팅 프롬프트에서 only output the selected code.와 같은 추가 지시문을 포함합니다.

Vim: 삽입 모드에 있지 않으면 코드 생성 추천을 수락하거나 닫을 수 없음

일반 모드에서 Vim 플러그인을 사용하면 코드 추천을 수락하거나 닫을 수 없습니다.

이 문제를 해결하려면 i를 눌러 삽입 모드로 전환한 후 Tab을 눌러 제안을 수락합니다.

Vim: Esc 키를 눌러 추천을 닫을 때 일관성 없는 동작 발생

Esc를 누르면 IntelliJ와 Gemini 추천 모두 닫힙니다. 이 동작은 Esc를 누르면 Gemini를 다시 트리거하는 비Vim 동작과 다릅니다.

라이선스 문구 경고가 세션 간에 유지되지 않음

라이선스 문구 경고가 세션 간에 유지되지 않는 경우 영구 로그를 참조하세요.

  1. 보기 > 출력을 클릭합니다.

  2. Gemini Code Assist - 인용을 선택합니다.

Gemini Code Assist 출력 창의 연결 문제

Gemini Code Assist 출력 창에 연결 오류 또는 기타 연결 문제가 표시되면 다음을 수행합니다.

  • oauth2.googleapis.comcloudaicompanion.googleapis.com에 대한 액세스를 허용하도록 방화벽을 구성합니다.

  • gRPC에서 사용하는 HTTP/2를 통한 통신을 허용하도록 방화벽을 구성합니다.

grpc-health-probe 도구를 사용하여 연결을 테스트할 수 있습니다. 검사가 성공하면 다음 출력이 표시됩니다.

$ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved

검사가 실패하면 다음과 같은 출력이 표시됩니다.

timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

자세한 내용을 보려면 grpc-health-probe 전에 다음을 실행하세요.

export GRPC_GO_LOG_SEVERITY_LEVEL=info

의견 남기기

경험에 대한 의견을 남기려면 다음 단계를 수행합니다.

  1. 상태 표시줄에서 Gemini Code Assist를 클릭한 후 빠른 선택 메뉴에서 의견 보내기를 선택합니다.

  2. 양식에서 제목 필드와 설명 필드를 작성합니다.

  3. Skaffold 또는 AI 컴패니언 로그를 공유하려면 Skaffold 로그 전송 또는 AI 컴패니언 로그 전송 옵션을 선택해야 합니다.

  4. 의견 보내기를 클릭합니다.

다음 단계