目前我使用的是 Windows 机器,并且想尝试用于 linux(wsl) 的 Windows 子系统进行 C++ 开发。 Visual Studio Code(VSC) 提供了一个简洁的扩展,用于处理运行良好的子系统。我还无法开始工作的一件事是让 vsc 包含位于子系统内部的头文件。
我知道我可以手动添加新路径以包含在“c_cpp_properties.json”中,但我不知道从 Windows 指向子系统 /usr/include 的任何路径(作为示例)。我找到了一些资源(wsl include paths),但无论如何都无法让它工作。我还尝试按照 gitlab 问题中的描述自行生成路径,但这也没有帮助。
任何人有一些为 C++ 项目设置 vsc 和 wsl 的经验谁可以帮助我?
问题缺少一些信息,例如您正在使用的发行版以及您遵循的设置步骤。这意味着我将做出一些假设并重复您可能已经知道的信息。
假设:基于 Debian 的发行版
sudo apt update && sudo apt upgrade -y && sudo apt install build-essential -y
您可能还需要安装 git 或 cmake 或您的项目需要的任何其他工具。
将 C/C++ 扩展安装到遥控器中。安装任何其他有用的扩展,例如如果您使用 cmake,则安装 cmake。
需要更改的设置(全局)
"C_Cpp.default.compilerPath": "/absolute/path/to/your/compiler",
"files.eol": "\n",
"C_Cpp.default.cppStandard": "<SET>",
"C_Cpp.default.cStandard": "<SET>",
"C_Cpp.default.intelliSenseMode": "<SET>",
后三项需要根据您的公司/项目指南进行设置。
此时,您应该能够编写使用 C++ 标准库的 C++ 代码并具有正确的智能感知功能。
您的主要问题似乎是关于添加项目特定的包含路径。这是由 c_cpp_properties.json 文件处理的。您的硬盘位于
/mnt
。指定您的路径。不过,更好的方法是简单地使用 VS Code 变量。像 ${workspaceFolder}/include
这样的东西应该就是你所需要的。
您需要创建此文件来设置路径和更多 c_cpp_properties.json 有关更多信息,您可以查看此处https://code.visualstudio.com/docs/cpp/config-wsl#_cc-configurations
快乐编码,
当我尝试使用 wsl 并将其投射到 vscode 上时。会有错误。 但你仍然可以使用该库:
我不使用额外的配置。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/clang-7",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "linux-clang-x64"
}
],
"version": 4
}
我认为这对 WSL 团队来说应该是一个打击。
这是适合我的配置:
{
"configurations": [
{
"name": "Linux",
"includePath": ["${workspaceFolder}/**", "/usr/include/c++/**"],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
希望它对某人有帮助。