InfoGrab Docs

Code Suggestions 문제 해결

요약

GitLab Duo Code Suggestions를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 상태 확인을 실행하여 인스턴스가 Code Suggestions를 실행하기 위한 요구 사항을 충족하는지 테스트할 수 있습니다.

GitLab Duo Code Suggestions를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.

상태 확인을 실행하여 인스턴스가 Code Suggestions를 실행하기 위한 요구 사항을 충족하는지 테스트할 수 있습니다.

GitLab Duo 문제 해결에 대한 자세한 내용은 다음을 참조하세요:

제안이 표시되지 않음#

제안이 표시되지 않는 경우 다음 사항을 확인하세요:

그래도 제안이 표시되지 않으면 다음 IDE별 문제 해결 단계를 시도하세요:

Code Suggestions에서 401 오류 반환#

Code Suggestions는 GitLab과 구독을 동기화하는 라이선스 토큰에 의존합니다.

토큰이 만료되면 Code Suggestions가 상태 401과 함께 다음 오류를 반환합니다:

Token validation failed in Language Server:
(Failed to check token: Error: Fetching Information about personal access token

GitLab이 클라우드 서버에 액세스할 수 있는 경우 라이선스를 수동으로 동기화해 보세요.

인증 문제 해결#

문제는 최근 인증 변경 사항, 특히 토큰 시스템과 관련이 있을 수 있습니다. 문제를 해결하려면:

  1. GitLab 계정 설정에서 기존 개인 액세스 토큰을 제거합니다.
  2. OAuth를 사용하여 GitLab 계정을 다시 인증합니다.
  3. 다른 파일 확장자로 Code Suggestions 기능을 테스트하여 문제가 해결되었는지 확인합니다.

VS Code 문제 해결#

다음 문서는 VS Code에 대한 Code Suggestions 관련 문제 해결입니다.

Code Suggestions 외의 VS Code 문제 해결은 VS Code용 GitLab 문제 해결을 참조하세요.

VS Code 또는 GitLab Web IDE에서 제안이 표시되지 않음#

GitLab Self-Managed를 사용하는 경우 GitLab Web IDE용 Code Suggestions가 활성화되어 있는지 확인하세요. 동일한 설정이 로컬 IDE로서의 VS Code에도 적용됩니다.

  1. 왼쪽 사이드바에서 확장 > GitLab을 선택합니다.
  2. 관리 (⚙️)를 선택한 다음 설정을 선택합니다.
  3. GitLab > Duo Code Suggestions에서 GitLab Duo Code Suggestions 확인란을 선택합니다.

Code Suggestions 로그 보기#

IDE에서 Code Suggestions가 활성화되어 있지만 제안이 여전히 표시되지 않는 경우:

  1. IDE에서 GitLab for VS Code 확장 설정GitLab: Debug를 활성화합니다.
  2. 상단 메뉴에서 보기 > 출력을 선택하여 하단 패널을 열고 다음 중 하나를 수행합니다:
    • 명령 팔레트에서 GitLab: Show Extension Logs를 선택합니다.
    • 하단 패널의 오른쪽에서 드롭다운 목록을 선택하여 로그를 필터링합니다. GitLab을 선택합니다.
  3. GitLab for VS Code 확장 설정에서 GitLab Duo Code Suggestions 확인란을 해제하고 다시 선택합니다.

코드 생성 결과 스트리밍 비활성화#

기본적으로 코드 생성은 AI가 생성한 코드를 스트리밍합니다. 스트리밍은 전체 코드 스니펫이 생성될 때까지 기다리지 않고 에디터로 생성된 코드를 점진적으로 보냅니다. 이를 통해 더 인터랙티브하고 반응이 빠른 환경을 제공합니다.

코드 생성 결과가 완료될 때만 보려면 스트리밍을 끌 수 있습니다. 스트리밍을 비활성화하면 코드 생성 요청이 완료되는 데 더 오래 걸리는 것처럼 느껴질 수 있습니다. 스트리밍을 비활성화하려면:

  1. VS Code에서 상단 바에서 코드 > 설정 > 설정으로 이동합니다.

  2. 오른쪽 상단 모서리에서 **설정 열기(JSON)**를 선택하여 settings.json 파일을 편집합니다:

    VS Code 오른쪽 상단 모서리의 아이콘들, '설정 열기' 포함.

  3. settings.json 파일에 이 줄을 추가하거나, 이미 존재하는 경우 false로 설정합니다:

    "gitlab.featureFlags.streamCodeGenerations": false,
    
  4. 변경 사항을 저장합니다.

오류: 직접 연결 실패#

히스토리
  • 직접 연결이 GitLab 17.2에서 도입됨.

지연을 줄이기 위해 GitLab for VS Code 확장은 GitLab 인스턴스를 우회하여 GitLab Cloud Connector로 직접 제안 완료 요청을 보내려고 합니다. 이 네트워크 연결은 VS Code 확장의 프록시 및 인증서 설정을 사용하지 않습니다.

GitLab 인스턴스가 직접 연결을 지원하지 않거나 네트워크가 확장의 GitLab Cloud Connector 연결을 차단하는 경우 로그에 다음 경고가 표시될 수 있습니다:

Failed to fetch direct connection details from GitLab instance.
Code suggestion requests will be sent to GitLab instance.

이 오류는 인스턴스가 직접 연결을 지원하지 않거나 잘못 구성되었음을 의미합니다.

이 오류가 표시되면 확장이 GitLab Cloud Connector에 연결할 수 없어 GitLab 인스턴스를 사용하도록 되돌립니다:

Direct connection for code suggestions failed.
Code suggestion requests will be sent to your GitLab instance.

GitLab 인스턴스를 통한 간접 연결은 약 100ms 더 느리지만 그 외에는 동일하게 작동합니다. 이 문제는 LAN 방화벽이나 프록시 설정과 같은 네트워크 연결 문제로 인해 자주 발생합니다.

JetBrains IDE 문제 해결#

다음 문서는 JetBrains IDE에 대한 Code Suggestions 관련 문제 해결입니다.

Code Suggestions 외의 JetBrains IDE 문제 해결은 JetBrains 문제 해결을 참조하세요.

JetBrains IDE에서 제안이 표시되지 않음#

  1. 도구 > GitLab Duo 메뉴에서 설정 확인을 선택합니다. 상태 확인이 통과하는지 확인합니다.
  2. JetBrains IDE가 작업 중인 파일의 언어를 기본으로 지원하는지 확인합니다. 설정 > 언어 및 프레임워크로 이동하여 JetBrains IDE가 지원하는 언어 및 프레임워크의 전체 목록을 확인합니다.

오류: unable to find valid certification path to requested target#

GitLab Duo 플러그인은 GitLab 인스턴스에 연결하기 전에 TLS 인증서 정보를 확인합니다. 사용자 정의 SSL 인증서를 추가할 수 있습니다.

오류: Failed to check token#

이 오류는 제공된 연결 인스턴스 URL과 GitLab Language Server 프로세스로 전달된 인증 토큰이 유효하지 않을 때 발생합니다. Code Suggestions를 다시 활성화하려면:

  1. IDE에서 상단 바에서 IDE 이름을 선택한 다음 설정을 선택합니다.
  2. 왼쪽 사이드바에서 도구 > GitLab Duo를 선택합니다.
  3. 연결 아래에서 설정 확인을 선택합니다.
  4. 필요에 따라 연결 세부 정보를 업데이트합니다.
  5. 설정 확인을 선택하고 인증이 성공하는지 확인합니다.
  6. 확인 또는 저장을 선택합니다.

Microsoft Visual Studio 문제 해결#

다음 문서는 Microsoft Visual Studio에 대한 Code Suggestions 관련 문제 해결입니다.

Microsoft Visual Studio의 Code Suggestions 외 문제 해결은 Visual Studio 문제 해결을 참조하세요.

IntelliCode가 없음#

Code Suggestions는 Visual Studio의 IntelliCode 구성 요소가 필요합니다. 구성 요소가 없는 경우 Visual Studio를 시작할 때 다음과 같은 오류가 표시될 수 있습니다:

SetSite failed for package [VisualStudioPackage]Source: 'Microsoft.VisualStudio.Composition'
Description: Expected 1 export(s) with contract name "Microsoft.VisualStudio.Language.Suggestions.SuggestionServiceBase"
but found 0 after applying applicable constraints.

Microsoft.VisualStudio.Composition.CompositionFailedException:
Expected 1 export(s) with contract name "Microsoft.VisualStudio.Language.Suggestions.SuggestionServiceBase"
but found 0 after applying applicable constraints.

  at Microsoft.VisualStudio.Composition.ExportProvider.GetExports(ImportDefinition importDefinition)
  at Microsoft.VisualStudio.Composition.ExportProvider.GetExports[T,TMetadataView](String contractName, ImportCardinality cardinality)
  at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T,TMetadataView](String contractName)
  at Microsoft.VisualStudio.Composition.ExportProvider.GetExportedValue[T]()
  at Microsoft.VisualStudio.ComponentModelHost.ComponentModel.GetService[T]()
