코드 인텔리전스

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

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

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

코드 인텔리전스는 GitLab에 내장되어 있으며 LSIF(Language Server Index Format)로 구동됩니다. LSIF는 사전 계산된 코드 인텔리전스 데이터의 파일 형식으로, GitLab은 프로젝트당 하나의 LSIF 파일을 처리하며 코드 인텔리전스는 브랜치당 다른 LSIF 파일을 지원하지 않습니다. 다가오는 향상을 위한 진행 상황은 에픽 #4212, 코드 인텔리전스 향상을 참고하세요.

note
자동 DevOps를 사용하여 응용 프로그램에서 이 기능을 자동화할 수 있습니다.

구성

프로젝트에 코드 인텔리전스를 활성화하려면 프로젝트의 .gitlab-ci.yml에 LSIF 아티팩트를 생성하는 GitLab CI/CD 작업을 추가하면 됩니다:

code_navigation:
  image: sourcegraph/lsif-go:v1
  allow_failure: true # 권장됨
  script:
    - lsif-go
  artifacts:
    reports:
      lsif: dump.lsif

생성된 LSIF 파일의 크기는 아티팩트 적용 제한 사항(ci_max_artifact_size_lsif)에 의해 제한될 수 있으며, 기본값은 100MB이며(인스턴스 관리자가 구성 가능)입니다.

작업이 성공한 후 코드 인텔리전스 데이터는 코드 탐색 중에 볼 수 있습니다:

코드 인텔리전스

참조 찾기

특정 객체가 사용되는 위치를 찾으려면 참조 탭 아래에서 특정 코드 라인에 연결된 링크를 볼 수 있습니다:

참조 찾기

언어 지원

LSIF 파일을 생성하려면 해당 언어에 대한 언어 서버 인덱서 구현이 필요합니다. 사이트에서 사용 가능한 LSIF 인덱서의 완전한 디렉터리을 보고, 특정 언어에 대한 LSIF 파일 생성 방법을 확인하기 위해 해당 문서를 참조하세요.