配置Cursor 编辑器来高效编写 C++ 项目

配置 Cursor 编辑器来高效编写 C++ 项目需要一些关键设置和插件支持。以下是详细步骤:


1. 安装 Cursor


2. 配置 C++ 开发环境

(1)安装 C++ 编译工具链

在左侧导航栏选择downloads,选择编译好的安装包,在上图显示的列表框里选择适合自己开发环境的安装包,点击后一般会跳转到github,然后选择合适的版本下载即可。

各版本区别可以通过deepsee大模型查询。

按照后解压,然后将其中的bin文件夹路径加到系统环境变量中。

最后检查下配置是否成功

配置测试

g++ --version gcc --version 

Linux/macOS: 确保已安装 g++ 或 clang(通过终端命令检查):

g++ --version # 或 clang++ --version 

若未安装:

sudo apt install g++ # Ubuntu/Debian brew install llvm # macOS (通过 Homebrew) 
(2)配置编译路径(可选)
  • 在 Cursor 设置中指定编译器路径(如果自动检测失败):
    • 打开设置(Ctrl/Cmd + ,),搜索 C++,填写 Cpp Compiler Path(如 C:\mingw64\bin\g++.exe 或 /usr/bin/g++)。

3. 项目配置

(1)打开项目文件夹
  • 通过 File > Open Folder 加载你的 C++ 项目目录。
(2)配置 tasks.json(构建任务)
    • 定义编译命令(如 g++ 编译 C++ 文件)。
    • 设置默认构建任务(按 Ctrl/Cmd + Shift + B 直接运行)。
    • 集成到工作流(如结合调试、测试等)。

典型 tasks.json 示例(C++ 项目)

