网易首页 > 网易号 > 正文 申请入驻

中国人自己的Cursor?腾讯CodeBuddy从零打造家庭相册

0
分享至


中国人自己的Cursor?腾讯CodeBuddy从零打造家庭相册

大家好,我是星哥,作为一个二手的高级程序猿,五一出去游玩跟家人的照片想要做个一个web页面分享给家人,今天就用出品的腾讯云代码助手(CodeBuddy)一行代码都不用自己写,看能不能实现的我小愿望。

PS:我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴
初识腾讯云代码助手(CodeBuddy)

腾讯自研的AI编程提效工具,凭借腾讯混元与 DeepSeek 混合模型,专为开发者打造。CodeBuddy不仅支持200+编程语言、兼容多种主流IDE,是国内首个支持 MCP 的代码助手,还为开发者提供开发智能体 Craft、智能代码补全、单元测试、代码诊断等多项高效功能,帮助开发者在编码过程中节省时间、提升效率。目前腾讯内部 85% 以上的开发者已使用 CodeBuddy,编码时间平均缩短 40% 以上,AI生成代码占比超四成,研发效率提升超 16%。

CodeBuddy兼容IDE

兼容 Visual Studio Code、Pycharm、Android Studio、鸿蒙DevEco Studio、Visual studio、cloudstudio 、微信开发者小程序工具、XCode等主流的集成开发环境。

CodeBuddy编程语言及框架

支持Java、Python、Go、C/C++、JavaScript、TypeScript、HTML、PHPRuby、Rust、Swift、Scala、Lua、 Dart、Node.JS、csS3 等200+种编程语言。

安装VS Code

下载地址:https://code.visualstudio.com/ ,点击“Download for Windows”下载,安装。

点击扩展搜索“chinese”安装扩展,Chinese (Simplified) (简体中文) 的扩展。

1、打开 VSCode 软件,然后按住键盘上的“Ctrl+Shift+P”组合键,打开命令面板。

2、在命令面板中输入“Configure Display Language”,然后点击“Configure Display Language”选项。

3、在弹出的语言选择列表中,选择“zh-cn”,表示简体中文。

4、点击列表中的“Restart”按钮,重启 VSCode,就可以变成了中文。

安装腾讯云CodeBuddy

点击扩展,再搜索“CodeBuddy”,点击安装,既可安装。

另外的一种安装方式,直接访问官网 https://copilot.tencent.com/

点击“免费使用”,再点击再vscode中使用。

点击左侧的扩展按钮

登录成功之后就可以使用Codebuddy了,这里我们可以看到

craft 助手模式,直接操作代码和命令行,适合修改和生成。
chat 聊天模式,不修改代码,适合修复、解决问题和分析思路
Code Review 代码审查
Unit Test 单元测试

新建目录Photos

下面就可以开始规划做自己的家庭相册。

先在桌面新建一个空的文件夹“Photos”,以后的代码都放到这里目录里,再用vscode打开这个目录。

做一个产品经理

我需要做一个WEB家庭相册页面
存放五一假期出游的照片
功能
1.照片原始尺寸较大,首先展示缩略图,点击打开原图
2.在弹窗中打开原图,按键盘左右键实现查看上一张下一张图,按esc键可退出。

把这个需求直接丢给Craft,看看有什么神奇的事情发生。

给我回答了

这个任务需要创建一个简单的WEB家庭相册页面,主要功能包括:

  1. 1. 展示照片缩略图

  2. 2. 点击缩略图后以弹窗形式展示原图

  3. 3. 支持键盘左右键切换图片和ESC键关闭弹窗

首先需要明确几个要点:

  1. 1. 照片文件是否已经存在?需要先查看当前目录下是否有照片文件

  2. 2. 需要创建HTML、CSS和JavaScript文件来实现功能

  3. 3. 需要处理图片的缩略图生成问题

接下来步骤:

  1. 1. 先查看当前目录下有哪些图片文件

  2. 2. 根据图片文件创建相册页面

  3. 3. 实现缩略图展示和弹窗功能

  4. 4. 添加键盘事件处理

首先使用list_files工具查看当前目录下的图片文件,

当前目录为空,需要先获取照片文件才能创建相册。我需要向用户确认:

  1. 1. 照片文件是否已经准备好?如果已准备好,需要知道照片存放在哪个目录

  2. 2. 如果照片还未准备好,需要用户先上传照片到当前目录

由于当前目录为空,无法继续创建相册页面,需要用户提供照片文件

当前目录为空,无法创建相册。请问您的照片文件是否已经准备好?如果已准备好,请告知照片存放的目录路径;如果还未准备好,请先将照片上传到当前目录(e:\360data\重要数据\桌面\Photos)。

