从小白入门,基于Cursor开发一个前端小程序之Cursor 编程实践与案例分析

发布于:2025-07-07 ⋅ 阅读:(18) ⋅ 点赞:(0)

Cursor 编程实践与案例分析

Cursor 编程实践与案例分析

1. 什么是 Cursor?

Cursor 是一款面向开发者的 AI 编程助手,集成于本地 IDE,支持自然语言与代码的无缝协作。它不仅能自动补全、重构、查找代码,还能理解业务上下文,辅助解决实际开发中的复杂问题。

2. Cursor 在实际工作中的优势

高效代码检索:通过自然语言描述,快速定位项目中的相关代码、表结构、业务逻辑。

智能代码生成与重构:根据业务需求自动生成方法、SQL、接口,减少重复劳动。

业务流程梳理:能根据业务描述,自动梳理出数据流、调用链,辅助理解和优化系统。

问题定位与修复:遇到报错或异常时,能快速分析原因并给出修复建议。

文档与注释生成:自动生成方法注释、接口文档、技术分享材料等。

2.1 Cursor和其他智能体的区别

维度 GitHub Copilot ChatGPT Cursor
交互方式 代码补全、片段生成 文本对话、单文件生成 IDE 集成、多文件项目生成
项目支持 适合零散代码片段 缺乏项目结构理解 支持完整项目架构生成
业务理解 依赖上下文有限 需明确需求描述 可解析业务流程与数据模型
新手友好度 适合有经验开发者 需人工整合代码 自动生成可运行项目结构
协作能力 个人开发辅助 缺乏团队协作支持 支持多人协作代码审查

2.2 Cursor 使用建议与局限性

  1. 高效使用策略
  1. 自然语言技巧:使用 “分析”“优化”“生成” 等关键词明确需求,如 “生成 Vue3 组件的单元测试用例”
  1. 分阶段开发:将复杂项目分解为模块,逐步让 Cursor 生成各部分代码
  1. 代码审查机制:生成代码后进行二次 Review,确保业务逻辑与安全性
  1. 当前局限性
  1. 复杂项目处理:尚无法独立完成中大型项目的全流程开发,需人工拆解需求
  1. 深度业务理解:对于高度定制化的业务逻辑,可能需要多次交互才能准确实现
  1. 性能优化能力:在算法级优化、底层代码调优方面仍需人工介入

2.3 Cursor的配置和使用

  • Model
  • Agent
  • Bug Finder

  • rule

https://cursor.directory/

Markdown
# 项目基础说明

- 本项目基于 Vue 3 + TypeScript + Element Plus + Pinia + Vite 搭建。
- 采用组合式 API(`<script setup lang="ts">`)进行开发。
- 状态管理使用 Pinia,模块化组织。
- 路由使用 Vue Router,采用权限动态路由配置。
- 接口请求统一封装在 `@/utils/request.ts` 中,使用 Axios。
- 表格、表单页面基于 Element Plus 封装通用组件,提高复用性。

# 组件和文件命名规范

- 组件文件名使用 `PascalCase` 格式,例如:`UserTable.vue`, `LoginForm.vue`
- 公共组件放置在 `src/components/` 下,业务组件可放在 `src/views/模块/components/` 中
- 文件夹名和非组件 `.ts/.scss` 文件使用 `kebab-case` 格式,例如:`user-api.ts`, `login-form.scss`
- 页面文件命名与路由保持一致,使用 `kebab-case`,例如:`user-list.vue`, `role-edit.vue`


# 样式和 CSS 使用约定

