코드 지능

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

코드 지능은 대화형 개발 환경(IDE)에서 흔히 볼 수 있는 코드 탐색 기능을 추가합니다. 이 기능에는 다음이 포함됩니다.

  • 타입 서명 및 심볼 문서.
  • 정의로 이동.

코드 지능은 GitLab에 내장되어 있으며 LSIF(Language Server Index Format)라는 사전 계산된 코드 지능 데이터를 위한 파일 형식으로 구동됩니다. GitLab은 프로젝트당 하나의 LSIF 파일을 처리하며, 코드 지능은 브랜치 당 다른 LSIF 파일을 지원하지 않습니다.

다가오는 코드 지능 기능의 진전 상황에 대한 정보는 epic 4212을 참고하세요.

note
Auto DevOps를 사용하여 애플리케이션에서 이 기능을 자동화할 수 있습니다.

코드 지능 구성

전제 조건:

  • 프로젝트의 언어에 대한 LSIF 인덱서가 있는지 확인하기 위해 LSIF 문서를 확인했습니다.

프로젝트에 코드 지능을 활성화하려면 다음을 수행합니다.

  1. 프로젝트의 .gitlab-ci.yml에 GitLab CI/CD 작업을 추가합니다. 이 작업은 LSIF 아티팩트를 생성합니다.

    code_navigation:
      image: sourcegraph/lsif-go:v1
      allow_failure: true # 권장됨
      script:
        - lsif-go
      artifacts:
        reports:
          lsif: dump.lsif
    
  2. CI/CD 구성에 따라 작업을 매뉴얼으로 실행해야 할 수도 있고, 기존 파이프라인의 일부로 실행되기를 기다려야 할 수도 있습니다.

이 파일은 (ci_max_artifact_size_lsif) 아티팩트 애플리케이션 제한에 의해 100MB로 제한됩니다. Self-Managed형 설치에서는 인스턴스 관리자가 이 값을 구성할 수 있습니다.

코드 지능 결과 보기

작업이 성공한 후 리포지터리를 탐색하여 코드 지능 정보를 확인합니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > Repository를 선택합니다.
  3. 리포지터리의 파일로 이동합니다. 파일 이름을 알고 있다면 다음을 수행합니다.
    • /~ 키보드 단축키를 입력하여 파일 탐색기를 열고 파일 이름을 입력합니다.
    • 오른쪽 상단에서 파일 찾기를 선택합니다.
  4. 코드 행에 가리키세요. 코드 지능에서 제공하는 정보가 있는 항목은 점선으로 표시됩니다.

    코드 지능

  5. 항목을 선택하여 해당 항목에 대한 자세한 정보를 확인합니다.

참조 찾기

객체의 모든 사용 사례를 확인하기 위해 코드 지능을 사용합니다.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > Repository를 선택합니다.
  3. 리포지터리의 파일로 이동합니다. 파일 이름을 알고 있다면 다음을 수행합니다.
    • /~ 키보드 단축키를 입력하여 파일 탐색기를 열고 파일 이름을 입력합니다.
    • 오른쪽 상단에서 파일 찾기를 선택합니다.
  4. 객체를 가리킨 다음 해당 항목을 선택합니다.
  5. 대화 상자에서 참조를 선택하여 이 객체를 사용하는 파일 디렉터리을 확인합니다.