适合CMake构建与C++编译配置的VSCode常用快捷键

雨杰酱_2519

雨杰酱_2519

2026-07-19

694人浏览

原创

cmake操作起点是ctrl+shift+p调出命令面板,所有关键动作(如选择编译器、配置、初始化)均由此出发;ctrl+shift+b不适用cmake项目,f5调试前需确保launch.json中program字段正确指向生成的可执行文件路径。

适合cmake构建与c++编译配置的vscode常用快捷键

Ctrl+Shift+P 调出命令面板是CMake操作的起点

几乎所有 CMake 相关动作都从这里出发,比如选择编译器、触发配置、快速初始化项目。不依赖鼠标点菜单,避免误点右上角那个默认的「运行」按钮——它只编译当前文件,根本无视 CMakeLists.txt,必然报 undefined reference 链接错误。

常见误操作:
- 想配置 Kit 却直接点状态栏的编译器名称(有时不响应)
- 忘记在命令面板里输全名,比如只输 CMake: conf 就回车,结果没触发 CMake: Configure
- 在未安装 CMake Tools 插件时反复搜索,实际会提示“找不到命令”

Ctrl+Shift+B 不适用于 CMake 项目

这个快捷键默认调用的是 VS Code 自带的构建任务,和 CMake 无关。它不会读 CMakeLists.txt,也不会生成 build 目录,更不会调用 cmake --build。强行用它,大概率编译失败或只编译单个 .cpp 文件。

正确做法是:
- 先确保已成功 CMake: Configure(状态栏出现 kit 和 build type)
- 再用 CMake: Build 命令(同样走 Ctrl+Shift+P)
- 或者点击状态栏左下角的 Build 按钮(显示为 “Build: Debug” 或类似)

F5 启动调试前必须确认 launch.json 中 program 字段指向正确路径

很多新手写完 CMakeLists.txt 后直接按 F5,结果报错 Cannot start debug session: Program path does not exist。这是因为 launch.json 里的 "program" 字段写死了路径,比如 "./build/main",而 CMake 实际生成的可执行文件可能在 build/ 下,也可能在 out/build/ 或其他位置,取决于你的构建预设。

C++14
C++14

C++14 对 C++11 的修正与增强版本,适合旧系统维护和较老工具链兼容。

下载

推荐写法:
- 使用 "${command:cmake.launchTargetPath}"(需 CMake Tools 插件支持)
- 确保 CMake: Configure 已成功执行,否则该命令返回空字符串
- 如果手动指定路径,务必和 add_executable() 第二个参数名一致,并注意大小写(Linux/macOS 区分)

Ctrl+Click 跳转头文件时找不到定义?检查 c_cpp_properties.json 的 includePath

VS Code 默认不自动识别 CMake 设置的头文件路径,所以即使 include_directories(include) 写对了,Ctrl+Click 仍可能提示 “No definition found”。这不是编译问题,而是 IntelliSense 配置缺失。

解决方法:
- 按 Ctrl+Shift+P → 输入 C/C++: Edit Configurations (UI)
- 在 Include path 中添加 ${workspaceFolder}/include 或对应路径
- 或手动编辑 .vscode/c_cpp_properties.json,确保 includePath 包含所有头文件目录
- 修改后需重启 IntelliSense(Ctrl+Shift+P → C/C++: Restart Intellisense Server)

CMake 构建流程和 VS Code 编辑器行为是解耦的,快捷键本身不“懂” CMake;真正起作用的是背后插件的状态是否就绪、配置是否匹配、路径是否真实存在——这些细节比记住快捷键更重要。

C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2248

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

1019

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

447

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

327

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

406

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

580

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1409

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1217

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1325

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程