使用Cursor和Claude AI打造你的第一个App

大家好,使用Cursor和Claude AI打造应用程序是一个结合智能代码辅助和人工智能对话的创新过程。Cursor是一个编程辅助工具,它通过智能代码补全、聊天式AI对话和代码生成等功能,帮助开发者提高编程效率。Claude AI则是一个强大的人工智能平台,它通过模拟人类在电脑上的操作,能够完成复杂的任务,并且可以与其他系统集成,支持多种应用场景。

1.Cursor简介

Cursor是一款人工智能代码编辑器,基于Visual Studio Code开发,具备无缝集成的AI功能。它支持多种人工智能模型,能够与OpenAI、Anthropic、Google和Azure等主流平台实现集成。

在实际使用中,Cursor与Claude 3.5模型的配合效果尤为理想,这一模型被成功应用于应用程序的开发过程中。

图片

2.开始使用 Cursor

首先,需要在设备上安装 Cursor。安装完成后,创建账户并登录。登录后可以创建一个新的文件夹,从头开始编写代码。

对于大多数用户来说,这可能是他们的首选步骤。不过,为了提供具体的示例,这里以构建一个Mac应用程序为例。在这个例子中,我们会先创建一个Xcode项目。

请注意,选择的项目类型可能会影响你使用Cursor的具体方法。创建好Xcode项目后,接下来就是在Cursor中打开这个项目文件夹了。

图片

3.作曲家功能

使用Cursor时,如果从一个空文件夹开始,界面会显示为空。而那些额外的文件,实际上是由Xcode创建的。

接下来,需要使用快捷键Command + K来打开“作曲家”功能。虽然Cursor应用中集成了许多人工智能特性,但在这里,我们主要关注“作曲家”功能。“作曲家”功能允许指导AI从零开始构建项目,构建完成后,可以在“作曲家”视图中引用多个文件,并进行编辑。

只需提出想要进行的更改,并不断迭代,直至达到预期的结果。例如,让我们通过“作曲家”来创建一个简单的计时器应用程序。

I want you to create a mac app for me. 
The app should be a simple timer, where there is the option to start timer. 
By default have the option for 5, 10, 15, 20, 35 and an option to add custom timer interval. 
The timer should run in background. 
And when the timer finished, bring back the app window  to front and play a loud timer completion sound. 
Then it should show the option to stop timer.

4.构建计时器应用程序

这是在 Cursor 作曲家中放入的提示:

图片

Cursor自动生成了3个新的代码文件,并完成了所有必要的编码工作。如果具备丰富的编程经验和知识,可以直接检查这些代码,并根据需要接受或拒绝特定的更改。

如果是编程新手,那么可能需要先接受Cursor所做的所有更改,然后通过构建应用程序来检查是否存在任何错误。在确认无误后,可以继续在Xcode中构建应用程序,并预览其效果。

图片

5.调试与完善

我们来尝试构建这个应用程序,并看看目前的进展。

图片

目前,计时器结束时没有播放声音,也没有提供停止计时器的选项。最初,我们希望这个应用程序能像闹钟一样工作,即在用户主动停止之前,声音应该持续播放。

为了实现这一点,需要在项目中添加一个名为alarm.mp3的音频文件,这一点在作曲家视图中已有明确说明。因此,仔细阅读并理解人工智能的响应是非常重要的。

接下来,将再次使用作曲家功能,首先将Cursor AI创建的所有文件添加进去。

I think you missed certain things. 
I want this to be a timer app, but behave like an alarm. 
When the timer finished, the sound should play repetitiveyly, until the user press stop. 

6.Cursor的迭代能力

Cursor应用程序的精妙之处在于其迭代能力,可以在已有的基础上不断改进,直至达到满意的结果。

按照这个提示操作后,应用程序就能完全按照预期工作了。如果遇到任何错误,只需将错误复制到作曲家功能中,它就能提供一个更优的代码版本。就是用这种方法构建了ZenFocus应用程序。

7.Cursor的其他AI特性

除了作曲家功能,Cursor还提供了其他一些人工智能特性,例如:

  • Tab:这是一个强大的自动补全工具,能够预测您的下一步编辑,并跨多行提供代码建议。

  • 多行编辑:它能够一次性提出多个编辑建议,帮助您节省时间。

  • 聊天:可以与完全了解代码库的AI进行对话,询问例如“代码有什么问题吗?”之类的问题,或者请求特定的代码文件或代码块。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm152家庭财务管理系统设计与实现+jsp(论文+源码)_kaic

毕 业 设 计(论 文) 题目:家庭财务管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本家庭财务管理系…

《深入理解 Spring MVC 工作流程》

一、Spring MVC 架构概述 Spring MVC 是一个基于 Java 的轻量级 Web 应用框架,它遵循了经典的 MVC(Model-View-Controller)设计模式,将请求、响应和业务逻辑分离,从而构建出灵活可维护的 Web 应用程序。 在 Spring MV…

LeetCode - #139 单词拆分

文章目录 前言摘要1. 描述2. 示例3. 答案题解动态规划的思路代码实现代码解析1. **将 wordDict 转换为 Set**2. **初始化 DP 数组**3. **状态转移方程**4. **返回结果** **测试用例**示例 1:示例 2:示例 3: 时间复杂度空间复杂度总结关于我们 前言 本题由于没有合适答案为以往遗…