[...]

이 문제를 해결하려면 IntelliCode 구성 요소를 설치합니다:

  1. Windows 시작 메뉴에서 Visual Studio Installer를 검색하고 엽니다.
  2. Visual Studio 인스턴스를 선택한 다음 수정을 선택합니다.
  3. 개별 구성 요소 탭에서 IntelliCode를 검색합니다.
  4. 구성 요소의 확인란을 선택한 다음 오른쪽 하단에서 수정을 선택합니다.
  5. Visual Studio Installer가 설치를 완료할 때까지 기다립니다.

Microsoft Visual Studio에서 제안이 표시되지 않음#

  1. 확장을 올바르게 설정했는지 확인합니다.
  2. 도구 > 옵션 메뉴에서 GitLab 옵션을 찾습니다. 로그 수준디버그로 설정되어 있는지 확인합니다.
  3. 보기 > 출력에서 확장 로그를 엽니다. 드롭다운 목록을 GitLab Extension으로 변경하여 로그 필터로 사용합니다.
  4. 디버그 로그에 유사한 출력이 포함되어 있는지 확인합니다:
14:48:21:344 GitlabProposalSource.GetCodeSuggestionAsync
14:48:21:344 LsClient.SendTextDocumentCompletionAsync("GitLab.Extension.Test\TestData.cs", 34, 0)
14:48:21:346 LS(55096): time="2023-07-17T14:48:21-05:00" level=info msg="update context"

