【问题标题】:How do you allow Neovim CoC to see include directories你如何允许 Neovim CoC 查看包含目录
【发布时间】:2021-12-25 23:15:22
【问题描述】:

Neovim 中的 Coc 似乎无法看到 #include <avr/io.h>,因为我猜它的包含路径不为 coc 所知。如何让 coc 看到这个包含路径?

【问题讨论】:

  • 这与coc无关。您使用的是哪种语言服务器?检查语言服务器文档。
  • @jdhao 我正在使用clangd
  • 这可能会有所帮助:jdhao.github.io/2021/07/03/install_clangd_on_linux/…。您需要设置正确的编译标志、包含路径等。
  • @jdhao 我想不通的是如何让clangd使用compilation_flags.txtcompile_commands.json。我认为这与配置coc-settings.json 有关,但我完全不确定从哪里开始。我虽然 this 页面会有一些信息,但并没有太大帮助。
  • 对我来说,我只是将compile_flags.txt 放入项目中(注意它是不是 compilation_flags.txt)root 和自动完成开始工作。我正在使用内置的 nvim lsp 客户端。我对 coc.nvim 一无所知。我的配置是here,如果你有兴趣的话。

标签: clang neovim


【解决方案1】:

找到解决办法如下:

  1. 在项目目录的根目录(编译的基础)中添加一个名为 compile_flags.txt 的文件。
  2. compile_flags.txt 文件,对于 AVR 包括,添加 -I/usr/avr/include

注意:compile_flags.txt 文件每行只接受一个参数,因此该文件的实际内容应该是

-I
/usr/avr/include

参考资料: JSON Compilation Database Format Specification

【讨论】:

  • 另见https://clangd.llvm.org/installation.html#project-setup
猜你喜欢
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
相关资源
最近更新 更多