코드 인텔리전스
코드 인텔리전스는 대화형 개발 환경(IDE)에서 흔히 볼 수 있는 코드 탐색 기능을 추가합니다.
- 타입 서명 및 심볼 설명.
- 정의로 이동.
코드 인텔리전스는 GitLab에 내장되어 있으며, LSIF (Language Server Index Format)로 구동됩니다. LSIF는 사전에 계산된 코드 인텔리전스 데이터를 위한 파일 형식으로, GitLab은 프로젝트 당 하나의 LSIF 파일을 처리하며, 코드 인텔리전스는 브랜치당 다른 LSIF 파일을 지원하지 않습니다. 다가오는 개선 사항에 대한 진행 상황은 이 에픽을 따라 4212, 코드 인텔리전스 개선하세요.
참고: Auto 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 파일을 생성하는 방법은 해당 문서를 참조하세요.