다른 확장이 유사한 제안 또는 완성 기능을 제공하는 경우 확장이 제안을 반환하지 않을 수 있습니다. 해결하려면:

  1. 다른 모든 Visual Studio 확장을 비활성화합니다.
  2. 이제 Code Suggestions를 받는지 확인합니다.
  3. 충돌하는 확장을 찾기 위해 확장을 하나씩 다시 활성화하면서 Code Suggestions를 테스트합니다.

Neovim 문제 해결#

다음 문서는 Neovim에 대한 Code Suggestions 관련 문제 해결입니다.

Neovim의 Code Suggestions 외 문제 해결은 Neovim 문제 해결을 참조하세요.

코드 완성 실패#

  1. Neovim에서 omnifunc가 설정되어 있는지 확인합니다:

    :verbose set omnifunc?
    
  2. Neovim에서 이 명령을 실행하여 Language Server가 활성화되어 있는지 확인합니다:

    :lua =vim.lsp.get_active_clients()
    
  3. ~/.local/state/nvim/lsp.log에서 Language Server 로그를 확인합니다.

  4. Neovim에서 이 명령을 실행하여 오류에 대해 vim.lsp 로그 경로를 검사합니다:

    :lua =vim.cmd('view ' .. vim.lsp.get_log_path())
    

코드 완성 지연 문제#

코드 완성에 특정 모델이 선택된 프로젝트에서 시트를 할당받은 경우:

  • IDE 확장은 AI Gateway에 대한 직접 연결을 비활성화합니다.
  • 코드 완성 요청은 GitLab 모놀리스를 통해 전달되고, 이후 이러한 요청에 응답하기 위해 지정된 모델을 선택합니다.

이로 인해 코드 완성 요청의 지연이 증가할 수 있습니다.