什么是Craft

CodeBuddy 的“王炸”功能:Craft (智能创建),就是个超级智能的 Agent (智能体)。你把 Prompt 往里一扔,它就跟打了鸡血似的,开始“噼里啪啦”一顿操作:创建项目结构、生成核心代码、配置依赖……全程自动化,你就嗑着瓜子等着就行。

图片没有上传到目录中,我把图片再上传。

使用chat功能

把刚才的需求丢到chat里

我需要做一个WEB家庭相册页面
存放五一假期出游的照片
功能
1.照片原始尺寸较大,首先展示缩略图,点击打开原图
2.在弹窗中打开原图,按键盘左右键实现查看上一张下一张图,按esc键可退出。

经过一段时间的思考出了一个需求文档

一、核心功能要求

  1. 1. 智能图片处理系统

采用thumbnail.js自动生成缩略图(建议尺寸:320x240)
图片预加载机制(相邻3张提前加载)
支持WebP格式自动转换(兼容性处理)

  1. 2. 响应式相册布局

                {{ img.date | formatDate }}  
  2. 3. 智能灯箱组件

class Lightbox {   constructor(images) {     this.currentIndex = 0     this.initKeyboardControls()   }      navigate(direction) {     // 带缓动的图片切换动画     // 实现LRU缓存策略提升性能   } }

二、交互增强方案

  1. 1. 键盘控制体系

    document.addEventListener('keydown', (e) => {   if (e.key === 'ArrowLeft') this.prevImage()   if (e.key === 'ArrowRight') this.nextImage()   if (e.key === 'Escape') this.close() })
  2. 2. 手势支持(移动端优化)

集成hammer.js实现滑动手势
双击缩放(1x/2x/适应屏幕)

三、性能优化建议

  1. 1. 图片加载策略

实现Intersection Observer API懒加载
渐进式JPEG加载
加载状态骨架屏

  1. 2. 缓存机制

Service Worker预缓存策略
IndexedDB本地存储原始图片
四、扩展功能建议

  1. 1. 可视化过滤器

按地点/人物/场景类型分类
时间轴模式(地图轨迹集成)

  1. 2. 社交功能

图片批注系统
分享组件(生成旅游故事)

五、技术栈推荐

视图层:Vue3 + Vuetify
状态管理:Pinia
构建工具:Vite

生成代码

index.html

点击修改,或者改成自动修改文件