LLM( Large Language Models)典型应用介绍 1 -ChatGPT Large language models

ChatGPT 是基于大型语言模型(LLM)的人工智能应用。 GPT 全称是Generative Pre-trained Transformer。-- 生成式预训练变换模型: Generative(生成式):可以根据输入生成新的文本内容,例如回答问题…

维护在线重做日志

学习目标 解释在线重做日志文件的目的概述在线重做日志文件的结构控制日志开关和检查点多路复用和维护在线重做日志文件使用OMF管理在线重做日志文件获取在线重做日志文件信息 在线重做日志文件提供了在数据库发生故障时重做事务的方法。 每个事务都同步写入重做日志缓冲区&a…

分布式数据库中间件可以用在哪些场景呢

在数字化转型的浪潮中,企业面临着海量数据的存储、管理和分析挑战。华为云分布式数据库中间件(DDM)作为一款高效的数据管理解决方案,致力于帮助企业在多个场景中实现数据的高效管理和应用,提升业务效率和用户体验。九河…

shell(6)if条件判断与for循环结构

声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…

vulfocus在线靶场:tomcat-pass-getshell 弱口令 速通手册

目录 一、启动环境,访问页面,并登录,账号密码都是tomcat 二、哥斯拉打war包,图解 三、上传war包,图解 四、访问我们直接url/木马文件名/木马文件.jsp,是否存在了 五、 哥斯拉测试连接结果success&…

DICOM核心概念:显式 VR(Explicit VR)与隐式 VR(Implicit VR)在DICOM中的定义与区别

在DICOM(Digital Imaging and Communications in Medicine)标准中,VR(Value Representation) 表示数据元素的值的类型和格式。理解显式 VR(Explicit VR)与隐式 VR(Implicit VR&#…

2、桥接模式

模式解释 百度: 这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的交流调用。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类,这两种类型的类可被结构化…

小程序-基于java+SpringBoot+Vue的开放实验室预约管理系统设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

【JavaSE】【网络编程】UDP数据报套接字编程

目录 一、网络编程简介二、Socket套接字三、TCP/UDP简介3.1 有连接 vs 无连接3.2 可靠传输 vs 不可靠传输3.3 面向字节流 vs 面向数据报3.4 双向工 vs 单行工 四、UDP数据报套接字编程4.1 API介绍4.1.1 DatagramSocket类4.1.1.1 构造方法4.1.1.2 主要方法 4.1.2 DatagramPocket…

【K8S系列】Kubernetes Pod节点ImagePullBackOff 状态及解决方案详解【已解决】

在 Kubernetes 中,当某个 Pod 的容器无法从指定的镜像仓库拉取镜像时,Pod 的状态会变为 ImagePullBackOff。这通常是因为指定的镜像不存在、镜像标签错误、认证失败或网络问题等原因。 以下是关于 ImagePullBackOff 的详细分析及解决方案。 1. ImagePull…

VMware虚拟机(Ubuntu或centOS)共享宿主机网络资源

VMware虚拟机(Ubuntu或centOS)共享宿主机网络资源 由于需要在 Linux 环境下进行一些测试工作,于是决定使用 VMware 虚拟化软件来安装 Ubuntu 24.04 .1操作系统。考虑到测试过程中需要访问 Github ,要使用Docker拉去镜像等外部网络资源,因此产…

前列腺分割:基于边界加权(解决弱边界)、域自适应(少样本)

前列腺分割:基于边界加权(解决弱边界)、域自适应(少样本) 理解发现规律论文大纲观察1. 观察行为2. 变量分析3. 假设提出4. 验证过程 解法拆解 论文:Boundary-weighted Domain Adaptive Neural Network for …

鼠标绘制轮廓

需要对label进行提升&#xff0c;新建MyLabel类&#xff0c;并将其提升到label控件上&#xff0c;详见上篇控件提升 mylabelmouse.h #pragma once #include <QtWidgets/QMainWindow> #include "ui_mylabelmouse.h" #include <QMenu> #include "My…

C语言-详细讲解-冒泡排序与选择排序

1.冒泡排序 冒泡排序是一种比较简单的排序算法。它重复地走访要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换&#xff0c;也就是说该数列已经排序完成。这个名字的由来是因为越小&a…

MATLAB常见数学运算函数

MATLAB中含有许多有用的函数,可以随时调用。 a b s abs abs函数 a b s abs abs函数在MATLAB中可以求绝对值,也可以求复数的模长:c e i l ceil ceil函数 向正无穷四舍五入(如果有小数,就向正方向进一)f l o o r floor floor函数 向负无穷四舍五入(如果有小数,就向负方向…

SpringBoot 集成 Sharding-JDBC(一):数据分片

在深入探讨 Sharding-JDBC 之前&#xff0c;建议读者先了解数据库分库分表的基本概念和应用场景。如果您还没有阅读过相关的内容&#xff0c;可以先阅读我们之前的文章&#xff1a; 关系型数据库海量数据存储策略-CSDN博客 这篇文章将帮助您更好地理解分库分表的基本原理和实现…