json复制下载{ "version": "2.0.0", "tasks": [ { "label": "Build C++", // 任务名称(自定义) "type": "shell", // 在终端中运行 "command": "g++", // 编译器路径 "args": [ // 编译参数 "-std=c++17", "-g", // 生成调试信息 "${file}", // 当前打开的文件 "-o", // 输出文件 "${fileDirname}/${fileBasenameNoExtension}.exe" ], "group": { "kind": "build", // 标记为构建任务 "isDefault": true // 设为默认任务(Ctrl+Shift+B触发) }, "problemMatcher": ["$gcc"] // 捕获编译错误 } ] }


关键字段解析

字段说明
label任务名称(显示在命令面板中)
typeshell(终端命令)或 process(直接调用程序)
command执行的命令(如 g++clang++
args传递给命令的参数(如 -std=c++17、输入/输出文件)
group任务分组(build 或 test
problemMatcher匹配错误输出(如 $gcc 用于 GCC 的错误格式)

常用变量

变量含义
${file}当前打开的文件(如 main.cpp
${fileDirname}当前文件所在目录
${fileBasenameNoExtension}文件名(不含扩展名,如 main
${workspaceFolder}项目根目录

tasks.json 的核心作用

按 Ctrl/Cmd + Shift + B 触发编译。

说明:

按 Ctrl/Cmd + Shift + P 输入 Tasks: Configure Task,选择 Create tasks.json,然后配置一个 C++ 编译任务:

{ "version": "2.0.0", "tasks": [ { "label": "Build C++", "type": "shell", "command": "g++", "args": [ "-std=c++17", "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] } 
(3)配置 launch.json(调试)

切换到调试标签(左侧栏图标),点击 create a launch.json file,选择 C++ (GDB/LLDB),配置示例:

{ "version": "0.2.0", "configurations": [ { "name": "Debug C++", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb" // 修改为你的 GDB 路径 } ] } 

4. 安装扩展(增强功能)

Cursor 基于 VS Code,支持部分插件。按 Ctrl/Cmd + P 输入 ext install 搜索安装:

  • C/C++ (Microsoft 官方扩展):提供 IntelliSense、代码导航。
  • CMake Tools(如果使用 CMake)。
  • Clangd(替代默认 C++ 引擎,更高效)。

5. 其他优化

  • 代码补全:Cursor 内置 AI 补全(按 Ctrl/Cmd + K 触发建议)。
  • 快捷键
    • 格式化代码:Shift + Alt + F
    • 跳转到定义:Ctrl/Cmd + Click
  • 头文件路径:若提示找不到头文件,在 .vscode/c_cpp_properties.json 中配置 includePath

6. 示例项目结构

my_project/ ├── .vscode/ │ ├── tasks.json │ ├── launch.json │ └── c_cpp_properties.json ├── src/ │ └── main.cpp ├── include/ │ └── utils.h └── Makefile (或 CMakeLists.txt) 

通过以上步骤,你的 Cursor 编辑器将具备完整的 C++ 开发能力(编写、编译、调试、AI 辅助)。如果需要更复杂的构建系统(如 CMake),可以进一步配置对应的插件。

Read more

Flutter for OpenHarmony:tostore 鸿蒙原生 KV 数据库,支持 SQL 与 NoSQL 混合存储(全能型数据引擎) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:tostore 鸿蒙原生 KV 数据库,支持 SQL 与 NoSQL 混合存储(全能型数据引擎) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在移动应用开发中,数据持久化(Data Persistence)永远是架构设计中不可或缺的一环。无论是保存用户的登录状态、偏好设置,还是缓存新闻列表、聊天记录,选择一个合适的数据库往往决定了 App 的运行流畅度和开发效率。 在 Flutter 生态中,我们熟知的数据库方案琳琅满目: * Shared Preferences: 轻量级,但只适合存简单的 Key-Value,性能较差,且不支持复杂查询。 * Sqflite: 基于 SQLite 的封装,功能强大且稳定,但它是关系型数据库,Schema 变更(数库迁移)极其繁琐,且需要编写大量的 SQL 语句或依赖复杂的 ORM。 * Hive: 纯 Dart 编写的 NoSQL 数据库,速度极快(

By Ne0inhk
【MYSQL】MYSQL学习的一大重点:MYSQL表的操作

【MYSQL】MYSQL学习的一大重点:MYSQL表的操作

🎬 个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬 艾莉丝的简介: 文章目录 * 0 ~> 概要 * 1 ~> 创建表 * 2 ~> 创建表的案例详解 * 3 ~> 查看表结构 * 4 ~> 修改表 * 4.1 什么时候需要修改表 * 4.2 修改方式 * 4.3 案例 * 4.3.1 在users表添加二条记录 * 4.

By Ne0inhk

Flutter 三方库 aws_cloudwatch 的鸿蒙化适配指南 - 让分布式鸿蒙应用的日志监控与分析入云实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 aws_cloudwatch 的鸿蒙化适配指南 - 让分布式鸿蒙应用的日志监控与分析入云实战 在鸿蒙(OpenHarmony)应用进入生产环境后,如何实时监控分布在各地的设备运行状态?传统的本地日志落盘已无法满足现代云原生监控的需求。aws_cloudwatch 做为一款轻量级、开箱即用的 AWS CloudWatch 日志上报方案,为鸿蒙开发者提供了分钟级的数据透传能力。本文将带你深度适配该组件,实现鸿蒙应用日志的一站式上报。 前言 什么是 CloudWatch?它是亚马逊提供的一套监控与日志管理服务。aws_cloudwatch 库封装了复杂的 AWS SignV4 签名和 LogStream 管理逻辑。在 Flutter for OpenHarmony 的场景下,我们不仅要处理好网络权限,更要解决鸿蒙设备在弱网环境下日志堆积与批量重发的工程难题,确保每一个关键 Error 都能在云端看板实时呈现。 一、

By Ne0inhk
复杂SQL性能突围:代价驱动的连接条件下推策略与工程实践

复杂SQL性能突围:代价驱动的连接条件下推策略与工程实践

文章目录 * 引言:当“逻辑清晰”遇上“性能陷阱” * 一、问题根源:高选择性条件为何“鞭长莫及” * 1.1 客户场景还原 * 1.2 业界面临的两大核心难点 * 1.2.1 语义等价性(Equivalence) * 1.2.2 代价评估(Cost) * 二、传统优化器的“无力感” * 三、金仓数据库的破局之道:等价 + 代价的双重驱动 * 3.1 阶段一:等价性判定(Can we push?) * 3.2 阶段二:代价模型评估(Should we push?) * 四、效果验证:从全表扫描到精准过滤

By Ne0inhk