Code Suggestions를 위해 지원되는 확장 기능 및 언어
GitLab v19.5요약
Code Suggestions는 다음 편집기 확장 기능과 다음 언어에서 사용 가능합니다. Code Suggestions를 사용하려면 다음 편집기 확장 기능 중 하나를 사용합니다. GitLab Language Server는 VS Code, JetBrains IDE, Visual Studio, Eclipse 및 Neovim에서 사용됩니다.
Code Suggestions는 다음 편집기 확장 기능과 다음 언어에서 사용 가능합니다.
지원되는 편집기 확장 기능#
Code Suggestions를 사용하려면 다음 편집기 확장 기능 중 하나를 사용합니다.
| IDE | 확장 기능 |
|---|---|
| Visual Studio Code (VS Code) | GitLab for VS Code |
| GitLab Web IDE (클라우드의 VS Code) | 구성 필요 없음. |
| Microsoft Visual Studio (Windows용 2022) | Visual Studio GitLab 확장 기능 |
| JetBrains IDE | JetBrains용 GitLab Duo 플러그인 |
| Neovim | gitlab.vim 플러그인 |
| Eclipse | GitLab for Eclipse |
GitLab Language Server는 VS Code, JetBrains IDE, Visual Studio, Eclipse 및 Neovim에서 사용됩니다. Language Server는 더 많은 플랫폼에서 더 빠른 반복을 지원합니다. GitLab이 공식 지원을 제공하지 않는 IDE에서 Code Suggestions를 지원하도록 구성할 수도 있습니다.
다른 IDE 확장 기능 지원에 대한 관심은 이 이슈에서 표현할 수 있습니다.
IDE별 지원 언어#
VS Code에서 Code Suggestions는 IDE가 지원하는 모든 언어에서 작동하며, 일반 텍스트는 제외됩니다. Kotlin, Scala, Terraform 같은 일부 언어는 VS Code에 해당 언어 지원을 추가하려면 타사 확장 기능을 설치해야 합니다. 특정 언어에 대해 Code Suggestions를 끌 수 있습니다.
다른 IDE의 경우 다음 표는 Code Suggestions가 기본적으로 지원하는 언어를 나열합니다. Code Suggestions는 다른 언어에서도 작동하지만 지원을 수동으로 추가해야 합니다.
| 언어 | Web IDE | JetBrains IDE | Windows용 Visual Studio 2022 | Neovim | Eclipse |
|---|---|---|---|---|---|
| C | ✅ | ❌ | ✅ | ✅ | ✅ |
| C++ | ✅ | ✅ | ✅ | ✅ | ✅ |
| C# | ✅ | ✅ | ✅ | ✅ | ✅ |
| CSS | ✅ | ❌ | ❌ | ❌ | ❌ |
| Go | ✅ | ✅ | ✅ | ✅ | ✅ |
| Google SQL | ✅ | ✅ | ✅ | ✅ | ❌ |
| HAML | ✅ | ✅ | ✅ | ✅ | ✅ |
| HTML | ✅ | ❌ | ❌ | ❌ | ❌ |
| Java | ✅ | ✅ | ✅ | ✅ | ✅ |
| JavaScript | ✅ | ✅ | ✅ | ✅ | ✅ |
| Kotlin | ❌ | ✅ | ✅ | ✅ | ✅ |
| Markdown | ✅ | ❌ | ❌ | ❌ | ❌ |
| PHP | ✅ | ✅ | ✅ | ✅ | ✅ |
| Python | ✅ | ✅ | ✅ | ✅ | ✅ |
| Ruby | ✅ | ✅ | ✅ | ✅ | ✅ |
| Rust | ✅ | ✅ | ✅ | ✅ | ✅ |
| Scala | ❌ | ✅ | ✅ | ✅ | ✅ |
셸 스크립트 (bash 전용) |
✅ | ✅ | ✅ | ✅ | ✅ |
| Svelte | ✅ | ✅ | ✅ | ✅ | ✅ |
| Swift | ✅ | ✅ | ✅ | ✅ | ✅ |
TypeScript (.ts 및 .tsx 파일) |
✅ | ✅ | ✅ | ✅ | ✅ |
| Terraform | ❌ | ✅ | ❌ | ✅1 | ✅ |
| Vue | ✅ | ✅ | ✅ | ✅ | ✅ |
일부 언어는 모든 JetBrains IDE에서 지원되지 않거나 추가 플러그인 지원이 필요할 수 있습니다. 특정 IDE에 대한 자세한 내용은 JetBrains 문서를 참고합니다.
서비스형 인프라(IaC) 지원#
Code Suggestions는 다음을 포함하는 서비스형 인프라 인터페이스에서 작동합니다.
- Kubernetes Resource Model (KRM)
- Google Cloud CLI
- Terraform
Code Suggestions의 언어 관리#
히스토리
VS Code에서 Code Suggestions는 기본적으로 모든 언어에 대해 켜져 있습니다. 특정 언어에 대해서는 끌 수 있습니다.
현재 파일의 언어에 대해 Code Suggestions를 끄거나 켜려면 다음을 수행합니다.
- VS Code에서 해당 언어의 파일을 엽니다.
- 명령 팔레트를 엽니다.
- macOS에서는 Command+Shift+P를 누릅니다.
- Windows 또는 Linux에서는 Control+Shift+P를 누릅니다.
- GitLab: Toggle Code Suggestions for current language를 선택합니다.
상태 표시줄의 GitLab Duo 아이콘을 선택한 다음, 현재 언어에 대해 Code Suggestions를 끄거나 켜는 옵션을 선택할 수도 있습니다.
둘 이상의 언어에 대해 Code Suggestions를 끄려면 다음을 수행합니다.
- VS Code에서 Settings 에디터를 엽니다.
- macOS에서는 Command+,를 누릅니다.
- Windows 또는 Linux에서는 Control+,를 누릅니다.
- Extensions > GitLab > GitLab Duo를 선택합니다.
- GitLab › Duo Code Suggestions: Disabled Languages 아래에서 Add Item을 선택합니다.
python이나markdown처럼 언어 식별자를 입력합니다.- OK를 선택합니다.
변경 사항은 자동으로 저장되어 즉시 적용됩니다.
언어에 대해 Code Suggestions를 끄면 GitLab Duo 아이콘이 해당 언어에 대해 제안을 사용할 수 없음을 표시하도록 변경됩니다.
이전 버전의 확장 기능에서 Enabled Supported Languages 설정으로 언어를 껐다면, 업데이트할 때 확장 기능이 해당 언어를 Disabled Languages에 추가합니다.
더 많은 언어 지원 추가#
VS Code에서는 언어를 추가할 필요가 없습니다. Code Suggestions는 일반 텍스트를 제외한 모든 언어에서 작동합니다.
다른 IDE에서는 원하는 언어에 기본적으로 Code Suggestions를 사용할 수 없는 경우 로컬에서 해당 언어에 대한 지원을 추가할 수 있습니다. 그러나 Code Suggestions가 예상대로 작동하지 않을 수 있습니다.
사전 요구 사항:
- JetBrains IDE용 GitLab Duo 플러그인을 설치하고 활성화했습니다.
- JetBrains 확장 기능 설정 지침을 완료하고 확장 기능이 GitLab 계정에 접근하도록 권한을 부여했습니다.
방법:
- 언어 식별자 목록에서 원하는 언어를 찾습니다. 다음 단계에서 언어의 식별자가 필요합니다.
- IDE에서 상단 표시줄의 IDE 이름을 선택한 다음 Settings를 선택합니다.
- 왼쪽 사이드바에서 Tools > GitLab Duo를 선택합니다.
- Code Suggestions Enabled Languages > Additional languages에서 지원하려는 각 언어의 식별자를 추가합니다. 식별자는
html과 같이 소문자여야 합니다. 여러 식별자는html,powershell,latex와 같이 쉼표로 구분하고 각 식별자에 선행 마침표를 추가하지 않습니다. - OK를 선택합니다.
사전 요구 사항:
- GitLab for Eclipse 플러그인을 설치하고 활성화했습니다.
- Eclipse 설정 지침을 완료하고 확장 기능이 GitLab 계정에 접근하도록 권한을 부여했습니다.
방법:
- Eclipse 하단 툴바에서 GitLab 아이콘을 선택합니다.
- Show Settings를 선택합니다.
- Code Suggestions Enabled Languages 섹션으로 스크롤합니다.
- Additional Languages에서 쉼표로 구분된 언어 식별자 목록을 추가합니다. 식별자에 선행 마침표를 추가하지 않습니다. 예를 들어
html,md,powershell을 사용합니다.
Footnotes
-
Neovim은
terraform파일 유형을 제공하는 타사 확장 기능이 필요합니다. ↩