Cursor AI 使用技巧-案例分享

深度使用Cursor一周下来,体验如下:
1、小项目能轻松简单完成,出错较少,小项目中可以使用cursor直接创建基本架构,再调整细节,比如前端的uniapp, 原生小程序、VUE这些;
2、复杂项目不太可能通过几次对话就能实现,最好在已有项目或架构下分解逐步实现功能;
3、对效率提高作用很大,不管是创建代码,调试,还是修改,只要目标清楚基本都能完美解决问题;
4、程序员的时间从写代码转向架构设计,需求描述、调试、修改上。最近完成的两个项目除去原有框架的代码后增加的代码98%是由cursor完成的
5、基本功还是要扎实,技术了解要全面,不然没法向AI提出具体的需求,遇到问题也不知道怎么解决。

使用技巧有很多,重中之重就是提问技巧,其他技巧这里就不探讨了。

Cursor AI提问技巧

  1. 明确具体:尽量提供详细的问题描述,明确你想要解决的问题或想要实现的功能。

  2. 使用正确的术语:使用准确的技术术语和关键词,这有助于Cursor AI理解你的需求。

  3. 上下文信息:提供足够的上下文信息,比如你正在使用的编程语言、框架、库等。

  4. 示例代码:如果可能,提供一小段示例代码,这样Cursor AI可以更好地理解你的问题和需求。

  5. 明确期望的结果:描述你期望得到的结果,包括输出格式、性能要求等。

  6. 避免歧义:尽量避免使用模糊不清的表述,这可能导致Cursor AI理解错误。

  7. 逐步提问:如果你的问题很复杂,尝试将其分解成几个小问题,逐步提问。

  8. 反馈和迭代:如果Cursor AI的回答不完全符合你的预期,提供反馈并尝试重新表述问题。

  9. 利用上下文:如果你之前提过相关的问题,可以在新的问题中提及,这样可以帮助Cursor AI更好地理解问题的连续性。

  10. 直接提问:如果你想要的是一个直接的答案或解决方案,就直接提问,比如“如何修复这个bug?”或“这个函数的参数是什么?”

  11. 避免过于宽泛的问题:尽量避免提出过于宽泛的问题,因为这可能导致答案过于笼统。

  12. 利用命令:如果Cursor AI支持特定的命令或快捷方式,使用它们可以更高效地获取信息。

  13. 明确限制条件:如果你的问题有特定的限制条件,比如时间、资源或技术限制,确保在提问时提及。

  14. 清晰的问题结构:组织好你的问题,使用清晰的结构,比如问题背景、具体问题、期望结果。

  15. 利用示例:如果可能,提供一个具体的例子或场景,这样可以帮助Cursor AI更好地理解问题。

  16. 保持耐心:有时候,即使问题表述得很清楚,也可能需要一些时间来获得满意的答案,保持耐心。

示例
提问中指明要操作的对象,比如某个文件名,组件名,类名,功能名;要实现的功能描述,功能的举例描述,效果描述
Cursor提问
实现效果
在这里插入图片描述
前端项目中,要明确向cursor指出哪些数据是由后端提供的,并让他写出接口并按你要去的字段模拟数据,用于测试。
在这里插入图片描述
效果
在这里插入图片描述
连数据验证都一起做好了,还贴心的给了注释,代码:

   // 验证是否可以插入运算符
    canInsertOperator(formula, operator) {
      if (!formula) return false // 空公式不能插入运算符
      
      const lastChar = formula.trim().slice(-1)
      
      // 特殊处理左括号
      if (operator === '(') {
        // 左括号前面必须是运算符或公式开始
        return ['+', '-', '*', '/', '(', ''].includes(lastChar)
      }
      
      // 特殊处理右括号
      if (operator === ')') {
        // 右括号前面必须是数字、字段结束符}或另一个右括号
        return ['}', ')', ...this.numbers].includes(lastChar)
      }
      
      // 其他运算符前面必须是数字、字段结束符}或右括号
      return ['}', ')', ...this.numbers].includes(lastChar)
    },
    
    // 验证是否可以插入数字
    canInsertNumber(formula) {
      if (!formula) return true // 空公式可以插入数字
      
      const lastChar = formula.trim().slice(-1)
      // 如果最后是右括号或字段结束符},则不能插入数字
      return !['}', ')'].includes(lastChar)
    },
    
    // 获取运算符错误提示
    getOperatorError(operator) {
      switch(operator) {
        case '(':
          return '左括号前必须是运算符或公式开始'
        case ')':
          return '右括号前必须是数字、字段或右括号'
        default:
          return '运算符前必须是数字、字段或右括号'
      }
    },
    
    // 检查括号匹配
    checkBrackets(formula) {
      let stack = []
      for (let char of formula) {
        if (char === '(') {
          stack.push(char)
        } else if (char === ')') {
          if (stack.length === 0) return false
          stack.pop()
        }
      }
      return stack.length === 0
    },
    
    // 检查公式是否完整
    isIncompleteFormula(formula) {
      // 以运算符结尾
      if (/[+\-*/]$/.test(formula)) return true
      // 以左括号结尾
      if (formula.endsWith('(')) return true
      return false
    },
    
    // 添加检查数字使用是否合法的方法
    hasInvalidNumberUsage(formula) {
      // 检查是否有连续的数字和字段
      const hasNumberFieldSequence = /\d{[^}]+}/.test(formula)
      // 检查是否有字段后直接跟数字
      const hasFieldNumberSequence = /}[0-9]/.test(formula)
      
      return hasNumberFieldSequence || hasFieldNumberSequence
    },
    
    // 获取最后输入的类型
    getLastInputType(formula) {
      if (!formula) return ''
      if (formula.endsWith('}')) return 'field'
      if (/[+\-*/()]/.test(formula.slice(-1))) return 'operator'
      if (/\d/.test(formula.slice(-1))) return 'number'
      return ''
    },

AI就像女朋友,你越是懂她,你就过得越滋润。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值