C++ 01.vscode配置c++开发环境
1. vscode配置c++开发环境
在windows下开发C++,可以使用Visual Studio
或 Visual Studio Code
进行开发。
以下是两者的简要区别
特性 | Visual Studio | Visual Studio Code |
---|---|---|
类型 | 集成开发环境 (IDE) | 轻量级代码编辑器 |
功能 | 提供全面的开发工具和服务,支持多种编程语言 | 提供代码编辑、调试和版本控制等功能,通过插件支持其他语言 |
用户界面 | 功能丰富,适合复杂项目管理 | 界面简洁,易于上手,高度可定制 |
易用性 | 学习曲线较陡,适合有经验的开发者 | 学习曲线平缓,适合初学者和快速开发 |
编程语言支持 | 原生支持多种编程语言,包括C++ | 通过安装扩展支持多种编程语言,包括C++ |
扩展性 | 提供了丰富的扩展和插件生态系统,但与IDE集成得更深入 | 具有很高的扩展性和灵活性,拥有活跃的社区和大量的第三方插件 |
价格 | 有免费的社区版,但专业版和企业版需要付费许可 | 完全免费且开源 |
适用场景 | 大型和复杂的软件开发项目 | 快速代码编写和小型项目,支持调试和版本控制 |
本文介绍在 Visual Studio Code
下配置 C++ 开发环境的方法。 请自行安装vcpkg
,cmake
,Visual Studio
等相关软件。
1.1. 安装插件
需要安装的插件见下图
1.2. c_cpp_properties.json
c_cpp_properties.json
是 VS Code C/C++ 扩展(Microsoft 的 C/C++ 插件)的配置文件,用于定义 C/C++ 项目的编译环境、头文件路径、编译器选项等。
该文件位于 .vscode
目录下,可手动创建或通过 C/C++: Edit Configurations (UI)
命令生成。
以下是示例配置:
{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","${VCPKG_ROOTDIR}/installed/x64-windows/include"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22000.0","compilerPath": "cl.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "windows-msvc-x64"}],"version": 4
}
1.2.1. 主要作用:
-
配置 IntelliSense(代码补全、语法检查)
includePath
:指定头文件搜索路径(如系统头文件、第三方库头文件)。defines
:定义预处理宏(如_DEBUG
、UNICODE
)。cStandard
/cppStandard
:指定 C/C++ 标准版本(如c17
、c++17
)。
-
配置编译器选项
compilerPath
:指定使用的编译器路径(如cl.exe
是 MSVC 编译器)。intelliSenseMode
:指定 IntelliSense 的编译模式(如windows-msvc-x64
表示 MSVC 64 位模式)。
-
支持多配置
configurations
数组可定义多个环境(如Win32
、Linux
),方便跨平台开发。
1.2.2. 示例中的关键字段:
"${workspaceFolder}/**"
:包含工作区所有目录的头文件。"${VCPKG_ROOTDIR}/installed/x64-windows/include"
:vcpkg 管理的第三方库头文件路径。"windowsSdkVersion": "10.0.22000.0"
:指定 Windows SDK 版本。
修改此文件可优化代码补全和编译检查,但需与实际项目配置一致。
如果没有采用这个文件,我们在看源码时,一些系统或第三方的头文件就无法被识别,导致 IntelliSense 无法正常工作。
如下图,有红色波形线,说明 IntelliSense 无法识别 <fmt/core.h>
头文件。
以下是正确配置后的显示效果,可以看到没有红色波形线了。
1.3. CMakelists.txt
以下是示例配置:
cmake_minimum_required(VERSION 3.10)# 设置项目名称和语言
project(VulkanChecker LANGUAGES CXX)# 设置C++标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(fmt CONFIG REQUIRED)# 添加可执行文件
add_executable(main main.cpp)target_link_libraries(main PRIVATE fmt::fmt)# 如果是Windows系统,设置可执行文件的输出目录
if(WIN32)set_target_properties(mainPROPERTIESRUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
endif()
已经用```vcpkg install fmt`
用在命令行中执行以下语句能正确配置
# 生成构建目录并配置CMake工程
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=C:/Users/Admin/workspace/vcpkg/scripts/buildsystems/vcpkg.cmake
但如果直接用cmake进行配置,会报错
以下是进行配置
以下是报错信息
原因:
CMakeLists.txt
文件中,find_package(fmt CONFIG REQUIRED)
这一行,fmt
是一个第三方库,由于没有正确配置CMAKE_TOOLCHAIN_FILE=C:/Users/Admin/workspace/vcpkg/scripts/buildsystems/vcpkg.cmake
,所以找不到fmt
库。
解决办法:**
在.vscode
目录下,创建settings.json
文件,添加以下语句
{"cmake.configureSettings": {"CMAKE_TOOLCHAIN_FILE": "C:/Users/Admin/workspace/vcpkg/scripts/buildsystems/vcpkg.cmake"}
}
注意:
- 建议在进行
cmake
配置时,先将build
目录删除,再重新生成。以免有时出现稀奇古怪的错误。
1.4. 生成可执行文件
1.4.1. 使用CMake生成可执行文件(建议)
点击build按钮,生成可执行文件,类似cmake --build build
下图两个红框处都可以生成可执行文件
1.4.2. 使用cl.exe编译器生成可执行文件
参考 VS Code C/C++ 扩展 进行相应配置
点开cpp文件的右上角进行编译和运行
当遇到遇到问题:
cl.exe build and debug active file is only usable when VS Code is run from the Developer Command Prompt for VS.
解决办法:
如果在尝试使用cl.exe构建和调试时出错,请确保您已使用代码从Visual Studio的开发人员命令提示符启动了 Code .
1.5. 设置断点&调试
可以在main.cpp
中设置断点,然后点击调试按钮,即可进行调试
当然,插件的调试功能与Visual Studio
的调试功能相比,还是有差别,建议使用Visual studio Code
进行开发,再使用 Visual Studio
进行调试。
1.6. 参考
- VS Code C/C++ 扩展
Studio的调试功能相比,还是有差别,建议使用
Visual studio Code进行开发,再使用
Visual Studio`进行调试。
1.6. 参考
- VS Code C/C++ 扩展