前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CodeSnippetBox:我与 CodeBuddy 合作打造的代码片段管理器

CodeSnippetBox:我与 CodeBuddy 合作打造的代码片段管理器

作者头像
繁依Fanyi
发布于 2025-05-19 00:23:45
发布于 2025-05-19 00:23:45
10900
代码可运行
举报
运行总次数:0
代码可运行

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

初心:我想要一个好用的代码收集工具

平时在开发过程中,我经常会遇到一些「值得保存」的代码片段:有些是我写得不错的函数封装,有些是 StackOverflow 上的绝妙解法,还有些是项目中复用率极高的 UI 组件。起初我用的是简单的 Markdown 文件加 Gist 来管理,但久而久之就乱套了——没有分类、无法高亮、不支持搜索,更别提什么导出了。

于是我突发奇想:为什么不自己做一个“代码片段管理器”呢?既然我在用 Vue3 比较熟悉,不如用它来做前端;再加上 Prism.js 实现多语言高亮,外加黑色极简风 UI,听起来就很酷不是吗?

我打开了 CodeBuddy,对它说:

我要用 Vue3 + Prism.js 制作 CodeSnippetBox,支持添加代码片段(支持多语言语法高亮);按项目、语言分类管理;支持搜索、收藏和导出代码;UI 为黑色简约风,带代码块阴影效果;支持同步到本地或云端(可扩展)。

没想到 CodeBuddy 没有提出什么建议,而是直接动手,开始一行一行构建项目。


搭建项目:CodeBuddy 一出手,就是专业范儿

CodeBuddy 先确认我是否已有 Vue3 项目。当我告诉它“从零开始”,它立刻启动了完整的项目初始化流程。

它使用 npm init vue@latest code-snippet-box --default 创建了一个标准的 Vue3 项目,并提醒我进入目录后执行 npm install 来安装依赖。紧接着,它继续为我安装了项目所需的核心依赖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install prismjs vuex pinia element-plus

看到这里我就知道,这不是在“建议”,而是已经完全接管了项目启动。


黑色 UI 与语法高亮:CodeBuddy 有设计感!

项目创建完成后,CodeBuddy 开始进行黑色 UI 的基础样式设置。我没有特别强调样式细节,但它却主动设计了一套暗色调为主、带有代码块阴影的样式方案,看起来就像是 VS Code Web 版的感觉。这个“极简+科技感”的搭配刚好对上我的口味。

接着,它配置了 Prism.js,并展示了如何在组件中引入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import Prism from 'prismjs'
import 'prismjs/themes/prism-tomorrow.css'

不仅如此,CodeBuddy 还自动补全了对多语言高亮的支持,比如 JavaScript、Python、HTML、CSS 等等,让我不需要再去为每种语言分别引入样式,非常贴心。

在这里插入图片描述
在这里插入图片描述

分类管理与状态存储:模块清晰、结构优秀

CodeBuddy 没有忘记我的需求中提到的“按项目、语言分类管理”。它使用了 Pinia 作为状态管理工具,构建了一个结构清晰的 store 模块。

我本来打算自己动手写分类逻辑,但当 CodeBuddy 展示出以下代码片段时,我几乎一句都不用改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export const useSnippetStore = defineStore('snippet', {
  state: () => ({
    snippets: [],
    categories: []
  }),
  getters: {
    getByLanguage: (state) => (lang) =>
      state.snippets.filter((s) => s.language === lang),
  },
  actions: {
    addSnippet(snippet) {
      this.snippets.push(snippet)
    }
  }
})

代码结构简单直观,不冗余、不啰嗦,该封装的都封装好了,读起来就像阅读一段经过精雕细琢的文字。


搜索、收藏、导出:功能一步步变得完整

之后,我想加入搜索与收藏功能。CodeBuddy 依然是主动出击,它迅速构建了一个包含搜索输入框、收藏按钮的界面,并为每个代码片段添加了是否收藏的字段与切换方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 片段收藏按钮 -->
<button @click="toggleFavorite(snippet)">
  <span v-if="snippet.favorite"></span>
  <span v-else></span>
</button>

至于导出功能,它建议将代码片段导出为 .txt.json 文件,并自动生成文件下载逻辑。这里我真是佩服它考虑问题的完整性——不仅帮我写,还帮我提前想好用户的使用方式。

在这里插入图片描述
在这里插入图片描述

本地存储与未来扩展:考虑到了细节

虽然云端同步是“可扩展”需求,但 CodeBuddy 仍然提前预留了本地存储机制。它建议使用 localStorage 简化初期开发,并设计了一套载入与保存逻辑,使得页面刷新后数据仍然能保留。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
watch(
  () => snippetStore.snippets,
  (newVal) => {
    localStorage.setItem('snippets', JSON.stringify(newVal))
  },
  { deep: true }
)

这样的细节处理,真的是我还没想到,CodeBuddy 就已经做到了。


总结:这次是 CodeBuddy 带我飞

以前我总以为“AI 生成代码”只是个噱头,要么就输出些平庸的模板,要么就只能辅助一小段。而这一次,我是真正体验到了 CodeBuddy 的「全流程主导能力」。

从项目初始化、依赖安装、功能构建,到 UI 设计与本地存储处理,几乎每一步都由 CodeBuddy 主动提出并高质量完成。我没有提出复杂需求,它却处处留有余地、考虑周到,让我省下了无数调试与摸索的时间。

这不是一段冷冰冰的代码堆砌,而更像是与一个懂我思路、有专业判断的搭档一起开发产品。下一步,我计划将它部署到线上,同时再请 CodeBuddy 帮我添加 Markdown 导出与 GitHub Gist 同步功能。可以预见,这个 CodeSnippetBox 将成为我日常开发中最得力的工具之一。


CodeBuddy,感谢有你。 你不只会写代码,更懂“写好用的代码”。这才是我真正期待的 AI 编程助手。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
目录
  • 初心:我想要一个好用的代码收集工具
  • 搭建项目:CodeBuddy 一出手,就是专业范儿
  • 黑色 UI 与语法高亮:CodeBuddy 有设计感!
  • 分类管理与状态存储:模块清晰、结构优秀
  • 搜索、收藏、导出:功能一步步变得完整
  • 本地存储与未来扩展:考虑到了细节
  • 总结:这次是 CodeBuddy 带我飞
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档