在cursor中配置c/c++开发环境

安装插件

  1. c/c++插件 ms-vscode.cpptools
    C++拓展新版本不支持cursor,需要将版本退回到1.23.6之前的,如果无法安装回退版本,解决方案是下载github源码上特定版本的visx文件。v1.23.6
    例如本次使用的就是cpptools-windows-x64.vsix
  2. cmake插件 ms-vscode.cmake-tools

配置文件

  1. launch.json
json 复制代码
{
	"version": "0.2.0",
	"configurations": [
		{
			"name": "Debug mine-cpp",
			"type": "cppdbg",
			"request": "launch",
			"program": "${workspaceFolder}/build/mine-cpp.exe",
			"cwd": "${workspaceFolder}",
			"MIMode": "gdb",
			"miDebuggerPath": "C:/MinGW/bin/gdb.exe",
			"preLaunchTask": "CMake: build"
		}
	]
}
  1. settings.json
json 复制代码
{
	"cmake.cmakePath": "C:/Program Files/CMake/bin/cmake.exe",
	"cmake.sourceDirectory": "${workspaceFolder}",
	"cmake.useCMakePresets": "always",
	"cmake.environment": {
		"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
	},
	"cmake.enableLanguageServices": true,
	"terminal.integrated.env.windows": {
		"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
	},
	"C_Cpp.default.compileCommands": "${workspaceFolder}/build/compile_commands.json",
	"C_Cpp.default.compilerPath": "C:/MinGW/bin/g++.exe",
	"C_Cpp.default.cppStandard": "c++17",
	"C_Cpp.default.intelliSenseMode": "windows-gcc-x64"
}
  1. tasks.json
json 复制代码
{
	"version": "2.0.0",
	"tasks": [
		{
			"label": "CMake: build",
			"type": "shell",
			"command": "cmake",
			"args": ["--build", "${workspaceFolder}/build"],
			"options": {
				"cwd": "${workspaceFolder}",
				"env": {
					"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
				}
			},
			"group": { "kind": "build", "isDefault": true },
			"problemMatcher": ["$gcc"]
		},
		{
			"label": "CMake: clean",
			"type": "shell",
			"command": "cmake",
			"args": ["--build", "${workspaceFolder}/build", "--target", "clean"],
			"options": {
				"cwd": "${workspaceFolder}",
				"env": {
					"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
				}
			},
			"problemMatcher": []
		}
	]
}
  1. CMakeLists.txt
c 复制代码
cmake_minimum_required(VERSION 3.16)
project(mine-cpp LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

add_executable(mine-cpp src/main.cpp src/byte_demo.cpp)
  1. CMakePresets.json
json 复制代码
{
	"version": 3,
	"configurePresets": [
		{
			"name": "mingw-debug",
			"displayName": "MinGW Makefiles --- Debug",
			"generator": "MinGW Makefiles",
			"binaryDir": "${sourceDir}/build",
			"cacheVariables": {
				"CMAKE_BUILD_TYPE": "Debug",
				"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
				"CMAKE_CXX_COMPILER": "C:/MinGW/bin/g++.exe",
				"CMAKE_MAKE_PROGRAM": "C:/MinGW/bin/mingw32-make.exe"
			}
		}
	],
	"buildPresets": [
		{
			"name": "mingw-debug",
			"configurePreset": "mingw-debug"
		}
	]
}

配置cmake预设

  1. ctrl+shift+p,输入CMake: Select Configure Preset

  2. 选择MinGW Makefiles --- Debug

完整结构

相关推荐
人间凡尔赛1 天前
Next.js 16 生产级实战:Cache Components + View Transitions 完整指南
开发语言·javascript·ecmascript
selfsongs1 天前
指针、内存管理、现代 C++ 特性
c++
吃着火锅x唱着歌1 天前
Effective C++ 学习笔记 条款37 绝不重新定义继承而来的缺省参数值
c++·笔记·学习
2401_841495641 天前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
小保CPP1 天前
OCR C++ Tesseract按行识别字符
c++·人工智能·ocr·模式识别·光学字符识别
稚南城才子,乌衣巷风流1 天前
函数:编程中的核心概念
开发语言·前端·javascript
阿米亚波1 天前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
大模型码小白1 天前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
皓月斯语1 天前
【C++基础】三目运算符
开发语言·数据结构·c++
初願致夕霞1 天前
C++懒汉单例设计详解
服务器·开发语言·c++