提拉米苏是什么东西| 用盐刷牙有什么好处和坏处| 眼泪多是什么原因| 省委书记什么级别| 抬头纹用什么护肤品可以去除| 奥肯能胶囊是什么药| 什么是红颜知己| 发烧去医院挂什么科| 骞字五行属什么| logo是什么| 翻过山越过海是什么歌| 拔完智齿后需要注意什么| 74年属什么生肖| opo是什么| 梦见别人受伤流血是什么预兆| qq会员有什么用| bonnie是什么意思| 海苔吃多了有什么坏处| 阳历是什么| 胃消化不好吃什么调理| 牙龈痛吃什么药| 拔罐是什么原理| 魅惑是什么意思| 肾病可以吃什么水果| 香港什么时候回归| 预防脑梗吃什么药| 娘家人是什么意思| 1997年属什么生肖| 脚酸是什么原因| 右鼻子经常出血是什么原因| 软是什么意思| 威海是什么海| 闺六月是什么意思| pf什么意思| 资本运作是什么意思| 2039年是什么年| 瑞士移民需要什么条件| 竹节虫吃什么| 路引是什么| 脑脊液白细胞高是什么原因| 脖子左侧疼是什么原因| 代销商是什么意思| 张良属什么生肖| 浅表性胃炎是什么意思| 吃红糖有什么好处和坏处| 血脂高什么意思| 竖中指什么意思| fmc是什么意思| 子时右眼跳是什么预兆| 白内障的症状是什么| 五行缺什么| 每个月月经都推迟是什么原因| 吃什么会放屁| 落下帷幕什么意思| 淋巴结是什么病严重吗| 非淋菌尿道炎用什么药| 血压突然升高是什么原因| 女人脱发是什么原因| UDCA是什么药| 共振是什么意思| 什么是篮球基本功| 草字头的字和什么有关| 感受是什么意思| 孕妇心率快是什么原因| 黄体囊肿是什么| 阳瘘的最佳治疗方法是什么| 燃烧卡路里是什么意思| 98年是什么命| 同比增长是什么意思| 1992年五行属什么| 火龙果跟什么榨汁好喝| 梦见猫什么意思| 焦糖色是什么颜色| 脚背发麻是什么原因引起的| 十余年是什么意思| 四月是什么星座| 什么家庭养出自私冷漠| 胃寒吃什么可以暖胃| 公子是你吗是什么歌| 92年的属什么| 关节间隙变窄什么意思| 2019年属什么生肖| 洧是什么意思| 什么症状需要做膀胱镜| sparkling是什么意思| 上皮内瘤变是什么意思| 火钳刘明什么意思| 达芬奇是干什么的| 正月十九是什么日子| 白芷有什么作用与功效| 预防更年期提前应该吃点什么药| 凌波仙子是什么花| 庸人自扰之是什么意思| 辣椒炒肉用什么肉| 比熊吃什么牌子狗粮好| 莼菜是什么菜| 什么炒鸡蛋最好吃| 毛片是什么意思| 软肋是什么意思| 世界上最大的单位是什么| hpv有什么症状吗| 肉字五行属什么| 尿后余沥是什么意思| rh血型是什么意思| 稀疏是什么意思| 秀才相当于现在的什么学历| 阴虚吃什么食补最快| 什么人适合喝蛋白粉| 身体发抖是什么病| 医士是什么职称| 男性尿路感染吃什么药| 什么原因引起尿路感染| Fine什么意思中文| 孩子肠胃炎吃什么药| 女生真空是什么意思| 碘伏什么颜色| 营养不良会导致身体出现什么症状| 女孩第一次来月经需要注意什么| nsnm什么意思| 梦见涨洪水是什么兆头| 小孩白头发是什么原因引起的| 狗是什么生肖| 四个火读什么| 叶酸什么时候吃合适| 一什么教室| 生育能力检查挂什么科| 咖喱是什么| 为什么要多吃鱼| 生吃苦瓜有什么好处和坏处| 什么东西越晒越湿| 吃什么代谢快| 从胃到小腹连着疼是什么原因| 肾的主要功能是什么| 期许是什么意思| 耳鸣脑鸣是什么原因引起的| 梦见飞机是什么意思| 什么什么动听四字成语| 无力感什么意思| 白居易号什么居士| 肺气泡是什么病| 睡觉腿抽筋是什么原因| 娇妻是什么意思| 事宜愿为是什么意思| 每天吃三颗红枣有什么好处| 多字五行属什么| 为什么心脏会隐隐作痛| 为什么来月经会头疼| 宫颈糜烂用什么药最好| 乳核是什么| 猫咪轻轻咬你代表什么| 什么叫个人修养| 女生经常手淫有什么危害| 两个圈的皮带是什么牌子| 什么鱼没刺| 米娜桑是什么意思| 6.5是什么星座| 晚上10点属于什么时辰| 什么软件可以开空调| 女人吃什么新陈代谢快| 子宫切除后对身体有什么影响| 狗与什么属相相冲| 年轻人长老年斑是什么原因| 6点是什么时辰| 临字五行属什么| 白干是什么| 阴枣是什么| 孩子晚上睡觉磨牙是什么原因| 结肠炎是什么症状| 法国的国花是什么花| 指甲上的月牙代表什么| 心跳过速是什么原因| ctc是什么意思| 肝风上扰会有什么症状| 舅舅的女儿叫什么| 冥寿是什么意思| 女性口臭都是什么原因| 手指关节痛什么原因| 蜘蛛吃什么食物| hg是什么单位| 什么饮料能解酒| tf卡是什么| 喝什么能解酒| 土豆有什么营养价值| 铁锈是什么颜色的| 吃什么可以美白| 睡觉容易醒是什么原因| 健脾胃吃什么食物好| 检查阑尾炎挂什么科| 造影有什么危害| 大脚趾外翻是什么原因| 世界上最坚硬的东西是什么| 犹豫不决是什么生肖| 海尔兄弟叫什么| 数位板是什么| 卢字五行属什么| 子宫肥大是什么原因| poem是什么意思| 调戏是什么意思| 小狗什么时候断奶| kissme什么意思| item什么意思| 艾滋病检查什么项目| 五月三十一号是什么星座| 梦见蟑螂是什么意思| 梦见被蛇咬是什么意思| 吃饭快了有什么坏处| 女人吃什么水果最好| 卧推80公斤什么水平| 洗面奶什么牌子好| 优生十项是检查什么| 看望病人送什么花合适| 什么是豆粕| 破釜沉舟是什么意思| 相手蟹吃什么| 头皮发紧是什么病的前兆| 支架后吃什么药| 算什么男人歌词| 腋下长痘痘是什么原因| 破产是什么意思| 去鱼腥味最好的方法是什么| 副区长什么级别| 淋巴结反应性增生是什么意思| m2是什么意思| giuseppe是什么牌子| 粉色分泌物是什么原因| 女性喝什么茶比较好| 梦遗是什么意思| 画是什么结构| 贫血四项是指什么检查| 长期喝山楂水有什么好处和坏处| 声音小是什么原因| 陨石有什么作用和功效| 睾丸炎吃什么药最有效| 早上7点到9点是什么时辰| 回族人为什么不吃猪肉| 肛门里面疼是什么原因| 胎神什么意思| 免疫组化是什么| 婆娑是什么意思| 长命百岁是什么生肖| 今晚吃什么家常菜| 饿了么什么时候成立的| 什么时候可以上环最好的| 何首乌长什么样子图片| 月经推后是什么原因引起| 探病买什么水果| 父亲坐过牢对孩子有什么影响| 神经外科和神经内科有什么区别| 转诊是什么意思| 喝什么去火| 4.14是什么星座| 燕窝什么时候吃最好| 话糙理不糙是什么意思| 年终奖一般什么时候发| 脚起皮干裂是什么原因| hx是什么| 什么的河流| 揍是什么意思| 乳腺囊肿吃什么药| 操逼什么意思| 84年属鼠是什么命| 抑菌是什么意思| 身上长小红痣是什么原因| 肝火旺失眠吃什么药| 百度
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在WSL中配置VS Code C++开发环境完整教程

