告诉VSCode IntelliSense优先使用本地头文件,而不是/usr/local/include中的头文件?

cyvaqqii  于 2023-04-29  发布在  Vscode
关注(0)|答案(1)|浏览(202)

我正在编写一个C代码库,我想你可以称之为monorepo。文件夹A包含用于文件夹B中的代码使用的各种库的代码。当我在VSCode中查看B文件并尝试跳转到A头中定义的符号的定义时,VSCode会将我带到通过make规则安装在/usr/local/include中的A头,而不是文件夹A中的头的本地副本。
有没有什么方法可以告诉VSCode更喜欢本地文件夹A版本的头文件,而不是/usr/local/include头文件,这是通过与编译器讨论系统包含路径得到的?我在c_cpp_properties.json的文档中没有找到任何似乎能够做到这一点的东西。我只是有点担心一个实习生会开始愉快地编辑/usr/local/include中的头文件,而不是在文件夹A中编辑它们并执行make install

nx7onnlm

nx7onnlm1#

我挣扎了一个晚上,终于找到了两个解决办法:
解决方案1:工作空间局部

  • ctrl+shift+p -〉编辑配置(UI)
  • 将“-I${workspaceFolder}/”添加到Compiler arguments
  • 再启动

溶液2:全球

  • 打开C/C++设置
  • 查找Compiler Args(可能有许多选项卡,如用户,远程,工作区,为您自己找到合适的选项卡)
  • 添加“-I${workspaceFolder}/”
  • 再启动

这条评论给了我很大的启发,这是一个功能,不是一个bug

相关问题