- **优先使用原子类:** 使用 UnoCSS 提供的原子类进行布局和样式,例如常见的 flex 布局(`flex justify-center items-center` 等)。样式语义明确,便于维护。
- **常用组合提取为全局快捷方式:** 对于**频繁使用**的原子类组合,应在 `unocss.config.ts` 中通过 `shortcuts` 定义全局组合类。例如:将 `flex justify-center items-center` 定义为 `flex-center`,这样可以在整个项目中复用。组合类命名应简洁且语义化,反映布局或功能意图。
- **非常用组合使用局部类:** 对于特定组件中使用但不常见的、超过3个的原子类组合,应该在组件内使用局部CSS类(使用`<style scoped>`块),避免过多的全局组合污染全局命名空间。
- **避免重复代码:** 不论是通过全局`shortcuts`还是局部CSS类,都应避免在多个地方重复编写相同的原子类列表,保持代码 DRY(Don't Repeat Yourself)原则。
- **样式优先级:** 优先考虑 UnoCSS 解决方案(原子类或组合类),其次才是传统 CSS。当需要使用传统 CSS 时,遵循 BEM 命名规范,即 `block__element--modifier` 格式。

# 导入顺序规范(保持统一结构)

1. Vue 相关 API(如 `ref`, `computed`, `onMounted`)
2. 第三方库(如 `element-plus`, `axios`)
3. 工具函数(如 `@/utils/*`)
4. 状态管理(如 `@/store/*`)
5. 项目内部组件、模块(如 `@/components`, `@/views`)
6. 样式文件


# 开发注意事项

- 使用 TypeScript,避免使用 `any`;
- 组件职责单一,保持结构清晰;
- 所有组件必须使用组合式 API;
- 适当添加注释,提升 AI 理解。
 

3. 典型工作流与实际案例

3.1 代码检索与业务理解

场景:需要理解某个业务流程涉及的表结构和数据流。

实际操作

  • 用 Cursor 搜索 operation_type 字段,快速定位 course_times_detail_operation_tasks 表的结构和各类型的业务含义。
  • 通过自然语言提问“帮我分析 getCourseChangeList 这方法的逻辑 流程 和sql”,Cursor 自动梳理出控制器、业务层、SQL 的完整调用链和数据流。

3.2 智能代码生成与重构

场景:实现课次回收功能

文本需求描述

Bash
在CourseTimesConvertRecycleTaskJobBusiness的task里面,我要实现以下功能,
接收参数如下
task($payTaskId=0,$freeTaskId=0,$operationContent)
1.task里面处理两个任务,一个是付费,一个是免费,至少有一个是非空的,operationContent是执行的具体内容
2.通过 TaskService::getInstance()->getInfoByID($taskId); 获取任务信息,任务表是course_times_detail_operation_tasks,operation_rule的内容如下
  付费:{"type": "pay", "datas": {"course_amount": 10, "source_course_num": 10, "target_course_num": 10, "convert_performance_no_list": [{"course_amount": 1, "channel_order_no": "CT-20250123193907602208973", "source_course_num": 1, "target_course_num": 1, "source_performance_no": "CT-20250123193907602208973"}, {"course_amount": 9, "channel_order_no": "CT-20250123193907723463141", "source_course_num": 9, "target_course_num": 9, "source_performance_no": "CT-20250123193907723463141"}]}}

  免费:{"type": "free", "datas": {"course_amount": 0, "source_course_num": 10, "target_course_num": 10, "convert_performance_no_list": [{"channel_order_no": "CT-20250123193907602208973", "source_course_num": 2, "target_course_num": 2, "source_performance_no": "CT-22250123193908450905348"}, {"channel_order_no": "CT-20250123193907723463141", "source_course_num": 8, "target_course_num": 8, "source_performance_no": "CT-22250123193908450905349"}]}}
  
  对应的字段名含义如下:
  "course_amount": "金额",
"target_course_num": "目标课次",
"source_course_num": "源课次",
"convert_performance_no_list": "转换履约单列表",
"channel_order_no": "渠道订单号",
"source_performance_no": "源履约单号",
"source_course_num": "源课次",
"course_amount": "金额",
"target_course_num": "目标课次"

开启事务

1.接下来需要循环convert_performance_no_list 插入课次回收流水表course_times_card_account_recycle_flows,插入数据AccountRecycleFlowService的addRecycleFlow方法
    public function addRecycleFlow($datas)
    {
        $model                   = new AccountRecycleFlowsModel();
        $model->user_id          = $datas['user_id'];
        $model->recycle_trans_no = $datas['recycle_trans_no'];
        $model->trans_no         = $datas['trans_no'];
        $model->card_no          = $datas['card_no'];
        $model->operation_type   = $datas['operation_type'];
        $model->performance_no   = $datas['performance_no'];
        $model->work_order_no    = $datas['work_order_no'];
        $model->amount           = $datas['amount'];
        $model->num              = $datas['num'];
        $model->save();

        return $model->toArray();
    }
    里面的user_id是task表的user_id,recycle_trans_no是 AccountPerformancesModel::makeTransNo("CCR")方法生成的;,trans_no是$TransNo = AccountPerformancesModel::makeTransNo(OperationTasksModel::OPERATION_TYPE_PREFIX[OperationTasksModel::OPERATION_TYPE_LIST['convert_recycle']])生成的;,operation_type是task表的operation_type,performance_no是convert_performance_no_list元素里的source_performance_no,work_order_no是task表的work_order_no,amount是convert_performance_no_list元素里的course_amount,num是convert_performance_no_list元素里的source_course_num

    2.更新convert_performance_no_list元素里的每一个source_performance_no的课次,操作course_times_card_account_performances课次订单结果表,参考这个方法
    AccountPerformancesModel::where('performance_no', $performanceNo)->decrement('freeze_num', $sourceCourseNum);

    3.回收课次账户下对应的冻结课次,操作course_times_card_accounts表,参考这个方法
  
    public function subtractFreezeBumOrPresentFreezeNumByCarNo($type, $num, $cardNo)
    {
      //课次账户的付费冻结课次
        if ($type == 1) {  
            AccountsModel::where('card_no', $cardNo)->decrement('freeze_num', $num);
        } else {
            //课次账户的赠送冻结课次
            AccountsModel::where('card_no', $cardNo)->decrement('present_freeze_num', $num);
        }
    }

    4.完成课次回收操作后,开始通知订单服务执行新的履约
                $res = ChannelPlatformService::getInstance()->convertRechargeCourse($operationContent);

    
    提交事务,返回结果

    请帮我实现以上功能

继续优化

1.formateOperationContent有很多foreach 能不能简化

2.将单sql操作改成批量执行,减少对数据库的操作次数

收益:节省了大量手写和调试 SQL 的时间,代码风格统一,易于维护。

接口文档需求描述

JSON
{
    "规则名称列表【搜索用】": {
        "url": "/plan/rule/getRuleNameList",
        "method": "GET",
        "params": {
           
        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": [
                {
                    "id": 1,
                    "title": "窦神归来-周日"
                },
                {
                    "id": 1,
                    "title": "窦神归来-周日"
                }
            ]
        }
    },
    "tag_dict增加联动关系 增加接口": {
        "url": "/tag/hierarchy",
        "method": "GET",
        "params": {
            
        },
        "response": {
            "code": 200,
            "msg": "OK",
            "data": {
              "list": [
                {
                  "subject_id": "43",
                  "subject_name": "英语",
                  "item_list": [
                    {
                      "item_id": "44",
                      "item_name": "系统课",
                      "category_type_list": [
                        {
                          "category_type_id": "47",
                          "category_type_name": "阅读大师课"
                        },
                        {
                          "category_type_id": "48",
                          "category_type_name": "大师精讲课"
                        },
                        {
                          "category_type_id": "49",
                          "category_type_name": "大师晨读课"
                        }
                      ]
                    },
                    {
                      "item_id": "45",
                      "item_name": "专项课",
                      "category_type_list": [
                        {
                          "category_type_id": "50",
                          "category_type_name": "文化解析专项课"
                        }
                      ]
                    },
                    {
                      "item_id": "46",
                      "item_name": "转化课",
                      "category_type_list": [
                        {
                          "category_type_id": "51",
                          "category_type_name": "转化班"
                        }
                      ]
                    }
                  ]
                },
                {
                  "subject_id": "27",
                  "subject_name": "语文",
                  "item_list": [
                    {
                      "item_id": "28",
                      "item_name": "窦神归来",
                      "category_type_list": [
                        {
                          "category_type_id": "1",
                          "category_type_name": "窦神归来班"
                        },
                        {
                          "category_type_id": "42",
                          "category_type_name": "窦神归来第二季"
                        }
                      ]
                    },
                    {
                      "item_id": "29",
                      "item_name": "底阅作小王者",
                      "category_type_list": [
                        {
                          "category_type_id": "2",
                          "category_type_name": "底阅作小王者班"
                        }
                      ]
                    },
                    {
                      "item_id": "30",
                      "item_name": "王者班",
                      "category_type_list": [
                        {
                          "category_type_id": "3",
                          "category_type_name": "王者班"
                        }
                      ]
                    },
                    {
                      "item_id": "31",
                      "item_name": "阅读写作专项",
                      "category_type_list": [
                        {
                          "category_type_id": "4",
                          "category_type_name": "阅读拔尖班"
                        },
                        {
                          "category_type_id": "5",
                          "category_type_name": "写作拔尖班"
                        }
                      ]
                    },
                    {
                      "item_id": "32",
                      "item_name": "大语文",
                      "category_type_list": [
                        {
                          "category_type_id": "6",
                          "category_type_name": "大语文班"
                        },
                        {
                          "category_type_id": "7",
                          "category_type_name": "中考冲刺班"
                        }
                      ]
                    },
                    {
                      "item_id": "38",
                      "item_name": "底阅作突破Only",
                      "category_type_list": [
                        {
                          "category_type_id": "33",
                          "category_type_name": "底阅作突破Only"
                        }
                      ]
                    },
                    {
                      "item_id": "39",
                      "item_name": "保尖班",
                      "category_type_list": [
                        {
                          "category_type_id": "34",
                          "category_type_name": "拼音笔顺专项课"
                        },
                        {
                          "category_type_id": "35",
                          "category_type_name": "文言文专项"
                        },
                        {
                          "category_type_id": "36",
                          "category_type_name": "小升初专项"
                        },
                        {
                          "category_type_id": "37",
                          "category_type_name": "期末保尖班"
                        }
                      ]
                    },
                    {
                      "item_id": "40",
                      "item_name": "国宝课",
                      "category_type_list": [
                        {
                          "category_type_id": "41",
                          "category_type_name": "国宝课"
                        }
                      ]
                    }
                  ]
                }
              ],
              "grade_list": [
                {
                  "grade_id": "0",
                  "grade_name": "不限年级"
                },
                {
                  "grade_id": "1",
                  "grade_name": "一年级"
                },
                {
                  "grade_id": "2",
                  "grade_name": "二年级"
                },
                {
                  "grade_id": "3",
                  "grade_name": "三年级"
                },
                {
                  "grade_id": "4",
                  "grade_name": "四年级"
                },
                {
                  "grade_id": "5",
                  "grade_name": "五年级"
                },
                {
                  "grade_id": "6",
                  "grade_name": "六年级"
                },
                {
                  "grade_id": "7",
                  "grade_name": "七年级"
                },
                {
                  "grade_id": "8",
                  "grade_name": "八年级"
                },
                {
                  "grade_id": "9",
                  "grade_name": "九年级"
                },
                {
                  "grade_id": "10",
                  "grade_name": "高一"
                },
                {
                  "grade_id": "11",
                  "grade_name": "高二"
                },
                {
                  "grade_id": "12",
                  "grade_name": "高三"
                }
              ],
              "weekday_list": [
                {
                  "weekday_id": "1",
                  "weekday_name": "周一"
                },
                {
                  "weekday_id": "2",
                  "weekday_name": "周二"
                },
                {
                  "weekday_id": "3",
                  "weekday_name": "周三"
                },
                {
                  "weekday_id": "4",
                  "weekday_name": "周四"
                },
                {
                  "weekday_id": "5",
                  "weekday_name": "周五"
                },
                {
                  "weekday_id": "6",
                  "weekday_name": "周六"
                },
                {
                  "weekday_id": "7",
                  "weekday_name": "周日"
                }
              ]
            }
          }
    },
    "规则列表【关联排班】【创建时间倒序】": {
        "url": "/plan/rule/getRuleList",
        "method": "GET",
        "params": {
            "page": 1,
            "page_size": 10,
            "title": "规则名称",
            "status_comment": "规则状态1:启用,2:禁用",
            "status":1,
            "category_type_id":1

        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": [
                {
                    "id": 1,
                    "title": "窦神归来-周日",
                    "relation_plan_list": [
                        {
                            "id": 1,
                            "name": "窦神归来-周日"
                        },
                        {
                            "id": 2,
                            "name": "窦神归来-周日"
                        }
                    ],
                    "subject_name": "语文",
                    "item_name": "王者班",
                    "category_type_name": "王者班",
                    "grade_name": "一年级",
                    "week_name": "周一",
                    "status": 1,
                    "status_comment": "启用",
                    "create_time": "2021-01-01 00:00:00"
                },
                {
                    "id": 1,
                    "title": "窦神归来-周日",
                    "relation_plan_list": [
                        {
                            "id": 1,
                            "name": "窦神归来-周日"
                        },
                        {
                            "id": 2,
                            "name": "窦神归来-周日"
                        }
                    ],
                    "subject_name": "语文",
                    "item_name": "王者班",
                    "category_type_name": "王者班",
                    "grade_name": "一年级",
                    "week_name": "周一",
                    "status": 1,
                    "status_comment": "启用",
                    "create_time": "2021-01-01 00:00:00"
                }
            ]
        }
    },
    "创建规则": {
        "url": "/plan/rule/create",
        "method": "POST",
        "params": {
            "id_comment": "id为空时新增,不为空时编辑",
            "id": 1,
            "title": "窦神归来-周日",
            "subject_id": 1,
            "item_id": 1,
            "category_type_id": 1,
            "grade_id": 1,
            "week_id": 1,
            "status": 1
        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": {}
        }
    },
    "更新规则": {
      "url": "/plan/rule/update",
      "method": "POST",
      "params": {
         
          "id": 1,
          "title": "窦神归来-周日",
         
          "status": 1
      },
      "response": {
          "code": 200,
          "msg": "success",
          "data": {}
      }
  },
    "部门列表": {
        "url": "/plan/rule/getDepartmentList",
        "method": "GET",
        "params": {},
        "response": {
            "code": 200,
            "msg": "success",
            "data": [
                {
                    "role_id": 1,
                    "manager_name": "梧桐团队",
                    "group_list": [
                        {
                            "role_id": 1,
                            "group_name": "助教二组",
                            "assistant_list": [
                                {
                                    "role_id": 1,
                                    "name": "张三"
                                },
                                {
                                    "role_id": 2,
                                    "name": "李四"
                                }
                            ]
                        },
                        {
                            "role_id": 2,
                            "group_name": "助教一组"
                        }
                    ]
                }
            ]
        }
    },
    "班主任管理列表【支持部门筛选,接量状态】【账号创建时间倒序】": {
        "url": "/plan/config/getAllTeacherConfig",
        "method": "GET",
        "params": {
            "page": 1,
            "page_size": 10,
            "teacher_ids":[1,2,3],
            "status_comment":"是否接量 1:接量,2:停止接量",
            "status":1
        },
        "response": {
          "code": 200,
          "msg": "OK",
          "data": {
              "page": 1,
              "page_size": 30,
              "total_num": 2,
              "list": [
                  {
                      "teacher_id": 10153,
                      "name": "王闪闪",
                      "mobile": "18838917910",
                      "belong_to": "马英豪部门",
                      "role":1,
                      "status": 1,
                      "alloc_total": 10,
                      "current_total": 0
                  },
                  {
                      "teacher_id": 10157,
                      "name": "张娟",
                      "mobile": "17710691104",
                      "belong_to": "马英豪部门",
                      "status": 1,
                      "alloc_total": 10,
                      "current_total": 0
                  }
              ]
          }
      },
    "班主任接量详情列表【倒序】": {
        "url": "/plan/config/getTeacherPlanList",
        "method": "GET",
        "params": {
            "teacher_id":1
        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": {
                "list": [
                    {
                        "id": 1,
                        "plan_id":1,
                        "plan_title": "张三",
                        "rule_list":[
                            {
                                "id": 1,
                                "title": "窦神归来-周日"
                                
                            }
                        ],
                        "current_total":10,
                        "current_total_comment":"总实际接量",
                        "alloc_total":10,
                        "alloc_total_comment":"总计划接量",
                        "status":"1",
                        "status_comment":"是否接量 1:接量,2:停止接量"
                    }
                ]
            }
        }
    },
    "获取所有班型列表":{
        "url":"/tag/categoryTypeList",
        "method":"GET",
        "params":{},
        "response":{
          "code": 200,
          "msg": "success",
          "data": {
            "list": [
              {
                "id": 51,
                "tag_group_id": 1,
                "tag_key": "19",
                "tag_value": "转化班"
              },
              {
                "id": 50,
                "tag_group_id": 1,
                "tag_key": "18",
                "tag_value": "文化解析专项课"
              },
              {
                "id": 49,
                "tag_group_id": 1,
                "tag_key": "17",
                "tag_value": "大师晨读课"
              },
              {
                "id": 48,
                "tag_group_id": 1,
                "tag_key": "16",
                "tag_value": "大师精讲课"
              },
              {
                "id": 47,
                "tag_group_id": 1,
                "tag_key": "15",
                "tag_value": "阅读大师课"
              },
              {
                "id": 42,
                "tag_group_id": 1,
                "tag_key": "14",
                "tag_value": "窦神归来第二季"
              },
              {
                "id": 41,
                "tag_group_id": 1,
                "tag_key": "13",
                "tag_value": "国宝课"
              },
              {
                "id": 37,
                "tag_group_id": 1,
                "tag_key": "12",
                "tag_value": "期末保尖班"
              },
              {
                "id": 36,
                "tag_group_id": 1,
                "tag_key": "11",
                "tag_value": "小升初专项"
              },
              {
                "id": 35,
                "tag_group_id": 1,
                "tag_key": "10",
                "tag_value": "文言文专项"
              },
              {
                "id": 34,
                "tag_group_id": 1,
                "tag_key": "9",
                "tag_value": "拼音笔顺专项课"
              },
              {
                "id": 33,
                "tag_group_id": 1,
                "tag_key": "8",
                "tag_value": "底阅作突破Only"
              },
              {
                "id": 7,
                "tag_group_id": 1,
                "tag_key": "7",
                "tag_value": "中考冲刺班"
              },
              {
                "id": 6,
                "tag_group_id": 1,
                "tag_key": "6",
                "tag_value": "大语文班"
              },
              {
                "id": 5,
                "tag_group_id": 1,
                "tag_key": "5",
                "tag_value": "写作拔尖班"
              },
              {
                "id": 4,
                "tag_group_id": 1,
                "tag_key": "4",
                "tag_value": "阅读拔尖班"
              },
              {
                "id": 3,
                "tag_group_id": 1,
                "tag_key": "3",
                "tag_value": "王者班"
              },
              {
                "id": 2,
                "tag_group_id": 1,
                "tag_key": "2",
                "tag_value": "底阅作小王者班"
              },
              {
                "id": 1,
                "tag_group_id": 1,
                "tag_key": "1",
                "tag_value": "窦神归来班"
              },
              {
                "id": 57,
                "tag_group_id": 1,
                "tag_key": "20",
                "tag_value": "底阅作"
              }
            ]
          }
        }
    }
}

