如何使用 LSP (Clangd) 设置 Neovim

问题描述 投票:0回答:3

enter image description here

我正在尝试设置 neovim 以进行 C++ 竞争性编程。我认为在输入代码时显示错误会对我有很大帮助,因此我需要在 neovim 中设置 lsp,我尝试过 Nighty Build neovim 但我没有在 gnome-terminal 中工作,所以我什至切换到 Alacrity 但仍然无法正确设置LSP。 我的要求:我只需要我的 nvim 在我打字时显示代码中的错误(不需要自动完成或自动导入)。 在 neovim 中是否有可能,如果有人知道的话请帮助我设置我的 nvim。 (我需要我的 vim 显示如图所示的错误)

c++ neovim language-server-protocol clangd
3个回答
3
投票

很多方法。这个很简单:

安装lunarvim

lvim

:LspInstall clangd


2
投票

我一直被这个问题困扰。我对 C++ 使用 GCC 编译器 (g++),不想下载 Clang 或 LLVM。最后,我得到了不需要下载 Clang 就可以使用 Clangd 的解决方案。 请按照以下步骤操作。

  • 从官方 Clangd github 页面下载 Clangd 的二进制文件
  • 解压它并将其保存在磁盘中您想要的任何位置(我更喜欢将其保存在不需要提升命令的地方。
  • 将二进制文件(请参阅下载文件夹中的 bin 文件夹)添加到路径中。请注意,Clangd 二进制文件依赖于它附带的包含文件。所以我不会把它们分开。
  • 要测试一切是否正常,请在终端中输入 Clangd 并查看它是否正常工作。服务器启动然后你就可以开始了。

通过使用此方法,您放弃了 Clang 和 LLVM 文件。

注意 Clangd 不支持

#include<bits/stdc++.h
,因为它只是 GCC 编译器的一部分。同样,clang 不支持 INT_MAX、INT_MIN,而是支持 INT32_MIN、INT32_MAX。

这是我的设置 Neovim with Native LSP


0
投票

与@casonadams的答案类似,但在lunarvim的配置上稍微不那么复杂,是lunarvim的子项目,Launch.nvim

配置更简单一些。它使用 folke/lazy.nvim。安装后,Lauch.nvim 默认不识别 C-C++ 文件。 例如,Ctrl-]不会转到函数的定义。 要使 Launch.nvim 能够识别 C-C++ 文件:

  1. 安装lsp :Lsp安装 clangd

  2. 然后将clangd添加到本地lsp服务器:

    a.在~/.config/nvim/lua/user/lspconfig.lua中
    本地服务器= {
    “lua_ls”,
    “叮”,
    ...

    b.并在〜/.config/nvim/lua/user/mason.lua
    函数 M.config()
    本地服务器= {
    “lua_ls”,
    “叮”,
    ...

© www.soinside.com 2019 - 2024. All rights reserved.