Supported extensions and languages

Tier: Premium or Ultimate with GitLab Duo Pro Offering: GitLab.com, Self-managed, GitLab Dedicated

Code Suggestions is available in the following editor extensions and for the following languages.

Supported editor extensions

To use Code Suggestions, use one of these editor extensions:

IDE Extension
Visual Studio Code (VS Code) VS Code GitLab Workflow extension
GitLab Web IDE (VS Code in the Cloud) No configuration required.
Microsoft Visual Studio (2022 for Windows) Visual Studio GitLab extension
JetBrains IDEs GitLab Duo Plugin for JetBrains
Neovim gitlab.vim plugin

A GitLab Language Server is used in VS Code, Visual Studio, and Neovim. The Language Server supports faster iteration across more platforms. You can also configure it to support Code Suggestions in IDEs where GitLab doesn’t provide official support.

You can express interest in other IDE extension support in this issue.

Supported languages

Code Suggestions is aware of common popular programming languages, concepts, and infrastructure-as-code interfaces, like Kubernetes Resource Model (KRM), Google Cloud CLI, and Terraform.

Code Suggestions supports these languages:

Language Web IDE VS Code JetBrains IDEs Visual Studio 2022 for Windows Neovim
C Yes Yes No Yes Yes
C++ Yes Yes Yes Yes Yes
C# Yes Yes Yes Yes Yes
CSS Yes No No No No
Go Yes Yes Yes Yes Yes
Google SQL Yes Yes Yes Yes Yes
HAML Yes Yes Yes Yes Yes
HTML Yes No No No No
Java Yes Yes Yes Yes Yes
JavaScript Yes Yes Yes Yes Yes
Kotlin No Yes

(Requires third-party extension providing Kotlin support)
Yes Yes Yes
Markdown Yes No No No No
PHP Yes Yes Yes Yes Yes
Python Yes Yes Yes Yes Yes
Ruby Yes Yes Yes Yes Yes
Rust Yes Yes Yes Yes Yes
Scala No Yes

(Requires third-party extension providing Scala support)
Yes Yes Yes
Shell scripts (bash only) Yes No Yes Yes Yes
Svelte Yes Yes Yes Yes Yes
Swift Yes Yes Yes Yes Yes
TypeScript Yes Yes Yes Yes Yes
Terraform No Yes

(Requires third-party extension providing Terraform support)
Yes No Yes

(Requires third-party extension providing the terraform file type)
Vue Yes Yes Yes Yes Yes
note
Some languages are not supported in all JetBrains IDEs, or might require additional plugin support. Refer to the JetBrains documentation for specifics on your IDE.

For languages not listed in the table, Code Suggestions might not function as expected.

Use open tabs as context

History

To enhance the accuracy and relevance of GitLab Duo Code Suggestions, enable the use of open tabs as context in your IDE settings. This feature uses the contents of files most recently opened or changed in your IDE to provide more tailored code suggestions, within certain truncation limits. This extra context gives you:

  • More accurate and relevant code suggestions
  • Better alignment with your project’s standards and practices
  • Improved context for new file creation

Open tabs as context supports these languages:

  • Code Completion: All configured languages.
  • Code Generation: Go, Java, JavaScript, Kotlin, Python, Ruby, Rust, TypeScript (.ts and .tsx files), Vue, and YAML.

Enable open tabs as context

Prerequisites:

  • Requires GitLab 17.1 or later.
  • For GitLab self-managed instances, enable the code_suggestions_contextand the advanced_context_resolver feature flags.
  • GitLab Duo Code Suggestions enabled for your project
  • For Visual Studio Code, requires the GitLab Workflow extension, version 4.14.2 or later.
Visual Studio Code
  1. Install the GitLab Workflow extension from the Visual Studio Marketplace.
  2. Configure the extension following the setup instructions.
  3. Enable the feature by toggling the gitlab.aiAssistedCodeSuggestions.enabledSupportedLanguages setting.
JetBrains IDEs

For installation instructions for JetBrains IDEs, see the GitLab JetBrains Plugin documentation.

When you’re ready to start coding:

  1. Open relevant files, including configuration files, to provide better context.
  2. Close any files you don’t want to be used as context.

View Multiple Code Suggestions

History

For a code completion suggestion in VS Code, multiple suggestion options might be available. To view all available suggestions:

  1. Hover over the code completion suggestion.
  2. Scroll through the alternatives. Either:
    • Use keyboard shortcuts. Press Option + `]` to view the next suggestion, and Option + `[` to view the previous suggestions.
    • Select the right or left arrow to see next or previous options.
  3. Press Tab to apply the suggestion you prefer.

Add additional languages for Code Suggestions

If your desired language isn’t enabled by default for Code Suggestions, you can add support for it locally.

Prerequisites:

To do this:

  1. Find your desired language in the list of language identifiers for VS Code. You need the Identifier for a later step.
  2. In VS Code, open the extension settings for GitLab Workflow:
    1. On the top bar, go to Code > Settings > Extensions.
    2. Search for GitLab Workflow in the list, and select Manage ().
    3. Select Extension Settings.
    4. In your User settings, find GitLab › Ai Assisted Code Suggestions: Additional Languages and select Add Item.
  3. In Item, add the language identifier, and select OK.