            五一假期家庭相册         家庭相册                                                                                                                                                                                                 ×                                
生成style.css

body {     font-family: 'Arial', sans-serif;     margin: 0;     padding: 20px;     background-color: #fff5f5;     background-image: linear-gradient(to bottom, #ffebee, #fff5f5);     min-height: 100vh; } h1 {     text-align: center;     color: #333;     margin-bottom: 30px; } .gallery {     display: grid;     grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));     gap: 20px;     max-width: 1200px;     margin: 0 auto; } .thumbnail {     cursor: pointer;     overflow: hidden;     border-radius: 8px;     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);     transition: transform 0.3s; } .thumbnail:hover {     transform: scale(1.03); } .thumbnail img {     width: 100%;     height: 200px;     object-fit: cover;     display: block; } /* 弹窗样式 */ .modal {     display: none;     position: fixed;     z-index: 100;     left: 0;     transform: translateY( 0;     width: 100%;     height: 100%;     background-color: rgba(0, 0, 0, 0.9);     overflow: auto; } .modal-content {     margin: auto;     display: block;     max-width: 90%;     max-height: 90%;     position: absolute;     top: 50%;     left: 50%;     transform: translate(-50%, -50%); } .close {     position: absolute;     top: 20px;     right: 35px;     color: #f1f1f1;     font-size: 40px;     font-weight: bold;     cursor: pointer; } .close:hover {     color: #bbb; } .prev, .next {     position: absolute;     top: 50%;     width: auto;     padding: 16px;     margin-top: -50px;     color: white;     font-weight: bold;     font-size: 30px;     cursor: pointer;     user-select: none; } .next {     right: 0;     border-radius: 3px 0 0 3px; } .prev {     left: 0;     border-radius: 0 3px 3px 0; } .prev:hover, .next:hover {     background-color: rgba(0, 0, 0, 0.8); } @media screen and (max-width: 600px) {     .gallery {         grid-tem)plate-columns: repeat(auto-fill, minmax(150px, 1fr));     }          .thumbnail img {         height: 150px;     } }
生成script.js

生成的代码。

document.addEventListener('DOMContentLoaded', function() {     // 获取所有元素     const thumbnails = document.querySelectorAll('.thumbnail');     const modal = document.querySelector('.modal');     const modalImg = document.getElementById('modal-img');     const closeBtn = document.querySelector('.close');     const prevBtn = document.querySelector('.prev');     const nextBtn = document.querySelector('.next');          let currentIndex = 0;     const images = Array.from(thumbnails).map(thumb => thumb.getAttribute('src'));          // 为每个缩略图添加点击事件     thumbnails.forEach((thumb, index) => {         thumb.addEventListener('click', function() {             currentIndex = index;             showImage(currentIndex);         });     });          // 显示图片函数     function showImage(index) {         modalImg.src = images[index];         modal.style.display = 'block';         document.body.style.overflow = 'hidden'; // 防止背景滚动     }          // 关闭弹窗     function closeModal() {         modal.style.display = 'none';         document.body.style.overflow = 'auto';     }          // 上一张图片     function prevImage() {         currentIndex = (currentIndex - 1 + images.length) % images.length;         showImage(currentIndex);     }          // 下一张图片     function nextImage() {         currentIndex = (currentIndex + 1) % images.length;         showImage(currentIndex);     }          // 事件监听     closeBtn.addEventListener('click', closeModal);     prevBtn.addEventListener('click', prevImage);     nextBtn.addEventListener('click', nextImage);          // 键盘事件     document.addEventListener('keydown', function(e) {         if (modal.style.display === 'block') {             switch(e.key) {                 case 'Escape':                     closeModal();                     break;                 case 'ArrowLeft':                     prevImage();                     break;                 case 'ArrowRight':                     nextImage();                     break;             }         }     });          // 点击弹窗背景关闭     modal.addEventListener('click', function(e) {         if (e.target === modal) {             closeModal();         }     }); });
打开页面验证

直接用浏览器打开

把页面背景改成温馨一点的,把第二张图片去掉

会显示变更前和变更后的代码

一顿自动操作之后,再次打开

创建一个基于 Web 的家庭相册项目,使用 React 框架

分析需求:

创建一个基于React的家庭相册项目需要以下步骤:

  1. 1. 初始化React项目

  2. 2. 创建相册组件结构

  3. 3. 实现图片展示功能

  4. 4. 添加图片查看模态框

  5. 5. 实现键盘导航功能

首先需要初始化React项目,然后逐步实现功能。由于当前工作目录已有普通HTML相册,建议新建一个目录来存放React项目。

我将先创建一个新的React项目。

会自动执行

npx create-react-app family-album-react --template typescript Need to install the following packages:   create-react-app Ok to proceed? (y) y npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported

完成

打开localhost+端口。

通过使用腾讯 CodeBuddy 从零打造家庭相册项目,深刻感受到了它作为一款智能编程助手的强大能力。在整个开发过程中,CodeBuddy 就像一位贴心的技术伙伴,从项目的基础框架搭建到各个功能的实现,再到问题的解决和优化,都给予了开发者全方位的支持,极大地提升了开发效率和项目质量。与 Cursor 等国外同类工具相比,CodeBuddy 凭借其本土化优势、对国内云服务的深度整合以及对国内开发场景的针对性优化,展现出了独特的竞争力,有望成为国内开发者心目中 “中国人自己的 Cursor”。

就目前的表现而言,腾讯云代码助手CodeBuddy工具已经有了国产Cursor的媲美的功能。从代码质量来看,其生成的代码质量尚可,预设功能也基本能够实现,对于新手开发者而言,若想借助AI工具完成工程项目,从零开始直接使用AI的最佳选择。

展望未来,随着人工智能技术的不断发展和 CodeBuddy 的持续迭代升级,相信它将在更多的开发场景中发挥重要作用,程序员小伙伴你们颤抖了吗?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
陆军不声不响,把三大合成旅底牌全换了

陆军不声不响,把三大合成旅底牌全换了

勇志歌
2026-10-01 16:39:03
东航空姐下跪反转!知情人曝细节,并非故意刁难,真相不简单

东航空姐下跪反转!知情人曝细节,并非故意刁难,真相不简单

寒士之言本尊
2026-10-01 15:15:46
市值狂跌64%,背负2亿巨债!珠宝黑马爆雷,老板全家跑路泰国!

市值狂跌64%,背负2亿巨债!珠宝黑马爆雷,老板全家跑路泰国!

青眼财经
2026-10-02 08:00:56
海南龙凤胎日夜啼哭,医院查不出病因,保姆查看监控后发现真相

海南龙凤胎日夜啼哭,医院查不出病因,保姆查看监控后发现真相

悬案解密档案
2025-05-19 14:35:42
郑丽文获“神助攻”!大陆下达通牒,岛内人士急了、为和统留后路

郑丽文获“神助攻”!大陆下达通牒,岛内人士急了、为和统留后路

超喜欢我
2026-10-01 18:12:12
年龄越大越要少吃菜?建议:年过68岁,尽量避免6种减寿行为

年龄越大越要少吃菜?建议:年过68岁,尽量避免6种减寿行为

芹姐说生活
2026-10-01 22:24:01
《兰香如故》林锦岚至死不知:妻子谭素华红杏出墙,汭哥儿根本不是他亲生

《兰香如故》林锦岚至死不知:妻子谭素华红杏出墙,汭哥儿根本不是他亲生

喵喵的追剧笔记
2026-10-01 23:04:41
10月1日,财政部发布重要消息,2026年养老金调整确定了吗?

10月1日,财政部发布重要消息,2026年养老金调整确定了吗?

虎哥闲聊
2026-10-01 14:23:06
新一轮联合国秘书长投票完毕,中方倾向的候选人,拿到巨大优势?

新一轮联合国秘书长投票完毕,中方倾向的候选人,拿到巨大优势?

梦史
2026-10-02 04:56:53
俄罗斯选举尘埃落定,梅德韦杰夫亲自公布名单,最后自己没上榜!

俄罗斯选举尘埃落定,梅德韦杰夫亲自公布名单,最后自己没上榜!

说历史的老牢
2026-10-01 06:09:10
云南4岁小孩离奇失踪,亲属怀疑是被继母拐卖,24年后才真相大白

云南4岁小孩离奇失踪,亲属怀疑是被继母拐卖,24年后才真相大白

千秋文化
2026-09-30 15:37:30
三四名决赛还没开打,U23国足先迎来致命坏消息,亚运会季军悬了

三四名决赛还没开打,U23国足先迎来致命坏消息,亚运会季军悬了

零度眼看球
2026-10-02 07:08:06
尤丽霞同志已任山西省委常委

尤丽霞同志已任山西省委常委

大风新闻
2026-10-02 11:35:05
盘点10位符合我们颜值审美的美少女

盘点10位符合我们颜值审美的美少女

吃瓜党二号头目
2026-09-23 10:01:25
前葡萄牙领队:C罗这事很奇怪,以往这类事都在内部解决

前葡萄牙领队:C罗这事很奇怪,以往这类事都在内部解决

懂球帝
2026-10-02 02:29:10
网传二三线城市上演中产大撤退,评论区炸锅...

网传二三线城市上演中产大撤退,评论区炸锅...

慧翔百科
2026-09-30 11:30:59
表姑向我借了85000元,17年没还,我去银行注销旧卡时,柜员看了眼卡说:女士,最后一笔转账留言您要看吗?

表姑向我借了85000元,17年没还,我去银行注销旧卡时,柜员看了眼卡说:女士,最后一笔转账留言您要看吗?

品读时刻
2026-09-22 09:04:55
奥斯卡:中国多方面远超巴西,上海是亚洲纽约,原本想定居中国!

奥斯卡:中国多方面远超巴西,上海是亚洲纽约,原本想定居中国!

邱泽云
2026-10-01 19:10:50
2026年全国严查体制内 “关系户”、“世袭岗” ,普通人机会来了

2026年全国严查体制内 “关系户”、“世袭岗” ,普通人机会来了

职场资深秘书
2026-09-29 14:53:53
中国4:0卫冕,韩媒沉默了:这不是比赛,是教学局

中国4:0卫冕,韩媒沉默了:这不是比赛,是教学局

麓谷隐士
2026-10-01 00:05:11
2026-10-02 12:31:00
星哥玩云 incentive-icons
星哥玩云
星哥跟你说说工作生活的那些事
474文章数 285关注度
往期回顾 全部

科技要闻

“分手”15天后,华为与赛力斯签约新五年

头条要闻

牛弹琴:普京再提2014年"政变" 称有件事他一直想不通

头条要闻

牛弹琴:普京再提2014年"政变" 称有件事他一直想不通

体育要闻

“今天的表现,我们可以昂首离开球场”

娱乐要闻

奚梦瑶晒四太豪礼!22只龙凤镯近300万

财经要闻

珠宝黑马爆雷,老板全家跑路泰国!

汽车要闻

2027款极氪001将于明年一季度上市 现款猎装同步推新配色

态度原创

家居
手机
游戏
公开课
军事航空

家居要闻

2026建博会(广州) 公装联探展交流活动

手机要闻

一加16手机官宣首次搭载三频GPS +四频北斗,10月12日发布

《GTA6》主线据称不会走遍全图 部分地点待探索

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

胡塞武装:24小时内沙特空袭也门47次

无障碍浏览 进入关怀版