【问题标题】:vim include .h files from projects include directoryvim 包含项目包含目录中的 .h 文件
【发布时间】:2023-04-07 13:22:01
【问题描述】:

已编辑。
有没有办法让vim检测头文件的路径而不使用源文件中的相对路径,如#include“../foo.h”

如何为当前项目文件夹正确设置path选项,以及如何为其制定规则,让每个具有该文件夹结构的项目都能获利?

有插件吗?

我有一个多文件 c 项目。 int 项目文件夹是一个 src 和一个包含文件夹。 src 目录包含所有 .c 文件,include 文件夹包含所有 .h 文件。

project
|_ src
|_ include

示例:main.c

#include "..\foo.h"

..

如果文件在 src 文件夹中,Vim 知道 foo.h,但如果它在 include 文件夹中则不知道

我尝试在 .vimrc 文件中设置路径变量,但没有成功。 来自 usr/include 的所有其他包含工作正常。

【问题讨论】:

  • 为什么 Vim 需要知道路径?只要您的预处理器/编译器使用 -I .. 参数了解它们
  • 真的。我最近从 vscode 切换到 vim。在 vscode 中,您可以设置包含路径,以消除警告。在 vim 中,我使用 youcompleteme 进行自动补全,也可以摆脱错误警告。
  • 根据您的描述,Vim 不太可能是这里抛出错误和警告的人。使用该插件的文档/问题跟踪器。
  • :h 'path'
  • @Matt 你能描述一下它是怎么做的吗?我想这就是我正在寻找的答案

标签: c vim include-path


【解决方案1】:

您必须声明相对路径或绝对路径。因此,仅从文件名中就没有“自动检测”。

旁注:Vim 不关心你的路径,C 预处理器包含关心你的路径

【讨论】:

    猜你喜欢
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 2012-06-14
    • 1970-01-01
    • 2019-07-12
    • 2013-05-03
    • 2013-06-21
    相关资源
    最近更新 更多