Code Suggestions 문제 해결

Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GitLab Duo Code Suggestions를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 상태 확인을 실행하여 인스턴스가 Code Suggestions를 실행하기 위한 요구 사항을 충족하는지 테스트할 수 있습니다.

GitLab Duo Code Suggestions를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.

상태 확인을 실행하여 인스턴스가 Code Suggestions를 실행하기 위한 요구 사항을 충족하는지 테스트할 수 있습니다.

GitLab Duo 문제 해결에 대한 자세한 내용은 다음을 참조하세요:

제안이 표시되지 않음#

제안이 표시되지 않는 경우 다음 사항을 확인하세요:

그래도 제안이 표시되지 않으면 다음 IDE별 문제 해결 단계를 시도하세요:

Code Suggestions에서 401 오류 반환#

Code Suggestions는 GitLab과 구독을 동기화하는 라이선스 토큰에 의존합니다.

토큰이 만료되면 Code Suggestions가 상태 401과 함께 다음 오류를 반환합니다:

Token validation failed in Language Server:
(Failed to check token: Error: Fetching Information about personal access token

GitLab이 클라우드 서버에 액세스할 수 있는 경우 라이선스를 수동으로 동기화해 보세요.

인증 문제 해결#

문제는 최근 인증 변경 사항, 특히 토큰 시스템과 관련이 있을 수 있습니다. 문제를 해결하려면:

  1. GitLab 계정 설정에서 기존 개인 액세스 토큰을 제거합니다.
  2. OAuth를 사용하여 GitLab 계정을 다시 인증합니다.
  3. 다른 파일 확장자로 Code Suggestions 기능을 테스트하여 문제가 해결되었는지 확인합니다.

VS Code 문제 해결#

다음 문서는 VS Code에 대한 Code Suggestions 관련 문제 해결입니다.

Code Suggestions 외의 VS Code 문제 해결은 VS Code용 GitLab 문제 해결을 참조하세요.

VS Code 또는 GitLab Web IDE에서 제안이 표시되지 않음#

GitLab Self-Managed를 사용하는 경우 GitLab Web IDE용 Code Suggestions가 활성화되어 있는지 확인하세요. 동일한 설정이 로컬 IDE로서의 VS Code에도 적용됩니다.

  1. 왼쪽 사이드바에서 확장 > GitLab을 선택합니다.
  2. 관리 (⚙️)를 선택한 다음 설정을 선택합니다.
  3. GitLab > Duo Code Suggestions에서 GitLab Duo Code Suggestions 확인란을 선택합니다.

Code Suggestions 로그 보기#

IDE에서 Code Suggestions가 활성화되어 있지만 제안이 여전히 표시되지 않는 경우:

  1. IDE에서 GitLab for VS Code 확장 설정GitLab: Debug를 활성화합니다.
  2. 상단 메뉴에서 보기 > 출력을 선택하여 하단 패널을 열고 다음 중 하나를 수행합니다:
    • 명령 팔레트에서 GitLab: Show Extension Logs를 선택합니다.
    • 하단 패널의 오른쪽에서 드롭다운 목록을 선택하여 로그를 필터링합니다. GitLab을 선택합니다.
  3. GitLab for VS Code 확장 설정에서 GitLab Duo Code Suggestions 확인란을 해제하고 다시 선택합니다.

코드 생성 결과 스트리밍 비활성화#

기본적으로 코드 생성은 AI가 생성한 코드를 스트리밍합니다. 스트리밍은 전체 코드 스니펫이 생성될 때까지 기다리지 않고 에디터로 생성된 코드를 점진적으로 보냅니다. 이를 통해 더 인터랙티브하고 반응이 빠른 환경을 제공합니다.

코드 생성 결과가 완료될 때만 보려면 스트리밍을 끌 수 있습니다. 스트리밍을 비활성화하면 코드 생성 요청이 완료되는 데 더 오래 걸리는 것처럼 느껴질 수 있습니다. 스트리밍을 비활성화하려면:

  1. VS Code에서 상단 바에서 코드 > 설정 > 설정으로 이동합니다.

  2. 오른쪽 상단 모서리에서 **설정 열기(JSON)**를 선택하여 settings.json 파일을 편집합니다:

    VS Code 오른쪽 상단 모서리의 아이콘들, '설정 열기' 포함.

  3. settings.json 파일에 이 줄을 추가하거나, 이미 존재하는 경우 false로 설정합니다:

    "gitlab.featureFlags.streamCodeGenerations": false,
    
  4. 변경 사항을 저장합니다.

오류: 직접 연결 실패#

히스토리
  • 직접 연결이 GitLab 17.2에서 도입됨.

지연을 줄이기 위해 GitLab for VS Code 확장은 GitLab 인스턴스를 우회하여 GitLab Cloud Connector로 직접 제안 완료 요청을 보내려고 합니다. 이 네트워크 연결은 VS Code 확장의 프록시 및 인증서 설정을 사용하지 않습니다.

GitLab 인스턴스가 직접 연결을 지원하지 않거나 네트워크가 확장의 GitLab Cloud Connector 연결을 차단하는 경우 로그에 다음 경고가 표시될 수 있습니다:

Failed to fetch direct connection details from GitLab instance.
Code suggestion requests will be sent to GitLab instance.

이 오류는 인스턴스가 직접 연결을 지원하지 않거나 잘못 구성되었음을 의미합니다.

이 오류가 표시되면 확장이 GitLab Cloud Connector에 연결할 수 없어 GitLab 인스턴스를 사용하도록 되돌립니다:

Direct connection for code suggestions failed.
Code suggestion requests will be sent to your GitLab instance.

GitLab 인스턴스를 통한 간접 연결은 약 100ms 더 느리지만 그 외에는 동일하게 작동합니다. 이 문제는 LAN 방화벽이나 프록시 설정과 같은 네트워크 연결 문제로 인해 자주 발생합니다.

JetBrains IDE 문제 해결#

다음 문서는 JetBrains IDE에 대한 Code Suggestions 관련 문제 해결입니다.

Code Suggestions 외의 JetBrains IDE 문제 해결은 JetBrains 문제 해결을 참조하세요.

JetBrains IDE에서 제안이 표시되지 않음#

  1. 도구 > GitLab Duo 메뉴에서 설정 확인을 선택합니다. 상태 확인이 통과하는지 확인합니다.
  2. JetBrains IDE가 작업 중인 파일의 언어를 기본으로 지원하는지 확인합니다. 설정 > 언어 및 프레임워크로 이동하여 JetBrains IDE가 지원하는 언어 및 프레임워크의 전체 목록을 확인합니다.

오류: unable to find valid certification path to requested target#

GitLab Duo 플러그인은 GitLab 인스턴스에 연결하기 전에 TLS 인증서 정보를 확인합니다. 사용자 정의 SSL 인증서를 추가할 수 있습니다.

오류: Failed to check token#

이 오류는 제공된 연결 인스턴스 URL과 GitLab Language Server 프로세스로 전달된 인증 토큰이 유효하지 않을 때 발생합니다. Code Suggestions를 다시 활성화하려면:

  1. IDE에서 상단 바에서 IDE 이름을 선택한 다음 설정을 선택합니다.
  2. 왼쪽 사이드바에서 도구 > GitLab Duo를 선택합니다.
  3. 연결 아래에서 설정 확인을 선택합니다.
  4. 필요에 따라 연결 세부 정보를 업데이트합니다.
  5. 설정 확인을 선택하고 인증이 성공하는지 확인합니다.
  6. 확인 또는 저장을 선택합니다.

Microsoft Visual Studio 문제 해결#

다음 문서는 Microsoft Visual Studio에 대한 Code Suggestions 관련 문제 해결입니다.

Microsoft Visual Studio의 Code Suggestions 외 문제 해결은 Visual Studio 문제 해결을 참조하세요.

IntelliCode가 없음#

Code Suggestions는 Visual Studio의 IntelliCode 구성 요소가 필요합니다. 구성 요소가 없는 경우 Visual Studio를 시작할 때 다음과 같은 오류가 표시될 수 있습니다:

SetSite failed for package [VisualStudioPackage]Source: 'Microsoft.VisualStudio.Composition'
Description: Expected 1 export(s) with contract name "Microsoft.VisualStudio.Language.Suggestions.SuggestionServiceBase"
but found 0 after applying applicable constraints.

Microsoft.VisualStudio.Composition.CompositionFailedException:
Expected 1 export(s) with contract name "Microsoft.VisualStudio.Language.Suggestions.SuggestionServiceBase"
but found 0 after applying applicable constraints.

  at Microsoft.VisualStudio.Composition.ExportProvider.GetExports(ImportDefinition importDefinition)
  at Microsoft.VisualStudio.Composition.ExportProvider.GetExports[T,TMetadataView](String contractName, ImportCardinality cardinality)
  at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T,TMetadataView](String contractName)
  at Microsoft.VisualStudio.Composition.ExportProvider.GetExportedValue[T]()
  at Microsoft.VisualStudio.ComponentModelHost.ComponentModel.GetService[T]()
