如何在 Visual Studio Code 中设置适用于 Linux 的 Windows 子系统中的包含路径

问题描述 投票:0回答:4

目前我使用的是 Windows 机器,并且想尝试用于 linux(wsl) 的 Windows 子系统进行 C++ 开发。 Visual Studio Code(VSC) 提供了一个简洁的扩展,用于处理运行良好的子系统。我还无法开始工作的一件事是让 vsc 包含位于子系统内部的头文件。

我知道我可以手动添加新路径以包含在“c_cpp_properties.json”中,但我不知道从 Windows 指向子系统 /usr/include 的任何路径(作为示例)。我找到了一些资源(wsl include paths),但无论如何都无法让它工作。我还尝试按照 gitlab 问题中的描述自行生成路径,但这也没有帮助。

任何人有一些为 C++ 项目设置 vsc 和 wsl 的经验谁可以帮助我?

c++ visual-studio-code windows-subsystem-for-linux include-path vscode-remote
4个回答
1
投票

问题缺少一些信息,例如您正在使用的发行版以及您遵循的设置步骤。这意味着我将做出一些假设并重复您可能已经知道的信息。

假设:基于 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
这样的东西应该就是你所需要的。


1
投票

您需要创建此文件来设置路径和更多 c_cpp_properties.json 有关更多信息,您可以查看此处https://code.visualstudio.com/docs/cpp/config-wsl#_cc-configurations

快乐编码,


1
投票

当我尝试使用 wsl 并将其投射到 vscode 上时。会有错误。 但你仍然可以使用该库:

vscode from wsl server preview

我不使用额外的配置。

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/clang-7",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-clang-x64"
        }
    ],
    "version": 4
}

我认为这对 WSL 团队来说应该是一个打击。


0
投票

这是适合我的配置:

{
  "configurations": [
    {
      "name": "Linux",
      "includePath": ["${workspaceFolder}/**", "/usr/include/c++/**"],
      "defines": [],
      "compilerPath": "/usr/bin/gcc",
      "cStandard": "c17",
      "cppStandard": "gnu++17",
      "intelliSenseMode": "linux-gcc-x64"
    }
  ],
  "version": 4
}

希望它对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.