nvim-lspconfig は「データのみ」のリポジトリであり、さまざまな LSP サーバーに基本的なデフォルトの Nvim LSP クライアント構成を提供します。
すべての設定のドキュメントを参照するか、Nvim から:help lspconfig-all
参照してください。
:help lsp
) でバグを見つけた場合は、Neovim コアに報告してください。 git clone https://github.com/neovim/nvim-lspconfig ~/.config/nvim/pack/nvim/start/nvim-lspconfig
npm i -g pyright
require ' lspconfig ' . pyright . setup {}
:help lspconfig-all
で指定されたサーバー要件と一致するルート マーカーが含まれていることを確認してください。 nvim main.py
:checkhealth lsp
を実行してステータスを確認するか、トラブルシューティングを行います。詳細については、 :help lspconfig
参照してください。サーバー固有の詳細の完全なリストについては:help lspconfig-all
を参照してください。 $PATH
上にないサーバー (例: jdtls
、 elixirls
) の場合は、 setup()
を呼び出すときにcmd
パラメータを手動で設定する必要があります。
Nvim は、バッファが LSP にアタッチされるときに、いくつかのデフォルトのオプションとマッピングを設定します ( :help lsp-config
を参照)。特に:
'tagfunc'
およびその他のタグ コマンドを使用して「定義に移動」機能を有効にします。'omnifunc'
による (手動) オムニ モード補完を有効にします。オートコンプリートを使用するには、オートコンプリート プラグインが必要です。'formatexpr'
gq
を使用した LSP フォーマットを有効にします。K
ノーマルモードではvim.lsp.buf.hover()
にマップされます。[d
と]d
それぞれvim.diagnostic.goto_prev()
とvim.diagnostic.goto_next()
にマップします。d
vim.diagnostic.open_float()
にマップされます。 LspAttach
自動コマンド イベントを使用すると、さらにカスタマイズできます。 LspDetach
オートコマンド イベントは、バッファが LSP サーバーから切り離された場合にマッピングを「クリーンアップ」するために使用できます。詳細と例については、 :h LspAttach
および:h LspDetach
を参照してください。他の LSP 関数の詳細については:h lsp-buf
参照してください。
setup
関数に引数を渡すことで、各 LSP サーバーに追加の構成オプションを提供できます。詳細については、 :h lspconfig-setup
参照してください。例:
local lspconfig = require ( ' lspconfig ' )
lspconfig . rust_analyzer . setup {
-- Server-specific settings. See `:help lspconfig-setup`
settings = {
[ ' rust-analyzer ' ] = {},
},
}
言語サーバーが起動または接続しない最も一般的な理由は次のとおりです。
cmd
コマンド ラインから実行すると、言語サーバーが起動することが確認できます。 cmd
実行可能ファイルへの絶対パスではなく実行可能ファイル名である場合は、それがパス上にあることを確認してください。:set ft?
を確認してください。は空の値ではなくファイルタイプを示します。.git
フォルダーですが、各サーバーは lua ファイルでルート構成を定義します。ルート ディレクトリのリストについては、doc/configs.md またはソースを参照してください。setup {}
のcapabilities
を渡す必要があります。setup {}
2 回呼び出さないでください。 setup {}
への 2 回目の呼び出しにより、最初の呼び出しが上書きされます。 LSP 機能のバグを見つけた場合は、Neovim コアに報告してください。
バグを報告する前に、ログと:LspInfo
の出力を確認してください。以下を init.vim に追加してログを有効にします。
vim . lsp . set_log_level ( " debug " )
言語サーバーの実行を試み、次のコマンドでログを開いてください。
:LspLog
ほとんどの場合、失敗の理由はログに記録されています。
:LspInfo
( :che lspconfig
の非推奨のエイリアス) は、アクティブで構成された言語サーバーのステータスを示します。:LspStart
要求されたサーバー名を開始します。コマンドが現在の構成に一致するルート ディレクトリを検出した場合にのみ正常に開始されます。このコマンドのみでクライアントを起動したい場合は、言語サーバーの.setup{}
呼び出しにautostart = false
を渡します。デフォルトは、現在のバッファファイルタイプに一致するすべてのサーバーです。:LspStop
デフォルトではすべてのバッファクライアントを停止します。:LspRestart
デフォルトでは、すべてのバッファ クライアントが再起動されます。 言語サーバーが configs.md にない場合、特にサーバーに特別なセットアップが必要な場合は、その言語サーバーの新しい構成を提供すると他のユーザーの役に立ちます。次の手順に従います。
lua/lspconfig/configs/SERVER_NAME.lua
に新しいファイルを作成します。リリースを公開するには:
Neovim の寄稿者に著作権があります。無断転載を禁じます。
nvim-lspconfig は、Apache 2.0 ライセンスの条件に基づいてライセンスされています。
LICENSE.mdを参照