InfoGrab DocsInfoGrab Docs

Neovim 용 GitLab 플러그인 설치 및 설정

요약

확장 기능을 설치하려면 사용 중인 플러그인 매니저에 맞는 설치 단계를 따릅니다. 시작 시 packadd로 이 프로젝트를 포함하려면 다음 명령을 실행합니다. lazy.nvim 설정에 이 플러그인을 추가합니다. packer.nvim 설정에 플러그인을 선언합니다.

사전 요구 사항:

  • GitLab.com과 GitLab Self-Managed 모두 GitLab 버전 16.1 이상이 필요합니다. 이전 버전에서도 많은 확장 기능이 동작할 수 있지만 지원 대상은 아닙니다.
    • GitLab Duo Code Suggestions 기능은 GitLab 버전 16.8 이상이 필요합니다.
  • Neovim 버전 0.9 이상이 필요합니다.
  • NPM 이 설치되어 있어야 합니다. NPM은 Code Suggestions 설치에 필요합니다.

확장 기능을 설치하려면 사용 중인 플러그인 매니저에 맞는 설치 단계를 따릅니다.

시작 시 packadd로 이 프로젝트를 포함하려면 다음 명령을 실행합니다.

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

lazy.nvim 설정에 이 플러그인을 추가합니다.

{
  '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,
    },
  },
}

packer.nvim 설정에 플러그인을 선언합니다.

use {
  "git@gitlab.com:gitlab-org/editor-extensions/gitlab.vim.git",
}

GitLab으로 인증합니다#

이 확장 기능을 GitLab 계정에 연결하려면 환경 변수를 구성합니다.

환경 변수 기본값 설명
GITLAB_TOKEN 해당 없음 인증된 요청에 사용할 기본 GitLab 개인 액세스 토큰입니다. 값을 지정하면 대화형 인증을 건너뜁니다.
GITLAB_VIM_URL https://gitlab.com 연결할 GitLab 인스턴스를 재정의합니다. 기본값은 https://gitlab.com 입니다.

전체 환경 변수 목록은 확장 기능의 도움말 텍스트인 doc/gitlab.txt에서 확인할 수 있습니다.

확장 기능을 구성합니다#

이 확장 기능을 구성하려면 다음을 수행합니다.

  1. 원하는 파일 형식을 구성합니다. 예를 들어 이 플러그인은 Ruby를 지원하므로 FileType ruby 자동 명령을 추가합니다. 더 많은 파일 형식에 대해 이 동작을 구성하려면 code_suggestions.auto_filetypes 설정 옵션에 파일 형식을 추가합니다.

    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. Code Suggestions를 실행할 키 매핑을 설정하려면 Omni Completion을 구성합니다.

  3. 선택 사항입니다. 키 매핑을 구성합니다.

  4. 선택 사항입니다. :helptags ALL을 사용해 helptags를 설정하면 :help gitlab.txt에 접근할 수 있습니다.

Omni Completion을 구성합니다#

Code Suggestions와 함께 Omni Completion을 사용하도록 설정하려면 다음을 수행합니다.

  1. api 스코프로 개인 액세스 토큰을 생성합니다.

  2. 셸에 GITLAB_TOKEN 환경 변수로 토큰을 추가합니다.

  3. :GitLabCodeSuggestionsInstallLanguageServer vim 명령을 실행해 Code Suggestions 언어 서버를 설치합니다.

  4. :GitLabCodeSuggestionsStart vim 명령을 실행해 언어 서버를 시작합니다. 필요하면 언어 서버를 켜고 끄도록 키 매핑을 구성합니다.

  5. 선택 사항입니다. 제안이 하나뿐일 때도 Omni Completion의 대화상자를 표시하도록 구성하는 것을 고려합니다.

    vim.o.completeopt = 'menu,menuone'
    

지원되는 파일 형식에서 작업할 때는 Control+x를 누른 다음 Control+o를 눌러 Omni Completion 메뉴를 엽니다.

키 매핑을 구성합니다#

편의를 위해 이 플러그인은 키 매핑을 제공합니다. (GitLab...) 키 매핑을 사용하려면 이를 참조하는 자신만의 키 매핑을 포함해야 합니다.

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

확장 기능을 제거합니다#

확장 기능을 제거하려면 다음 명령으로 이 플러그인과 언어 서버 바이너리를 모두 삭제합니다.

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

