第06讲:从零到Hello World:用Cursor体验你的第一次Vibe Coding

2 阅读1分钟

「最好的学习方式,不是看别人做,而是自己做一遍。」


开场:今天你要亲手完成它

前五讲,我们一直在讲概念和框架。

从这一讲开始,我们要动手了。

今天的任务是:用 Cursor 完成你的第一个 Vibe Coding 项目——一个可以在浏览器里运行的待办事项 App(Todo App)。

不需要什么编程基础,跟着步骤走就行。

整个过程大约 45 分钟。完成之后,你会对 Vibe Coding 有一个完全不同于"听说"的理解。


环境准备

第一步:安装 Cursor

  1. 打开 cursor.com
  2. 点击 Download,选择你的操作系统(Windows/Mac/Linux)
  3. 安装完成后打开 Cursor

第一次打开 Cursor,它会询问你是否要从 VSCode 导入配置。如果你原来用 VSCode,可以选择导入;如果不是,跳过即可。

第二步:注册并登录

Cursor 有免费版,每月有一定数量的 AI 请求限制。注册账号后即可开始使用。

对于今天的任务,免费版完全够用。

第三步:创建项目目录

在你的电脑上创建一个新目录,命名为 todo-vibe,然后用 Cursor 打开这个目录:

# 或者直接用 Cursor 菜单:File → Open Folder
mkdir todo-vibe
cd todo-vibe

全局视角:今天要做什么

graph LR
    A["1. 安装配置 Cursor\n(10分钟)"] --> B["2. 描述项目需求\n(5分钟)"]
    B --> C["3. AI 生成项目结构\n(10分钟)"]
    C --> D["4. 运行和验证\n(10分钟)"]
    D --> E["5. 迭代改进\n(10分钟)"]
    
    style A fill:#f6ffed,stroke:#52c41a
    style B fill:#e8f4e8,stroke:#52c41a
    style C fill:#fff7e6,stroke:#fa8c16
    style D fill:#f0f7ff,stroke:#4a9eff
    style E fill:#f9f0ff,stroke:#722ed1

核心操作:Cursor 的三种主要交互方式

在开始之前,先了解 Cursor 的三种主要交互方式,这是你今天会用到的核心功能:

方式一:Tab 补全(最常用)

就像 GitHub Copilot 一样,Cursor 会预测你下一步想写什么,显示灰色的建议文字。

操作:直接按 Tab 键接受建议,按 Esc 拒绝。

特点:Cursor 的 Tab 补全特别聪明——它不只补全当前行,而是能预测接下来几行,甚至整个函数。

方式二:Ctrl+K(行内生成/修改)

在光标位置按 Ctrl+K,弹出一个小输入框,你可以在这里输入指令,AI 在当前光标位置生成或修改代码。

典型用法

  • 生成一个函数:写一个验证邮箱格式的函数
  • 修改已有代码:选中代码后按 Ctrl+K,输入修改要求

方式三:Ctrl+L(侧边对话框)

按 Ctrl+L 打开右侧的对话框,可以和 AI 进行多轮对话。

典型用法

  • 解释代码:解释这段代码在做什么
  • 解决 Bug:这段代码运行时报错 XXX,帮我修复
  • 多文件修改:描述一个跨文件的功能需求

更强大的:Composer 模式

按 Ctrl+Shift+I,打开 Composer,这是 Cursor 最强大的功能——它可以同时修改多个文件,完成整个功能的开发。


实战开始:第一步——让 AI 帮你规划

打开 Cursor,按 Ctrl+L 打开对话框,输入以下内容:

我想做一个简单的 Todo List Web App,功能如下:
1. 添加新任务(输入框 + 回车/按钮)
2. 标记任务为完成(点击勾选框)
3. 删除任务
4. 显示"已完成"和"未完成"的任务数量
5. 数据存在 localStorage,刷新页面不丢失

技术要求:
- 纯 HTML/CSS/JavaScript,不用任何框架
- 一个 index.html 文件搞定,不需要 npm
- 界面要好看,使用现代化的 UI 设计

请先告诉我你的实现计划,然后等我确认后再开始写代码。

AI 会给你一个实现计划,大约包含:

  • 文件结构说明
  • HTML 布局方案
  • CSS 样式思路
  • JavaScript 逻辑设计

实战:第二步——让 AI 生成代码

确认计划之后,输入:

计划看起来不错,开始实现吧。

Cursor 会开始生成 index.html 文件。

等待过程中,注意观察 AI 是如何一步步生成代码的——它不是一次性输出,而是有结构地生成:先 HTML 结构,再 CSS 样式,再 JavaScript 逻辑。

生成完成后,在文件浏览器里找到 index.html,右键 → 用浏览器打开(或者 Live Server 插件),查看效果。


实战:第三步——验证和迭代

打开浏览器后,测试以下功能:

功能检查清单

  • 能添加新任务吗?
  • 能通过回车键添加吗?
  • 点击勾选框能标记完成吗?
  • 能删除任务吗?
  • 刷新页面后数据还在吗?
  • 显示任务统计数量了吗?

如果某个功能有问题,回到 Cursor,在对话框里描述问题:

添加任务后,任务列表能显示,但删除按钮点击没有反应。帮我修复这个 Bug。