[...]

이 문제를 해결하려면 IntelliCode 구성 요소를 설치합니다:

  1. Windows 시작 메뉴에서 Visual Studio Installer를 검색하고 엽니다.
  2. Visual Studio 인스턴스를 선택한 다음 수정을 선택합니다.
  3. 개별 구성 요소 탭에서 IntelliCode를 검색합니다.
  4. 구성 요소의 확인란을 선택한 다음 오른쪽 하단에서 수정을 선택합니다.
  5. Visual Studio Installer가 설치를 완료할 때까지 기다립니다.

Microsoft Visual Studio에서 제안이 표시되지 않음#

  1. 확장을 올바르게 설정했는지 확인합니다.
  2. 도구 > 옵션 메뉴에서 GitLab 옵션을 찾습니다. 로그 수준디버그로 설정되어 있는지 확인합니다.
  3. 보기 > 출력에서 확장 로그를 엽니다. 드롭다운 목록을 GitLab Extension으로 변경하여 로그 필터로 사용합니다.
  4. 디버그 로그에 유사한 출력이 포함되어 있는지 확인합니다:
14:48:21:344 GitlabProposalSource.GetCodeSuggestionAsync
14:48:21:344 LsClient.SendTextDocumentCompletionAsync("GitLab.Extension.Test\TestData.cs", 34, 0)
14:48:21:346 LS(55096): time="2023-07-17T14:48:21-05:00" level=info msg="update context"

