코드 인텔리전스
프로젝트에서 객체의 모든 사용을 찾기 위해 코드 인텔리전스를 사용합니다.
코드 인텔리전스는 대화형 개발 환경(IDE)에 공통적인 코드 탐색 기능을 추가합니다. 포함된 기능: 타입 시그니처 및 심볼 문서. 정의로 이동. 코드 인텔리전스는 GitLab에 내장되어 있으며 사전 계산된 코드 인텔리전스 데이터를 위한 파일 형식인 LSIF (Language Server Index Format)에 의해 구동됩니다. GitLab은 프로젝트당 하나의 LSIF 파일을 처리하며, 코드 인텔리전스는 브랜치별로 다른 LSIF 파일을 지원하지 않습니다. SCIP 는 소스 코드 인덱싱 도구의 차세대 진화입니다. 다음과 같은 코드 탐색 기능을 구동하는 데 사용할 수 있습니다: 정의로 이동 참조 찾기 GitLab은 코드 인텔리전스를 위해 SCIP를 기본적으로 지원하지 않습니다. 그러나 SCIP CLI 를 사용하여 SCIP 도구로 생성된 인덱스를 LSIF 호환 파일로 변환할 수 있습니다. 기본 SCIP 지원에 대한 논의는 이슈 412981 을 참조하세요. 향후 코드 인텔리전스 향상에 대한 진행 상황은 에픽 4212 를 참조하세요. 코드 인텔리전스 구성 # 필수 요건: 프로젝트 언어에 호환되는 인덱서가 있는지 확인해야 합니다: LSIF 인덱서 SCIP 인덱서 언어가 가장 잘 지원되는 방법을 보려면 Sourcegraph에서 권장하는 인덱서 를 검토하세요. CI/CD 컴포넌트 사용 # 히스토리 Python 지원이 GitLab 17.9에서 도입 됨. .Net/C# 지원이 GitLab 18.0에서 도입 됨. GitLab은 .gitlab-ci.yml 파일에서 코드 인텔리전스를 구성하기 위한 CI/CD 컴포넌트 를 제공합니다. 이 컴포넌트는 다음 언어를 지원합니다: Go 버전 1.21 이상. TypeScript 또는 JavaScript. Java 8, 11, 17, 21. Python .Net/C# 컴포넌트에 더 많은 언어를 기여하려면 코드 인텔리전스 컴포넌트 프로젝트 에서 머지 리퀘스트를 엽니다. 프로젝트의 .gitlab-ci.yml 에 GitLab CI/CD 컴포넌트를 추가합니다. 예를 들어 다음 job은 Go에 대한 LSIF 아티팩트를 생성합니다: include: - component: ${CI_SERVER_FQDN}/components/code-intelligence/golang-code-intel@v0.0.3 inputs: golang_version: ${GO_VERSION} 코드 인텔리전스 컴포넌트 에 대한 구성 지침은 각 지원 언어의 README 를 확인하세요. 자세한 내용은 컴포넌트 사용 을 참조하세요. 코드 인텔리전스를 위한 CI/CD job 추가 # 프로젝트에 대한 코드 인텔리전스를 활성화하려면 프로젝트의 .gitlab-ci.yml 에 GitLab CI/CD job을 추가합니다. With a SCIP indexer With a LSIF indexer .gitlab-ci.yml 구성에 job을 추가합니다. 이 job은 SCIP 인덱스를 생성하고 GitLab에서 사용하기 위해 LSIF로 변환합니다: "code_navigation": rul