实战:第四步——添加一个新功能(体验迭代开发)

现在我们来体验 Vibe Coding 最爽的地方——快速迭代。

在对话框里输入:

现在帮我添加一个新功能:
- 在顶部添加一个"全部/未完成/已完成"的筛选器
- 点击"未完成"只显示未完成的任务
- 点击"已完成"只显示已完成的任务
- 点击"全部"显示所有任务
- 当前选中的筛选器用高亮样式显示

观察 AI 如何在已有代码基础上添加新功能——它会分析现有代码结构,然后在合适的地方插入新逻辑,而不是重新生成整个文件。


实战:第五步——让 AI 做代码优化和解释

你已经有了一个可以运行的 Todo App。现在试试这些高级用法:

用法一:让 AI 解释代码

选中某段 JavaScript 代码,按 Ctrl+L,输入:

解释这段代码的逻辑,用简单的语言说明它在做什么

用法二:让 AI 做代码审查

帮我做一个代码审查,找出这段代码中可能的问题:
- 性能问题
- 可能的 Bug
- 代码风格问题
给出改进建议,但不要直接修改代码,只给建议

用法三:让 AI 添加注释

帮我为这段 JavaScript 代码添加中文注释,
让一个 JavaScript 初学者也能看懂每一部分在做什么

深度拆解:这次实战背后的关键原则

通过今天的操作,你应该已经感受到了 Vibe Coding 的几个关键点:

原则一:先规划,后执行

我们没有一开始就说"帮我写一个 Todo App",而是先让 AI 制定计划,确认计划之后再执行。

这是第一讲强调的"规划先行"在实操中的体现。

原则二:小步迭代,不求一次完美

我们分步骤添加功能(先做基础版,再添加筛选器),而不是一次性描述所有需求。

小步迭代的好处:

  • 每步都能验证是否正确
  • 出错时容易定位问题
  • AI 每次处理的任务更简单,质量更高

原则三:你是验证者,不是被动接受者

你不应该生成代码之后就不管了,而是要主动测试、发现问题、描述问题、让 AI 修复。

这个"测试→发现问题→描述→修复"的循环,就是 Vibe Coding 工作流的核心。

原则四:用自然语言描述意图,而不是技术实现

注意我们的提示词:"添加一个筛选器,点击'未完成'只显示未完成的任务"——这是意图描述,不是技术实现(我们没有说"给 tasks 数组添加一个 filter 方法")。

让 AI 决定怎么实现,你只需要说清楚要实现什么效果。


常见问题与解决方案

Q:AI 生成的代码报错了怎么办?

A:把错误信息原文复制给 AI:

运行时报了这个错误,帮我修复:
[粘贴错误信息]

Q:AI 生成的效果和我想的不一样怎么办?

A:描述得更具体:

现在的筛选器是下拉菜单,但我想要的是横排的三个按钮,
类似 GitHub Issues 页面的那种 Tab 按钮样式,
当前选中的按钮底部有蓝色下划线

Q:AI 一次生成了太多代码,我看不过来怎么办?

A:让 AI 解释关键部分:

这段代码里,有哪些是核心逻辑,哪些是样式代码?
帮我标出最重要的 10-15 行,解释它们是怎么联系在一起的

Q:能不能让 AI 直接运行代码?

A:在 Cursor 的 Agent 模式下,AI 可以自动运行代码(比如 npm start),不过需要你的项目有合适的运行命令。对于纯 HTML 项目,通常手动用浏览器打开就够了。


扩展练习:4个进阶挑战

如果你还想继续练习,这里有 4 个逐步进阶的挑战:

挑战一(简单):给 Todo App 添加暗色模式,可以通过按钮切换

在右上角添加一个暗色/亮色模式切换按钮,
切换时整个页面的颜色主题跟着改变(背景、文字、边框等),
模式偏好保存在 localStorage

挑战二(中等):把任务添加优先级(高/中/低),用不同颜色区分

挑战三(较难):把数据存储改成通过 API 调用(需要本地启动一个简单的 Express 服务器)

挑战四(进阶):把整个项目改成 React 版本


本讲小结

mindmap
  root((第一次Vibe Coding实战)
    环境准备
      安装Cursor
      创建项目目录
    三种交互方式
      Tab补全
      Ctrl+K 行内生成
      Ctrl+L 对话
      Composer 多文件
    工作流程
      先规划后执行
      小步迭代
      测试验证
      描述问题修复
    关键原则
      意图描述而非技术描述
      你是验证者
      规划先行

思考题

  1. 在今天的实战中,你觉得 AI 生成的代码在哪些地方超出了你的预期?在哪些地方让你失望?

  2. 如果没有 AI,完成同样的 Todo App 你需要多长时间?和今天的体验对比,效率提升了多少倍?

  3. 在"规划→生成→验证→迭代"这个循环中,你觉得哪个环节对最终结果影响最大?


下一讲预告

模块一的全景认知到这里就结束了。

从第7讲开始,我们进入模块二:提示词工程

你已经体验过了用自然语言指挥 AI,但你可能也注意到——提示词的质量直接影响 AI 的输出质量。

为什么有些人的提示词总能得到好代码,有些人的提示词总让 AI 误解?

下一讲,我们来拆解提示词的本质。