Gemini Code Assist 코드 맞춤설정 사용

이 문서에서는 Gemini Code Assist 코드 맞춤설정을 사용하는 방법을 설명하고 몇 가지 권장사항을 제공합니다. 이 기능을 사용하면 조직의 내부 라이브러리, 비공개 API, 코딩 스타일을 기반으로 하는 코드 추천을 받을 수 있습니다.

시작하기 전에

  1. Enterprise 구독으로 Gemini Code Assist를 설정합니다.
  2. Enterprise 구독으로 Gemini Code Assist 코드 맞춤설정을 설정합니다.

코드 맞춤설정 사용 방법

다음 표에는 Gemini Code Assist 코드 맞춤설정을 사용하는 방법이 나와 있습니다.

양식 트리거 방법 메모 및 리소스

자연어 채팅

IDE의 Gemini Code Assist 채팅에 자연어 프롬프트를 입력합니다.

다음 사항을 고려하세요.

  • 채팅 기록을 사용할 수 없습니다. 여러 단계의 쿼리는 피하세요.
  • 특정 매체 링크를 포함하여 매체에 관한 자세한 정보를 요청할 수 있습니다.
  • 채팅에서 메시지를 보낼 때 코드를 강조 표시하거나 선택하면 Gemini Code Assist에서 해당 코드를 사용하여 코드 맞춤설정 및 채팅 품질을 개선합니다.

자세한 내용은 Gemini Code Assist와 채팅하기를 참고하세요.

코드 생성 IDE의 빠른 선택 표시줄에서 선택한 코드 유무와 관계없이 Command+Enter (macOS) 또는 Control+Enter를 누릅니다. 자세한 내용은 프롬프트로 코드 생성을 참고하세요.
코드 변환 선택한 코드 유무와 관계없이 IDE의 빠른 선택 표시줄에 /fix를 입력합니다. 자세한 내용은 프롬프트로 코드 생성을 참고하세요.
자동 완성 코드 맞춤설정이 자동으로 트리거되고 작성한 내용을 기반으로 추천을 제공합니다.

다음 사항을 고려하세요.

  • 코드 완성은 제안을 제안하기 위해 일정 수준의 신뢰도가 필요합니다. 관련 스니펫이 검색될 수 있도록 상당량의 코드를 사용할 수 있는지 확인합니다.
  • 코드 완성은 함수의 특정 요소를 사용하기 위해 필요한 라이브러리가 있는지 확인합니다.

자세한 내용은 코드 완성 가져오기를 참고하세요.

사용 사례 및 프롬프트 예시

다음 표에는 특정 사용 사례에서 코드 맞춤설정을 사용하는 방법에 관한 안내와 예시가 나와 있습니다.

사용 사례 시도해 볼 만한 작업
새 코드 작성

다음을 사용하여 IDE 또는 Gemini Code Assist 채팅에서 코드를 생성해 보세요.

  • 코드베이스에 이미 언급된 용어를 사용할 코드를 생성합니다.
  • 함수 서명이나 TODO 주석이 있는 코드와 같은 코드를 붙여넣은 다음 Gemini Code Assist에 TODO 주석을 채우거나 코드로 대체하도록 요청합니다. 맥락에서 설명과 함께 주석을 추가합니다.

Gemini Code Assist 채팅에서 다음 프롬프트를 사용하여 코드를 생성해 보세요.

  • 'DATABASE에 대한 연결이 생성되는 main 함수를 작성합니다. 상태 점검을 포함하세요.'
  • "다음 구조(EXPLAIN_STRUCTURE)로 FUNCTION_OR_CLASS를 작성합니다."

코드를 생성한 후 후속 프롬프트를 사용하여 코드를 개선해 보세요.

  • "/fix 명령어를 사용하여 생성된 코드를 조정해 보세요(예: 구문 오류)."
  • '누락된 가져오기를 추가하세요.'
  • "채팅에서 생성된 코드에서 /fix를 사용해 보세요."
코드 정리, 단순화, 리팩터링

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • "이 파일에서 IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS를 병합해 주시겠어요?"
  • "FUNCTION_NAME 함수를 어떻게 간소화하나요?"
  • "FUNCTION_NAME_1FUNCTION_NAME_2를 하나의 함수로 병합할 수 있나요?"
  • "FUNCTION_NAME에서 일부 변수를 인라인 처리해 주시겠어요?"
  • "FUNCTION_NAME 함수에서 변수 이름을 간소화해 주시겠어요?"
가독성

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • "가능한 한 적은 수의 코드 줄로 FUNCTION_NAME 함수를 작성하세요."
  • 'FUNCTION_NAME 함수에 주석을 추가합니다.'
  • 'FUNCTION_NAME 함수에서 불필요한 공백을 삭제합니다.'
  • 'FUNCTION_NAME 함수의 형식을 나머지 코드와 비슷한 방식으로 지정합니다.'
