大家好,我是 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

其他好文推荐

2025 最新!独立开发者穷鬼套餐

这个 361k Star 的项目,一定要收藏!

搞定 XLSX 预览?别瞎找了,这几个库(尤其最后一个)真香!

实战分享】10 大支付平台全方面分析,独立开发必备!

关于 MCP,这几个网站你一定要知道!

做 Docx 预览,一定要做这个神库!!

【完整汇总】近 5 年 JavaScript 新特性完整总览

关于 Node,一定要学这个 10+万 Star 项目!

我的 Vibe Coding 的第一个项目的更多相关文章

  1. CODING DevOps 微服务项目实战系列第一课,明天等你

    CODING DevOps 微服务项目实战系列第一课<DevOps 微服务项目实战:DevOps 初体验>将由 CODING DevOps 开发工程师 王宽老师 向大家介绍 DevOps ...

  2. 笔记-django第一个项目

    笔记-django第一个项目 1.      创建项目 安装 Django 之后,现在有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 看下djang ...

  3. Surprise团队第一周项目总结

    Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...

  4. [Asp.net MVC]Asp.net MVC5系列——第一个项目

    目录 概述 创建第一个项目 添加控制器 总结 概述 本教程是个人一步一步学习的总结,希望能帮到正在进入ASP.Net MVC5方向的朋友,个人也是准备进入ASP.NET MVC5领域,虽然艰辛,但是乐 ...

  5. AndroidStudio第一个项目HelloWorld

    实验内容 在Android Studio中创建项目 创建并启动Android模拟器 项目的编译和运行 实验要求 在安装好的AndroidStudio上建立第一个工程 创建并启动Android模拟器 编 ...

  6. 自我总结(六)---(学习j2ee+j2ee第一阶段项目)

    自我完善的过程就是在不断的自我总结不断的改进. 学习了Struts2 Spring Hibernate. 十天前结束了这个课程.也考试了.这次考试老师说机试考的还不错.其实就是一个简单的用户登录,进行 ...

  7. Django 创建第一个项目(转)

    转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...

  8. 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结

    2013年5月3号,开始找IOS开发工作(自学了大半年,做了一个功能不全的Demo,该出去见见世面了!),5月4号面试了第一家公司(是家刚成立一段时间的外包公司),5月5号第一家公司已二轮电话面试,5 ...

  9. Cracking the coding interview 第一章问题及解答

    Cracking the coding interview 第一章问题及解答 不管是不是要挪地方,面试题具有很好的联系代码总用,参加新工作的半年里,做的大多是探索性的工作,反而代码写得少了,不高兴,最 ...

  10. Angular安装及创建第一个项目

    Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...

随机推荐

  1. OpenGL绘制YUV、OpenGL 实现画质模糊以及 OpenGL ES 实现画质模糊

    本文介绍如何采用 Qt + OpenGL 绘制 YUV 数据,并通过 OpenGL 来实现画质模糊. 前言 我们在开发音视频程序的时候,对于解码后帧的渲染往往有几个操作需要做: 将 YUV420 格式 ...

  2. 【DXP】如何在原理图中批量修改

    零.问题 想要修改所有电阻的封装,怎么解决? 一.解决 以修改所有电阻封装为例,可举一反三. 在电阻上右键,选择"查找相似对象". 注意在右键的时候鼠标应该是放在元器件图标上的,而 ...

  3. addAll(Collection<? extends E> c)的方法源码

    public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...

  4. JAVA基础之多线程三期--线程安全问题

    一.线程安全问题就是指:多个线程并发访问同一个资源而发生安全性的问题, 线程安全问题都是由全局变量及静态变量引起的. 若每个线程中对全局变量.静态变量只有读操作,而无写 操作,一般来说,这个全局变量是 ...

  5. Java 中有哪些垃圾回收算法?

    Java 中的垃圾回收算法 Java 中的垃圾回收(Garbage Collection,GC)机制通过多种算法实现对堆内存的管理.以下是常见的垃圾回收算法: 1. 标记-清除算法(Mark-Swee ...

  6. 2025dsfz集训Day8:线段树

    Day8:线段树 前言:线段树听起来很高大尚,就是儿子节点表示法的树.几乎一样. \[Designed\ By\ FrankWkd\ -\ Luogu@Lwj54joy,uid=845400 \] 特 ...

  7. .Net Core全局的json配置

    .Net Core全局的json配置 参照文档: 怎样将枚举展示成字符串类型:https://code-maze.com/csharp-serialize-enum-to-string/ 全局配置:a ...

  8. 【SQL周周练】给你无酸纸、变色油墨,你能伪造多少美金?

    大家好,我是"蒋点数分",多年以来一直从事数据分析工作.从今天开始,与大家持续分享关于数据分析的学习内容. 本文是第 2 篇,也是[SQL 周周练]系列的第 2 篇.该系列是挑选或 ...

  9. 【HUST】代数学|理想的分解习题

    以下内容中,背景知识部分尽数由GPT生成,生成的方式是直接对问题进行提问,存在错误的小节我已经标注,不保证不存在其他错误. 习题部分是GPT生成后,我将看不懂的地方自己重写了一遍的结果.不保证完全正确 ...

  10. 遇到的问题之“web container destroy and kill the job.-Web容器销毁和终止作业”

    一.问题 JobThread toStop, stopReason:web container destroy and kill the job. 2023-11-22 18:10:10 [com.x ...