北京新能源新政破除地方保护

原创
作者头像
码事漫谈
发布于 2025-08-07 19:14:42
发布于 2025-08-07 19:14:42
百度 在潘石屹看来,对于新业务SOHO3Q来说也一样,以利润为核心,这种新的管理办法将为在租项目整体出租率和租金水平带来稳步提升。 20220
代码可运行
举报
文章被收录于专栏:程序员程序员C++
运行总次数:0
代码可运行

在Windows系统上进行C++开发时,借助Windows Subsystem for Linux (WSL)可以获得接近原生Linux的开发体验。本文将详细介绍如何在WSL环境中配置VS Code,搭建高效的C++开发环境,包括编译器安装、项目创建、代码编写、调试配置等全过程。

环境准备

前置要求

在开始前,请确保已安装以下软件:

  • Visual Studio Code
  • VS Code的WSL扩展
  • Windows Subsystem for Linux (WSL)及所选Linux发行版(本文以Ubuntu为例)

设置Linux开发环境

  1. 启动WSL终端:在Windows搜索栏输入"Ubuntu"并打开
Ubuntu in Start Menu
Ubuntu in Start Menu
  1. 首次启动会要求设置用户名和密码,请记住此密码,后续使用sudo命令时需要
  2. 更新系统包列表并安装GNU编译器工具和GDB调试器:
