我的 Vibe Coding 的第一个项目
大家好,我是 Immerse,一名独立开发者、内容创作者。
- 关注公众号:#沉浸式趣谈,获取最新文章(更多内容只在公众号更新)
- 个人网站:
https://yaolifeng.com也同步更新。 - 转载请在文章开头注明出处和版权信息。
我会在这里分享关于编程、独立开发、AI干货、开源、个人思考等内容。
如果本文对您有所帮助,欢迎动动小手指一键三连(点赞、评论、转发),给我一些支持和鼓励,谢谢!
作为一名开发者,大家都会面临长时间 Coding 忘记休息,忘记喝水。我们也都知道这其中的危害,但在工作中却很难自觉地执行这些健康习惯。已经有多位同事因长期久坐出现肾结石等健康问题。
基于这个真实的小痛点,尝试用 Vibe Coding 方式开发一个健康提醒插件
Health Reminder:一个极简的 VS Code 插件,提供久坐和喝水的强制提醒功能。
这个项目的价值不仅在于插件本身,更在于展示如何利用 AI 从零开始快速构建有实际应用价值的工具。
GitHub:https://github.com/yaolifeng0629/Health-Reminder
插件市场:https://marketplace.visualstudio.com/items?itemName=Immerse.health-reminder
Vibe Coding 开发全流程详解
Vibe Coding 是什么?
可以直接翻译为“氛围编程”,不是简单的让 AI 按照你的命令去写代码,而是结合你的规划、直觉和迭代的一种新型开发方式。
但我个人觉得它是一种通过自然语言与AI共同协作完成编程任务的一种新的开发方式。不同于之前的的" Ctrl C、V 代码片段",它更像是你与一个资深的开发小伙伴结对编程,只不过这个小伙伴变成了 AI。
下面我会分享初次体验 Vibe Coding 这个开发流程
1. Requirements & Plan
我用自然语言描述了核心功能,让 Gemini 2.5 Pro 帮我扩展和完善。
这个阶段的关键是将模糊的想法转化为结构化的功能需求。与之前不同的是,我不需要再写详细产品交互文档,只需要描述核心功能和使用的场景
你给我一款VSCode插件,其核心功能:久坐、喝水强制提醒。
**核心功能 (Core Functionality):**
1. **独立计时器 (Independent Timers):**
* **久坐计时器:** 跟踪上次提醒后或开始工作后的时间。
* **喝水计时器:** 跟踪上次提醒后或开始工作后的时间。
* **自动重置:** 每次提醒触发并被用户“确认”后,对应计时器自动重置。
2. **强制性全屏提醒弹窗 (Mandatory Full-Screen Reminder Pop-up):**
* 当任一计时器达到预设阈值时,自动在 VS Code/Cursor 界面上方弹出一个 **全屏或占据大部分屏幕、不可关闭** 的模态窗口。
* **UI 锁定:** 此窗口必须完全覆盖编辑器界面,并暂时禁用所有键盘输入和鼠标操作,直到用户进行互动。
* **提醒信息:** 窗口内显示明确、简洁的提醒信息:
* 久坐提醒时显示:“该起身活动了!”或“休息一下眼睛,伸展身体。”
* 喝水提醒时显示:“该喝水了!”或“补充水分,保持健康。”
* **强制确认按钮:** 窗口底部必须有一个明确的按钮,如“我知道了”、“已休息”或“已喝水”。用户 **必须点击** 此按钮,才能关闭弹窗、解除 UI 锁定,并重置相应的计时器。
* **(可选但推荐)短暂延迟:** 弹窗出现后,可在确认按钮激活前强制用户等待 3-5 秒,以确保提醒被注意到。
3. **极简配置 (Minimal Configuration):**
* 通过 VS Code/Cursor 的设置 (`settings.json`) 或图形化设置界面,仅提供以下关键配置项:
* **久坐提醒间隔 (Sit Reminder Interval):** 默认 60 分钟,可调整(单位:分钟)。
* **喝水提醒间隔 (Drink Reminder Interval):** 默认 45 分钟,可调整(单位:分钟)。
* **启用/禁用提醒 (Enable/Disable Reminders):** 可单独开启/关闭久坐提醒和喝水提醒。
这个步骤 AI 会根据扩展的功能需求,开始给我实现初步的功能代码。
2. Debug & Testing
直接按 F5 选择 VS Code Extension 启动调试,在新 VS Code 窗口中体验和测试功能。
3. 打包与发布
调试验证无误后,使用 vsce 工具打包插件:
npm install -g @vscode/vsce # 安装打包工具
vsce package # 打包插件
生成的 .vsix 文件就是插件安装包。
最后,在 VS Code Marketplace 上创建账号,然后发布插件。
整个过程出人意料地顺利。
Vibe Coding 体验心得
1. 角色的转变
传统开发中,需要在多个角色间切换:需求分析师、架构师、开发者、测试员等。而在 Vibe Coding 中,AI 能够同时扮演多个角色,让开发过程更加流畅。
2. 自然语言的局限
用自然语言描述需求和问题,对于一些小细节地方的处理可能还是不够完善,需要人为多次介入。
GitHub:https://github.com/yaolifeng0629/Health-Reminder
插件市场:https://marketplace.visualstudio.com/items?itemName=Immerse.health-reminder
其他好文推荐
搞定 XLSX 预览?别瞎找了,这几个库(尤其最后一个)真香!
【完整汇总】近 5 年 JavaScript 新特性完整总览
我的 Vibe Coding 的第一个项目的更多相关文章
- CODING DevOps 微服务项目实战系列第一课,明天等你
CODING DevOps 微服务项目实战系列第一课<DevOps 微服务项目实战:DevOps 初体验>将由 CODING DevOps 开发工程师 王宽老师 向大家介绍 DevOps ...
- 笔记-django第一个项目
笔记-django第一个项目 1. 创建项目 安装 Django 之后,现在有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 看下djang ...
- Surprise团队第一周项目总结
Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...
- [Asp.net MVC]Asp.net MVC5系列——第一个项目
目录 概述 创建第一个项目 添加控制器 总结 概述 本教程是个人一步一步学习的总结,希望能帮到正在进入ASP.Net MVC5方向的朋友,个人也是准备进入ASP.NET MVC5领域,虽然艰辛,但是乐 ...
- AndroidStudio第一个项目HelloWorld
实验内容 在Android Studio中创建项目 创建并启动Android模拟器 项目的编译和运行 实验要求 在安装好的AndroidStudio上建立第一个工程 创建并启动Android模拟器 编 ...
- 自我总结(六)---(学习j2ee+j2ee第一阶段项目)
自我完善的过程就是在不断的自我总结不断的改进. 学习了Struts2 Spring Hibernate. 十天前结束了这个课程.也考试了.这次考试老师说机试考的还不错.其实就是一个简单的用户登录,进行 ...
- Django 创建第一个项目(转)
转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...
- 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结
2013年5月3号,开始找IOS开发工作(自学了大半年,做了一个功能不全的Demo,该出去见见世面了!),5月4号面试了第一家公司(是家刚成立一段时间的外包公司),5月5号第一家公司已二轮电话面试,5 ...
- Cracking the coding interview 第一章问题及解答
Cracking the coding interview 第一章问题及解答 不管是不是要挪地方,面试题具有很好的联系代码总用,参加新工作的半年里,做的大多是探索性的工作,反而代码写得少了,不高兴,最 ...
- Angular安装及创建第一个项目
Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...
随机推荐
- Win7共享账号切换程序
服务器共享目录需要多账号登录时,需要重启电脑才可切换不同账号登 为了不重启电脑就可立即切换不同账号登,特意写了此款软件, 下载: 链接:https://pan.baidu.com/s/1g_4SCXl ...
- 【Maven】在 Idea 中使用 Maven
在 Idea 中使用 Maven 1 在 Idea 中配置 Maven Idea 中也自带 Maven 插件,而且我们也可以给自带的 Maven 插件进行配置,所以我们可以使用自带的 Maven,也可 ...
- xe下ro流导致的错误
server端ro7.0的版本,client用的Xe10.3下Ro9.0.导致clientdataset数据记录有几十条就会出现内存泄漏现象.根源在下面: Remobjects9.0与XE10.3自带 ...
- Golang高性能引擎:ZKmall开源商城支撑百万级日活交易流畅运行
在电商业务高并发.低延迟的严苛场景下,技术栈的选择直接决定系统上限.ZKmall开源商城基于Golang技术生态,以协程级并发.毫秒级响应为核心优势,为百万级日活电商平台提供高性能解决方案.本文从架构 ...
- Kylin-Server-V10-SP3物理机安装简要过程
1.下载镜像 链接: https://eco.kylinos.cn/partners/mirror.html?class_id=1&query_key=V10 选择: 银河麒麟高级服务器操作系 ...
- Git的基础使用(一)
Git版本管理工具的作用: (1)完整的记录项目代码变化的过程 (2)备份每一个变化过程的代码版本 (3)多人协同开发 1.配置全局变量 (1)配置用户名 git config --global us ...
- Robot Framework全局变量集合取值
在一次测试中,可能需要使用多个不同的会员,即需要多注册多个会员.如此配置单一参数化是无法满足对所有注册会员名的统一管理,这里引入参数变量组来实现 步骤如下: 1.脚本目录点击总目录,右键点击New R ...
- NPOI,给指定的excle创建个下拉框验证
NPOI,给指定的excle创建个下拉框验证 先大致看下效果吧 Nuget 搜索 NPOI,一般出来的第一个就是,安装NPOI基础环境 1 using NPOI.HSSF.UserModel; 2 ...
- Git错误,fatal: refusing to merge unrelated histories
错误:fatal: refusing to merge unrelated histories 中文意思就是拒绝合并不相关的历史, 解决 出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立 ...
- 【记录】手机QQ和电脑QQ里的emoji种类有什么差异?
版本 手机 QQ:V 8.9.76.12115 电脑 QQ:QQ9.7.15(29157) 偶然发现,有一种emoji手机上怎么找都找不到,一开始以为自己失忆了,后来发现这种emoji只在电脑上有. ...