Neovim 용 GitLab 플러그인 설치 및 설정

GitLab v19.4
Tier: [Free](../../subscriptions/gitlab_credits.md#for-the-free-tier), Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

확장 기능을 설치하려면 사용 중인 플러그인 매니저에 맞는 설치 단계를 따릅니다. 시작 시 packadd로 이 프로젝트를 포함하려면 다음 명령을 실행합니다. lazy.nvim 설정에 이 플러그인을 추가합니다. packer.nvim 설정에 플러그인을 선언합니다.

사전 요구 사항:

  • GitLab.com과 GitLab Self-Managed 모두 GitLab 버전 16.1 이상이 필요합니다. 이전 버전에서도 많은 확장 기능이 동작할 수 있지만 지원 대상은 아닙니다.
    • GitLab Duo Code Suggestions 기능은 GitLab 버전 16.8 이상이 필요합니다.
  • Neovim 버전 0.9 이상이 필요합니다.
  • NPM 이 설치되어 있어야 합니다. NPM은 Code Suggestions 설치에 필요합니다.

확장 기능을 설치하려면 사용 중인 플러그인 매니저에 맞는 설치 단계를 따릅니다.

시작 시 packadd로 이 프로젝트를 포함하려면 다음 명령을 실행합니다.

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

lazy.nvim 설정에 이 플러그인을 추가합니다.

{
  '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,
    },
  },
}

packer.nvim 설정에 플러그인을 선언합니다.

use {
  "git@gitlab.com:gitlab-org/editor-extensions/gitlab.vim.git",
}

GitLab으로 인증합니다#

이 확장 기능을 GitLab 계정에 연결하려면 환경 변수를 구성합니다.

환경 변수 기본값 설명
GITLAB_TOKEN 해당 없음 인증된 요청에 사용할 기본 GitLab 개인 액세스 토큰입니다. 값을 지정하면 대화형 인증을 건너뜁니다.
GITLAB_VIM_URL https://gitlab.com 연결할 GitLab 인스턴스를 재정의합니다. 기본값은 https://gitlab.com 입니다.

전체 환경 변수 목록은 확장 기능의 도움말 텍스트인 doc/gitlab.txt에서 확인할 수 있습니다.

확장 기능을 구성합니다#

이 확장 기능을 구성하려면 다음을 수행합니다.

  1. 원하는 파일 형식을 구성합니다. 예를 들어 이 플러그인은 Ruby를 지원하므로 FileType ruby 자동 명령을 추가합니다. 더 많은 파일 형식에 대해 이 동작을 구성하려면 code_suggestions.auto_filetypes 설정 옵션에 파일 형식을 추가합니다.

    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. Code Suggestions를 실행할 키 매핑을 설정하려면 Omni Completion을 구성합니다.

  3. 선택 사항입니다. 키 매핑을 구성합니다.

  4. 선택 사항입니다. :helptags ALL을 사용해 helptags를 설정하면 :help gitlab.txt에 접근할 수 있습니다.

Omni Completion을 구성합니다#

Code Suggestions와 함께 Omni Completion을 사용하도록 설정하려면 다음을 수행합니다.

  1. api 스코프로 개인 액세스 토큰을 생성합니다.

  2. 셸에 GITLAB_TOKEN 환경 변수로 토큰을 추가합니다.

  3. :GitLabCodeSuggestionsInstallLanguageServer vim 명령을 실행해 Code Suggestions 언어 서버를 설치합니다.

  4. :GitLabCodeSuggestionsStart vim 명령을 실행해 언어 서버를 시작합니다. 필요하면 언어 서버를 켜고 끄도록 키 매핑을 구성합니다.

  5. 선택 사항입니다. 제안이 하나뿐일 때도 Omni Completion의 대화상자를 표시하도록 구성하는 것을 고려합니다.

    vim.o.completeopt = 'menu,menuone'
    

지원되는 파일 형식에서 작업할 때는 Control+x를 누른 다음 Control+o를 눌러 Omni Completion 메뉴를 엽니다.

키 매핑을 구성합니다#

편의를 위해 이 플러그인은 키 매핑을 제공합니다. (GitLab...) 키 매핑을 사용하려면 이를 참조하는 자신만의 키 매핑을 포함해야 합니다.

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

확장 기능을 제거합니다#

확장 기능을 제거하려면 다음 명령으로 이 플러그인과 언어 서버 바이너리를 모두 삭제합니다.

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