代码语言:bash
复制
sudo apt-get update
sudo apt-get install build-essential gdb
  1. 验证安装是否成功:
代码语言:bash
复制
whereis g++
whereis gdb

如果安装成功,会显示g++和gdb的路径信息。

  1. 创建项目目录:
代码语言:bash
复制
mkdir projects
cd projects
mkdir helloworld
cd helloworld

在WSL中启动VS Code

在WSL终端中,进入项目目录并输入以下命令启动VS Code:

代码语言:bash
复制
code .

首次启动时,VS Code会自动下载并安装WSL服务器组件。成功启动后,VS Code窗口标题栏会显示"WSL: Ubuntu",状态栏会显示远程连接状态。

Remote context in the Status bar
Remote context in the Status bar

安装C/C++扩展

  1. 在VS Code中打开扩展面板(Ctrl+Shift+X)
  2. 搜索"C/C++"扩展(由Microsoft提供)
  3. 如果已在本地安装,点击"Install in WSL"按钮将其安装到WSL环境中
Install in WSL button
Install in WSL button

安装完成后需要重新加载VS Code以生效。

创建和编写C++代码

  1. 在VS Code文件资源管理器中,点击"新建文件"按钮,创建helloworld.cpp
New File title bar button
New File title bar button
  1. 粘贴以下示例代码:
代码语言:cpp
代码运行次数:0
运行
复制
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
    
    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}
  1. 保存文件(Ctrl+S)

探索IntelliSense功能

VS Code的C/C++扩展提供了强大的IntelliSense功能:

  • 悬停在vectorstring上查看类型信息
  • 输入msg.时会自动显示成员函数列表
  • 自动补全功能可通过Tab键触发
Statement completion IntelliSense
Statement completion IntelliSense

运行C++程序

  1. 确保helloworld.cpp是当前活动文件
  2. 点击编辑器右上角的"播放"按钮
  3. 在弹出的编译器选择中,选择"g++ build and debug active file"
C++ debug configuration dropdown
C++ debug configuration dropdown

VS Code会自动生成tasks.json文件,用于配置构建任务。成功运行后,在集成终端中会看到输出:

代码语言:txt
复制
Hello C++ World from VS Code and the C++ extension!

理解tasks.json

自动生成的tasks.json位于.vscode目录下,内容如下:

代码语言:json
复制
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: g++ build active file",
      "command": "/usr/bin/g++",
      "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
      "options": {
        "cwd": "/usr/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "Task generated by Debugger."
    }
  ]
}

关键参数说明:

  • command: 指定编译器路径(g++)
  • args: 编译参数,-g表示生成调试信息
  • ${file}: 当前活动文件
  • ${fileDirname}/${fileBasenameNoExtension}: 输出可执行文件路径和名称

调试C++程序

  1. 在代码行号旁点击设置断点(或按F9)
  2. 从播放按钮下拉菜单中选择"Debug C/C++ File"
screenshot of breakpoint in helloworld.cpp
screenshot of breakpoint in helloworld.cpp

调试控制面板提供了常用调试功能:

  • 继续(F5)
  • 单步跳过(F10)
  • 单步进入(F11)
  • 单步退出(Shift+F11)
  • 重启(Ctrl+Shift+F5)
  • 停止(Shift+F5)
Debugging controls
Debugging controls

在调试过程中,可以通过"变量"窗口查看当前变量值,通过"监视"窗口添加自定义监视表达式。

Debugging windows
Debugging windows

自定义调试配置

如需自定义调试设置,可以创建launch.json文件:

  1. 打开"运行和调试"面板(Ctrl+Shift+D)
  2. 点击"创建launch.json文件"
  3. 选择"C++ (GDB/LLDB)"环境
  4. 选择"g++ build and debug active file"配置

生成的launch.json文件如下:

代码语言:json
复制
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "C/C++: g++ build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "/usr/bin/gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++ build active file"
    }
  ]
}