코드 검토

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • '코드를 여러 부분으로 나누고 Google 코드베이스를 사용하여 각 부분을 설명하세요.'
  • '더 간결하고 설명이 포함된 변수나 키워드가 있나요?'
  • '이 코드에 사용할 REPOSITORY_NAME_PACKAGE_MODULE 컨텍스트의 유용한 코드를 제공해 주시겠어요?'
  • "FUNCTION_NAME 함수에 관해 어떻게 생각하시나요?"
디버깅

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • "X를 실행하거나 Y를 추가하려고 하면 오류가 발생합니다. 이유가 무엇인가요?"
  • "FUNCTION_NAME 함수에서 오류를 발견할 수 있나요?"
  • "이 오류 메시지가 표시되면 FUNCTION_NAME 함수를 어떻게 수정하나요?"
학습 및 온보딩

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • "이 코드를 여러 부분으로 나누고 코드베이스를 사용하여 각 부분을 설명해 주세요."
  • "FUNCTION_NAME 함수를 호출하는 방법을 보여 줘."
  • 'ENVIRONMENT_NAME 환경에서 main 함수를 실행하는 방법을 보여주세요.'
  • '이 코드의 성능을 개선하기 위해 취할 수 있는 주요 기술적 개선사항은 무엇인가요?'
  • "더 나은 결과를 얻고 특정 요소를 추가하기 위한 FUNCTION_OR_CLASS_NAME 구현을 보여 줘"(예: "foo가 함수 이름인 함수 foo의 구현을 보여 줘").
마이그레이션

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • 'FILE_NAMELANGUAGE_1에서 LANGUAGE_2로 마이그레이션하는 전략을 알려 줘'(예: Go에서 Python으로).
  • '저장소 REPOSITORY_NAME의 함수 FUNCTION_NAME가 주어졌을 때 사용할 수 있는 LANGUAGE_NAME 언어의 상응하는 함수를 찾아 줘.'

프롬프트를 사용하여 다음과 같은 채팅 기반 또는 코드 생성 변환 워크플로를 사용해 보세요.

  1. '이미 LANGUAGE_1로 작성된 FILENAME_COMPONENT 코드를 리팩터링하여 LANGUAGE_2로 이전합니다.'(예: Go에서 Python으로)
  2. 일부 코드를 이전한 후 다음을 시도해 보세요.
    • 더 작은 청크를 선택하고 /fix를 사용하여 원하는 상태로 만듭니다.
    • 다음과 같은 프롬프트를 사용해 보세요.
      • '개선할 점이 있나요?'
      • "발생할 수 있는 문제점 알려 줘."
      • '이전이 올바른 경우 이 코드를 어떻게 테스트하나요?'
문서 생성

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • 'X 패키지 또는 폴더의 코드를 요약하고 가장 중요한 5가지 메서드에 관한 문서를 제공합니다.'
  • 'FUNCTION_OR_CLASS_NAME 문서를 생성합니다.'
  • '핵심 정보는 유지하면서 문서를 줄입니다.'
단위 테스트 생성

Gemini Code Assist 채팅에서 다음 프롬프트를 사용해 보세요.

  • 'FILENAME의 단위 테스트를 생성합니다.'
  • 'FUNCTION_NAME 함수와 가장 관련성이 높은 테스트 사례를 추가합니다.'
  • '가치가 크지 않다고 생각되는 테스트 사례를 삭제하세요.'

권장사항

  • 관련 변수 및 함수 이름 또는 코드 스니펫을 사용합니다. 이렇게 하면 코드 맞춤설정이 가장 관련성 높은 코드 예시로 안내됩니다.
  • 확장하려는 색인 저장소를 사용하고 지원 중단된 기능은 추가하지 마세요. 코드 맞춤설정은 코드베이스 전반에서 코드 스타일, 패턴, 코드 시맨틱, 지식, 구현을 확장하는 데 도움이 됩니다. 확장할 저장소의 나쁜 예는 지원 중단된 기능, 생성된 코드, 기존 구현입니다.
  • 코드 검색 사용 사례의 경우 코드 완성 대신 코드 생성 기능을 사용합니다. 'FUNCTION_NAME의 정의를 사용하여 정확히 동일한 함수를 생성하세요.' 또는 'FUNCTION_NAME의 정확한 구현을 생성하세요.'와 같은 표현을 사용합니다.
  • Gemini 컨텍스트 인식을 개선하려면 검색하려는 코드의 파일에 포함 또는 가져오기를 포함합니다.
  • 프롬프트당 하나의 작업만 실행합니다. 예를 들어 코드를 검색하여 이 코드를 새 함수에 구현하려면 두 프롬프트에서 다음 단계를 실행합니다.
  • 코드 외의 항목 (예: 코드 설명, 이전 계획, 오류 설명)이 필요한 사용 사례의 경우 코드베이스를 맥락에 포함하여 Gemini와 대화하는 코드 맞춤설정을 사용합니다.
  • AI 모델 생성은 비결정적입니다. 응답에 만족하지 못하는 경우 동일한 프롬프트를 다시 실행하면 더 나은 결과를 얻을 수 있습니다.
  • 단위 테스트 생성은 일반적으로 로컬에서 파일을 연 다음 채팅에서 이 파일 또는 특정 함수의 단위 테스트를 생성하도록 요청하는 것이 더 효과적입니다.