코드 인텔리전스
프로젝트에서 코드 인텔리전스를 사용하여 타입 시그니처, 심볼 문서 및 정의로 이동 기능을 구성하고 사용하는 방법을 설명합니다.
코드 인텔리전스는 대화형 개발 환경(IDE)에서 공통으로 제공하는 다음 기능을 추가합니다. 타입 시그니처 및 심볼 문서. 정의로 이동. 코드 인텔리전스는 GitLab에 내장되어 있으며, 사전 계산된 코드 인텔리전스 데이터를 위한 파일 형식인 LSIF (Language Server Index Format)로 동작합니다. GitLab은 프로젝트당 하나의 LSIF 파일을 처리하며, 코드 인텔리전스는 브랜치별로 서로 다른 LSIF 파일을 지원하지 않습니다. SCIP 는 소스 코드를 인덱싱하는 도구의 차세대 형태입니다. 다음과 같은 기능을 구동하는 데 사용할 수 있습니다. 정의로 이동 참조 찾기 GitLab은 코드 인텔리전스를 위한 SCIP를 기본으로 지원하지 않습니다. 다만 SCIP CLI 를 사용하여 SCIP 도구로 생성한 인덱스를 LSIF 호환 파일로 변환할 수 있습니다. SCIP 기본 지원에 대한 논의는 이슈 412981 을 참고합니다. 향후 코드 인텔리전스 개선 진행 상황은 에픽 4212 를 참고합니다. GitLab은 코드 내비게이션 도 제공합니다. 코드 내비게이션은 LSIF 파일 대신 GitLab Orbit이 코드에서 구축한 지식 그래프를 읽으므로 인덱서나 CI/CD job이 필요하지 않습니다. 코드 인텔리전스 구성 # 사전 요구 사항: 프로젝트에서 사용하는 언어에 호환되는 인덱서가 있는지 확인했습니다. 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