Back to Gitlabhq

Installer et configurer le plugin GitLab pour Neovim

doc-locale/fr-fr/editor_extensions/neovim/setup.md

19.3.06.5 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

Prérequis :

  • Pour GitLab.com et GitLab Self-Managed, vous devez disposer de GitLab version 16.1 ou ultérieure. Bien que de nombreuses fonctionnalités de l'extension puissent fonctionner avec des versions antérieures, celles-ci ne sont pas prises en charge.
    • La fonctionnalité GitLab Duo Code Suggestions nécessite GitLab version 16.8 ou ultérieure.
  • Vous disposez de Neovim version 0.9 ou ultérieure.
  • Vous avez installé NPM. NPM est requis pour l'installation de Code Suggestions.

Pour installer l'extension, suivez les étapes d'installation correspondant au gestionnaire de plugins de votre choix :

{{< tabs >}}

{{< tab title="Pas de gestionnaire de plugins" >}}

Exécutez cette commande pour inclure ce projet avec packadd au démarrage :

shell
git clone https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim.git ~/.local/share/nvim/site/pack/gitlab/start/gitlab.vim

{{< /tab >}}

{{< tab title="lazy.nvim" >}}

Ajoutez ce plugin à votre configuration lazy.nvim :

lua
{
  'https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim.git',
  -- Activate when a file is created/opened
  event = { 'BufReadPre', 'BufNewFile' },
  -- Activate when a supported filetype is open
  ft = { 'go', 'javascript', 'python', 'ruby' },
  cond = function()
    -- Only activate if token is present in environment variable.
    -- Remove this line to use the interactive workflow.
    return vim.env.GITLAB_TOKEN ~= nil and vim.env.GITLAB_TOKEN ~= ''
  end,
  opts = {
    statusline = {
      -- Hook into the built-in statusline to indicate the status
      -- of the GitLab Duo Code Suggestions integration
      enabled = true,
    },
  },
}

{{< /tab >}}

{{< tab title="packer.nvim" >}}

Déclarez le plugin dans votre configuration packer.nvim :

lua
use {
  "[email protected]:gitlab-org/editor-extensions/gitlab.vim.git",
}

{{< /tab >}}

{{< /tabs >}}

S'authentifier avec GitLab {#authenticate-with-gitlab}

Pour connecter cette extension à votre compte GitLab, configurez vos variables d'environnement :

Variable d'environnementValeur par défautDescription
GITLAB_TOKENsans objetLe jeton d'accès personnel GitLab par défaut à utiliser pour les requêtes authentifiées. Si fourni, ignore l'authentification interactive.
GITLAB_VIM_URLhttps://gitlab.comRemplace l'instance GitLab à laquelle se connecter. Par défaut : https://gitlab.com.

Une liste complète des variables d'environnement est disponible dans le texte d'aide de l'extension à l'adresse doc/gitlab.txt.

Configurer l'extension {#configure-the-extension}

Pour configurer cette extension :

  1. Configurez les types de fichiers souhaités. Par exemple, étant donné que ce plugin prend en charge Ruby, il ajoute une auto-commande FileType ruby. Pour configurer ce comportement pour d'autres types de fichiers, ajoutez davantage de types de fichiers à l'option de configuration code_suggestions.auto_filetypes :

    lua
    require('gitlab').setup({
      statusline = {
        enabled = false
      },
      code_suggestions = {
        -- For the full list of default languages, see the 'auto_filetypes' array in
        -- https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim/-/blob/main/lua/gitlab/config/defaults.lua
        auto_filetypes = { 'ruby', 'javascript' }, -- Default is { 'ruby' }
        ghost_text = {
          enabled = false, -- ghost text is an experimental feature
          toggle_enabled = "<C-h>",
          accept_suggestion = "<C-l>",
          clear_suggestions = "<C-k>",
          stream = true,
        },
      }
    })
    
  2. Configurez Omni Completion pour définir le raccourci clavier qui déclenche Code Suggestions.

  3. Facultatif. Configurer les mappages de touches <Plug>.

  4. Facultatif. Configurez les balises d'aide à l'aide de :helptags ALL pour accéder à :help gitlab.txt.

Configurer Omni Completion {#configure-omni-completion}

Pour activer Omni Completion avec Code Suggestions :

  1. Créez un jeton d'accès personnel avec la portée api.

  2. Ajoutez le jeton à votre shell en tant que variable d'environnement GITLAB_TOKEN.

  3. Installez le serveur de langage Code Suggestions en exécutant la commande vim :GitLabCodeSuggestionsInstallLanguageServer.

  4. Démarrez le serveur de langage en exécutant la commande vim :GitLabCodeSuggestionsStart. Facultativement, configurez les mappages de touches <Plug> pour activer ou désactiver le serveur de langage.

  5. Facultatif. Envisagez de configurer la boîte de dialogue d'Omni Completion même pour une seule suggestion :

    lua
    vim.o.completeopt = 'menu,menuone'
    

Lorsque vous travaillez dans un type de fichier pris en charge, ouvrez le menu Omni Completion en appuyant sur <kbd>Control</kbd>+<kbd>x</kbd> puis <kbd>Control</kbd>+<kbd>o</kbd>.

Configurer les mappages de touches <Plug> {#configure-plug-key-mappings}

Pour plus de commodité, ce plugin fournit des mappages de touches <Plug>. Pour utiliser le mappage de touches <Plug>(GitLab...), vous devez inclure votre propre mappage de touches qui le référence :

lua
-- Toggle Code Suggestions on/off with Control-G in normal mode:
vim.keymap.set('n', '<C-g>', '<Plug>(GitLabToggleCodeSuggestions)')

Désinstaller l'extension {#uninstall-the-extension}

Pour désinstaller l'extension, supprimez ce plugin ainsi que tous les binaires du serveur de langage à l'aide de ces commandes :

shell
rm -r ~/.local/share/nvim/site/pack/gitlab/start/gitlab.vim
rm ~/.local/share/nvim/gitlab-code-suggestions-language-server-*