Neovim用GitLabプラグインをインストールして設定する
前提要件:
- GitLab.comとGitLabセルフマネージドの両方で、GitLabバージョン16.1以降が必要です。多くの拡張機能は以前のバージョンでも動作する可能性がありますが、サポートされていません。
- GitLab Duoコード提案機能を使用するには、GitLabバージョン16.8以降が必要です。
- Neovimバージョン0.9以降が必要です。
- NPMがインストールされている必要があります。コード提案のインストールにはNPMが必要です。
プラグインをインストールするには、選択したプラグインマネージャーのインストール手順に従ってください:
このジョブを起動時に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)にあります。
拡張機能を設定する
この拡張機能を設定するには:
目的のファイルタイプを設定します。たとえば、このプラグインは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, }, } })Omni Completionを設定して、コード提案をトリガーするためのキーマッピングをセットアップします。
オプション。
<Plug>キーマッピングを設定する。オプション。
:help gitlab.txtにアクセスするには、:helptags ALLを使用してhelptagsをセットアップします。
Omni Completionの設定
コード提案でOmni Completionを有効にするには:
apiスコープを持つパーソナルアクセストークンを作成してください。GITLAB_TOKEN環境変数としてShellにトークンを追加します。:GitLabCodeSuggestionsInstallLanguageServervimコマンドを実行して、コード提案言語サーバーをインストールします。:GitLabCodeSuggestionsStartvimコマンドを実行して、言語サーバーを起動します。オプションで、言語サーバーを切り替えるには、<Plug>キーマッピングを設定します。オプション。単一の提案の場合でも、Omni Completionのダイアログを設定することを検討してください:
vim.o.completeopt = 'menu,menuone'
サポートされているファイルタイプで作業している場合は、Control+x、次にControl+oを押して、Omni Completionメニューを開きます。
<Plug>キーマッピングを設定する
便宜上、このプラグインは<Plug>キーマッピングを提供します。<Plug>(GitLab...)キーマッピングを使用するには、それを参照する独自のキーマッピングを含める必要があります:
-- Toggle Code Suggestions on/off with Control-G in normal mode:
vim.keymap.set('n', '<C-g>', '<Plug>(GitLabToggleCodeSuggestions)')プラグインをアンインストール
プラグインをアンインストールするには、次のコマンドを使用して、このプラグインと言語サーバーバイナリを削除します:
rm -r ~/.local/share/nvim/site/pack/gitlab/start/gitlab.vim
rm ~/.local/share/nvim/gitlab-code-suggestions-language-server-*