在Linux for C ++中使用VS Code时,我发现需要配置两个文件: tasks.json 和 c_cpp_properties.json 。
对于task.json,有:
"args": [ "-I", "$PATH",]
对于c_cpp_properties.json,有:
"configurations": ["includePath": ["$PATH1"], ...]
那么它们之间有什么区别?如果需要包含头文件,应该使用哪个文件?
答案 0 :(得分:0)
tasks.json 是您编译/构建C ++应用程序所需要的。如果要添加新的头文件,则必须明确地在args
中指定该头文件的路径,以便将其传递给编译器。
发件人:https://code.visualstudio.com/docs/cpp/config-msvc#_create-a-build-task
args
数组指定将被用作命令行参数的命令行参数。 传递给上一步中指定的编译器。他们 必须按照编译器预期的顺序显示。
如果您使用VS Code进行编译/构建,则绝对需要正确设置。
c_cpp_properties.json 主要用于支持C ++扩展的智能感知和自动完成功能。 includePath
告诉扩展名在哪里可以找到头文件,以便您可以执行“转到定义”或其他代码导航操作。
发件人:https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference#_configuration-properties
includePath
包含路径是包含头文件的文件夹 (例如#include "myHeaderFile.h"
)包含在来源中 文件。指定供IntelliSense引擎使用的路径列表 搜索包含的头文件。如果路径以/**
结尾,则 IntelliSense引擎将对头文件进行递归搜索 从该目录开始。如果在Windows上使用Visual Studio 已安装,或者如果在compilerPath
设置中指定了编译器, 不必在此列表中列出系统包含路径。
您还可以通过访问 Intellisense配置 UI,通过访问命令面板> C / C ++:编辑配置(UI)来修改 c_cpp_properties.json 。
您可以生存而无需正确配置 c_cpp_properties.json 。不需要编译/构建C ++代码。但这在您编写代码时会很有帮助。