关键配置说明:

  • program: 指定要调试的可执行文件
  • args: 传递给程序的命令行参数
  • stopAtEntry: 设置为true可在main函数入口处暂停
  • preLaunchTask: 指定调试前执行的构建任务

高级配置:c_cpp_properties.json

如需自定义C/C++扩展配置(如编译器路径、包含路径、C++标准等):

  1. 打开命令面板(Ctrl+Shift+P)
  2. 运行"C/C++: Edit Configurations (UI)"命令
  3. 在配置界面中修改设置,VS Code会自动生成c_cpp_properties.json文件

典型的配置文件内容:

代码语言:json
复制
{
  "configurations": [
    {
      "name": "Linux",
      "includePath": ["${workspaceFolder}/**"],
      "defines": [],
      "compilerPath": "/usr/bin/gcc",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "clang-x64"
    }
  ],
  "version": 4
}

常见问题与解决方法

1. 编译器未找到

问题:提示"g++: command not found"

解决:确保已安装build-essential包:

代码语言:bash
复制
sudo apt-get install build-essential

2. 调试器无法启动

问题:调试时提示"miDebuggerPath"配置错误

解决:检查gdb是否安装:

代码语言:bash
复制
sudo apt-get install gdb
whereis gdb  # 确认路径

更新launch.json中的miDebuggerPath为正确路径。

3. IntelliSense不工作

问题:代码提示和自动补全功能失效

解决

  1. 确保C/C++扩展已正确安装在WSL中
  2. 检查c_cpp_properties.json中的编译器路径是否正确
  3. 重启VS Code

总结

通过本文教程,你已经学会了如何在WSL环境中配置VS Code进行C++开发,包括:

  • 设置WSL和Linux开发环境
  • 安装必要的工具和扩展
  • 创建、编译、运行和调试C++程序
  • 配置自定义构建和调试任务

这种开发方式结合了Windows的易用性和Linux的开发环境优势,特别适合需要跨平台开发的C++项目。

后续学习

  • 探索VS Code更多功能:代码片段、Git集成、任务自动化
  • 学习CMake构建系统,管理复杂项目
  • 尝试使用Docker容器化开发环境
  • 深入学习C++语言特性和标准库

祝你在WSL+VS Code的开发之路上越走越远!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境准备
    • 前置要求
    • 设置Linux开发环境
  • 在WSL中启动VS Code
  • 安装C/C++扩展
  • 创建和编写C++代码
  • 探索IntelliSense功能
  • 运行C++程序
    • 理解tasks.json
  • 调试C++程序
    • 自定义调试配置
  • 高级配置:c_cpp_properties.json
  • 常见问题与解决方法
    • 1. 编译器未找到
    • 2. 调试器无法启动
    • 3. IntelliSense不工作
  • 总结
  • 后续学习
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
吃完饭胃疼是什么原因 人参果是什么季节的 什么样的菊花 herb是什么意思 吃什么会流产
脑干堵塞什么症状 HCG 是什么 阴是什么意思 漂流是什么 2018 年是什么年
哀大莫过于心死是什么意思 戌时是什么时候 安之若素什么意思 丙火是什么意思 24k镀金是什么意思
1921年中国发生了什么 r一谷氨酰转移酶高说明什么 尿比重1.030是什么意思 prp治疗是什么意思 葬爱家族是什么意思
嗣读什么xjhesheng.com 心脏扩大吃什么药好jasonfriends.com 跑龙套是什么意思hcv8jop5ns4r.cn 吃什么去肝火见效快baiqunet.com 高胰岛素血症是什么病hcv8jop9ns6r.cn
适得其反是什么意思hcv9jop3ns4r.cn 提手旁加茶念什么hcv8jop1ns7r.cn size是什么意思naasee.com 血脂稠喝什么茶效果好hcv8jop8ns5r.cn 硝酸酯类药物有什么药hcv8jop2ns5r.cn
宫后是牛身上什么部位hcv7jop9ns0r.cn 抽筋吃什么药见效快hcv7jop6ns8r.cn 胎膜早破是什么症状hcv8jop1ns8r.cn 大张伟的真名叫什么hcv8jop6ns0r.cn 结石长什么样子图片hcv7jop6ns7r.cn
难以入睡是什么原因引起的hcv9jop4ns8r.cn 扬琴属于什么乐器xianpinbao.com 气压治疗是什么hcv9jop4ns8r.cn 尖嘴鱼叫什么鱼hcv9jop3ns4r.cn 珊瑚是什么hcv8jop4ns7r.cn
百度