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'<C-]>およびその他のタグ コマンドを使用して「定義に移動」機能を有効にします。'omnifunc'<CX><CO>による (手動) オムニ モード補完を有効にします。オートコンプリートを使用するには、オートコンプリート プラグインが必要です。'formatexpr'gqを使用した LSP フォーマットを有効にします。Kノーマルモードではvim.lsp.buf.hover()にマップされます。[dと]dそれぞれvim.diagnostic.goto_prev()とvim.diagnostic.goto_next()にマップします。<CW>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 <config_name>要求されたサーバー名を開始します。コマンドが現在の構成に一致するルート ディレクトリを検出した場合にのみ正常に開始されます。このコマンドのみでクライアントを起動したい場合は、言語サーバーの.setup{}呼び出しにautostart = falseを渡します。デフォルトは、現在のバッファファイルタイプに一致するすべてのサーバーです。:LspStop <client_id>デフォルトではすべてのバッファクライアントを停止します。:LspRestart <client_id>デフォルトでは、すべてのバッファ クライアントが再起動されます。 言語サーバーが configs.md にない場合、特にサーバーに特別なセットアップが必要な場合は、その言語サーバーの新しい構成を提供すると他のユーザーの役に立ちます。次の手順に従います。
lua/lspconfig/configs/SERVER_NAME.luaに新しいファイルを作成します。リリースを公開するには:
Neovim の寄稿者に著作権があります。無断転載を禁じます。
nvim-lspconfig は、Apache 2.0 ライセンスの条件に基づいてライセンスされています。
LICENSE.mdを参照してください。