다른 확장이 유사한 제안 또는 완성 기능을 제공하는 경우 확장이 제안을 반환하지 않을 수 있습니다. 해결하려면:

  1. 다른 모든 Visual Studio 확장을 비활성화합니다.
  2. 이제 Code Suggestions를 받는지 확인합니다.
  3. 충돌하는 확장을 찾기 위해 확장을 하나씩 다시 활성화하면서 Code Suggestions를 테스트합니다.

Neovim 문제 해결#

다음 문서는 Neovim에 대한 Code Suggestions 관련 문제 해결입니다.

Neovim의 Code Suggestions 외 문제 해결은 Neovim 문제 해결을 참조하세요.

코드 완성 실패#

  1. Neovim에서 omnifunc가 설정되어 있는지 확인합니다:

    :verbose set omnifunc?
    
  2. Neovim에서 이 명령을 실행하여 Language Server가 활성화되어 있는지 확인합니다:

    :lua =vim.lsp.get_active_clients()
    
  3. ~/.local/state/nvim/lsp.log에서 Language Server 로그를 확인합니다.

  4. Neovim에서 이 명령을 실행하여 오류에 대해 vim.lsp 로그 경로를 검사합니다:

    :lua =vim.cmd('view ' .. vim.lsp.get_log_path())
    

코드 완성 지연 문제#

코드 완성에 특정 모델이 선택된 프로젝트에서 시트를 할당받은 경우:

  • IDE 확장은 AI Gateway에 대한 직접 연결을 비활성화합니다.
  • 코드 완성 요청은 GitLab 모놀리스를 통해 전달되고, 이후 이러한 요청에 응답하기 위해 지정된 모델을 선택합니다.

이로 인해 코드 완성 요청의 지연이 증가할 수 있습니다.