我正在尝试设置 neovim 以进行 C++ 竞争性编程。我认为在输入代码时显示错误会对我有很大帮助,因此我需要在 neovim 中设置 lsp,我尝试过 Nighty Build neovim 但我没有在 gnome-terminal 中工作,所以我什至切换到 Alacrity 但仍然无法正确设置LSP。 我的要求:我只需要我的 nvim 在我打字时显示代码中的错误(不需要自动完成或自动导入)。 在 neovim 中是否有可能,如果有人知道的话请帮助我设置我的 nvim。 (我需要我的 vim 显示如图所示的错误)
我一直被这个问题困扰。我对 C++ 使用 GCC 编译器 (g++),不想下载 Clang 或 LLVM。最后,我得到了不需要下载 Clang 就可以使用 Clangd 的解决方案。 请按照以下步骤操作。
通过使用此方法,您放弃了 Clang 和 LLVM 文件。
注意 Clangd 不支持
#include<bits/stdc++.h
,因为它只是 GCC 编译器的一部分。同样,clang 不支持 INT_MAX、INT_MIN,而是支持 INT32_MIN、INT32_MAX。
与@casonadams的答案类似,但在lunarvim的配置上稍微不那么复杂,是lunarvim的子项目,Launch.nvim。
配置更简单一些。它使用 folke/lazy.nvim。安装后,Lauch.nvim 默认不识别 C-C++ 文件。 例如,Ctrl-]不会转到函数的定义。 要使 Launch.nvim 能够识别 C-C++ 文件:
安装lsp :Lsp安装 clangd
然后将clangd添加到本地lsp服务器:
a.在~/.config/nvim/lua/user/lspconfig.lua中
本地服务器= {
“lua_ls”,
“叮”,
...
b.并在〜/.config/nvim/lua/user/mason.lua
函数 M.config()
本地服务器= {
“lua_ls”,
“叮”,
...