1.alloc-engine是一个基于php8.2的lumen项目,我要在这项目里实现以上接口,调用流程是这样的,路由定义在web.php里面,路由对应的controller在xxx,controller调用business,business调用service,其中service负责从model里或者redis里面获取数据

2.这个接口涉及到的表有xxx,xxx,xxx,其中表关系是这样的。。。。。。。 请根据需求帮我实现接口

3.3 业务流程优化与重构

场景:需要对已有的多方法进行合并和优化,减少重复代码。

实际操作

  • 提出“能不能把 buildRecycleNoMap 和 fillTransNoByPerformance 合成一个方法,名字叫 formateOperationContent 并实现代码逻辑”。
  • Cursor 自动分析两者的功能重叠,合并为一个更简洁、可维护的实现,并给出优化建议。

收益:代码结构更清晰,后续维护和扩展更方便。

3.4 问题定位与修复

场景:遇到 PHP 8 的参数顺序警告、Undefined array key 报错等。

SQL
Optional parameter $payTaskId declared before required parameter $operationContent is implicitly treated as a required parameter in <b>/Users/linxi/app/course-times-sr/app/Http/Business/Task/CourseTimesConvertTaskJobBusiness.php


"code":0,"file":"/Users/linxi/app/course-times-sr/app/Http/Business/Task/CourseTimesConvertTaskJobBusiness.php","msg":"Undefined array key 9","line":146}

实际操作

  • 直接粘贴报错信息,询问“如何修复?”
  • Cursor 能快速定位问题根源(如参数顺序、数组 key 类型不一致),并给出最优修复方案。

收益:大幅提升了排查和修复线上/开发环境 bug 的效率。

3.5 文档与技术分享自动生成

场景:需要为团队输出技术分享、代码注释、接口文档。

实际操作

  • 用自然语言描述需求和背景,Cursor 自动生成结构化的技术文档、方法注释、SQL 说明等。
  • 例如本篇文档,即由 Cursor 根据实际开发记录自动生成。

收益:极大降低了文档编写门槛,提升了团队知识沉淀效率。

3.6 根据UI图快速生成页面

  • 帮我生成一个企业官网
  • 请根据UI设计图,基于vue3 帮我完美复刻这个页面 ,缺失的图片用占位图代替,icon 用 SVG 或 emoji 占位

3.7 curosr

场景 推荐关键词 示例(效果对比)
代码生成 实现、创建、编写、构建 ❌ 普通:写个用户登录功能
✅ 高效:实现基于 JWT 的用户认证系统,包含注册、登录、Token 刷新和权限验证
功能优化 重构、优化、改进 ❌ 普通:这个函数太慢了
✅ 高效:优化这个递归算法,降低时间复杂度到 O (n)
错误修复 调试、修复、解决 ❌ 普通:这个代码有问题
✅ 高效:修复这个 TypeScript 类型错误,确保所有接口字段都被正确校验
文档生成 注释、文档、说明 ❌ 普通:给这段代码加注释
✅ 高效:生成符合 Google 风格的 Python 文档字符串,包含参数类型和返回值说明
跨语言转换 转换、翻译、重写 ❌ 普通:把这个函数变成 Java
✅ 高效:将此 Python 代码翻译为 Kotlin,保持相同的异步逻辑

4. 常见问题与建议

 建议用自然语言描述业务需求,Cursor 能理解上下文并给出更贴合实际的代码和建议。

 多用“分析”、“优化”、“合并”等关键词,让 Cursor 帮你做结构性重构。

 遇到报错直接贴报错信息,Cursor 能快速定位并修复。

 善用表结构、SQL、业务流程的自动梳理,尤其在对接遗留系统或新业务时。

 代码生成后要结合实际业务做二次 review,确保逻辑和安全性。

5. 总结

各个领域下的AI排名

AI领域

AI名字

AI对话

DeepSeek、豆包、KIMI、ChatGPT

AI搜索

秘塔AI搜索、纳米AI搜索、Perplexity

AI编程

Trae、Cursor

AI绘图

即梦、可灵、Midjourney、Libl lib

AI声音

海螺AI、11labs

AI音乐

Suno、海绵音乐

AI视频

可灵、海螺AI、Vidu、PixVerse

AI 3D

TripoAI、混元3D