基于 Trae 的 GitCode PicGo 插件开发之旅

365 阅读7分钟

我正在参加Trae「超级体验官」创意实践征文

基于 Trae 的 GitCode PicGo 插件开发之旅

在编程的世界里,高效的工具往往能为我们带来事半功倍的效果。近期,今天我基于字节跳动推出的 Trae AI 编程工具,为广大开发者打造了一个 GitCode 的 PicGo 插件。今天,就来和大家聊聊这个插件以及 Trae 工具的那些事儿。

一、字节跳动 Trae 工具简介

1.1 Trae 的背景

Trae 是字节跳动于 2025 年推出的 AI 编程工具,集成了 Claude 3.5 与 GPT-4o 等主流 AI 模型,具备 AI 问答、智能代码生成、智能代码补全以及多模态输入等功能。Trae 的出现,旨在帮助程序员实现端到端的自动化开发,通过简单的描述就能生成所需的架构及代码模块,极大地提升了开发效率。

1.2 Trae 的功能特点

Trae 的功能非常强大,以下是其主要特点:

  • AI 问答 :开发者在编码过程中可随时与 AI 助手聊天,解释代码含义、编写代码注释、修复代码错误、提供编程模式建议等。
  • 智能代码生成 :只需输入需求,Trae 会自动分解任务、生成代码框架,甚至优化部署流程。
  • 智能代码补全 :AI 助手能够精准理解当前编写的代码逻辑,在编辑器内实时提供优化建议,帮助开发者提高代码质量,减少潜在的错误和隐患。
  • 多模态输入 :支持图片转代码,上传设计图或草图,直接解析生成前端代码,UI 开发效率翻倍。
  • 便捷项目预览与调试 :提供 Webview 功能,支持在 IDE 内直接预览 Web 页面,方便前端开发。
  • 灵活的上下文引用 :在 AI 对话中,支持引用代码块、文件、文件夹或整个项目,便于精准交互。

1.3 Trae 对开发者的意义

Trae 针对中文开发者进行了深度优化,提供全中文界面和完整的中文开发体验,解决了现有工具在中文用户使用时的不便。它的出现,为广大开发者提供了一个更加智能、高效的编程环境,让我们能够更加专注于代码的实现和创新。

二、开发 GitCode PicGo 插件的意义

2.1 插件的功能概述

在开发过程中,我们常常需要处理图片上传、管理等繁琐的任务,而 PicGo 作为一款常用的图片上传工具,虽然功能强大,但在与 GitCode 的集成上还有待完善。因此,我决定开发这个插件,旨在为广大开发者提供更加便捷、高效的图片管理解决方案。通过这个插件,开发者可以轻松地将图片上传到 GitCode,实现代码与图片的统一管理,提高开发效率和代码的可维护性。

2.2 开发的初衷

在实际开发过程中,我发现很多开发者在处理图片时,往往需要在多个工具之间切换,这不仅浪费了时间,还增加了出错的风险。而 GitCode 作为一个优秀的代码托管平台,如果能够与 PicGo 无缝集成,将大大提高开发者的效率。因此,我决定开发这个插件,希望能够为广大开发者带来更多的便利。

三、使用 Trae 开发插件的过程

3.1 需求分析与设计

在开发这个插件的过程中,Trae 给了我极大的帮助。首先,我利用 Trae 的 AI 问答功能,向它描述了插件的需求和功能,Trae 迅速为我提供了详细的代码示例和解决方案。这让我在开发初期就对插件的架构和实现有了清晰的认识。

第一次生成的代码如下:

image-20250220225457841

3.2 代码编写

接下来,在编写代码的过程中,Trae 的智能代码补全功能发挥了重要作用。它能够根据我的代码上下文,实时提供精准的代码建议,让我在编写代码时更加得心应手。例如,当我在实现图片上传功能时,Trae 为我提供了 GitCode API 的调用代码,极大地减少了我查阅文档的时间。

3.3 重构与添加注释

我在写完之后,就开始重构这个代码,

主要改进点:

  1. 类的封装 :

    • 使用 ES6 类语法将所有功能封装到 GitCodeUploader 类中
    • 提供更好的代码组织和维护性
  2. 配置管理 :

    • 将常量配置集中到 CONFIG 对象中统一管理
    • 便于后续维护和修改
  3. 错误处理优化 :

    • 增加专门的错误处理方法
    • 统一的错误日志记录
  4. 代码结构优化 :

    • 将大型方法拆分成更小的功能单元
    • 提高代码可读性和可维护性
  5. 现代化语法 :

    • 使用 ES6+ 特性如解构、箭头函数等
    • 使用 for...of 替代传统的 for 循环
  6. 命名优化 :

    • 更清晰的方法和变量命名
    • 增加语义化
  7. 代码复用 :

    • 抽取重复的逻辑到独立方法
    • 减少代码重复

image-20250220225757727

以及为了让更多的开发者了解项目,我还特意让trae给我生成了更多的注释。

添加的注释主要包括:

  1. 类和配置对象的整体说明
  2. 每个方法的功能说明
  3. 方法参数和返回值的类型说明
  4. 关键逻辑的说明
  5. 可能抛出异常的说明 这些注释遵循 JSDoc 规范,可以帮助开发者更好地理解代码的结构和功能。

image-20250220230110905

3.4 测试与发布

在插件开发完成后,我再次使用 Trae 的 AI 问答功能,向它咨询了插件的优化建议。Trae 为我提供了详细的优化方案,包括代码性能优化、用户体验提升等方面。这让我对插件进行了全面的优化,使其更加稳定、高效。最后,我将插件发布到 GitCode,供广大开发者使用。

四、NPM 插件发布到 NPM 仓的流程

下面的内容都是trae帮我生成的

image-20250220230612506

4.1 准备工作

在发布 NPM 插件到 NPM 仓之前,需要做好以下准备工作:

  1. 创建 NPM 账户 :如果还没有 NPM 账户,需要在 NPM 官网注册一个。
  2. 初始化项目 :在项目根目录下运行 npm init 命令,生成 package.json 文件。

4.2 配置 package.json

package.json 文件中,需要确保以下字段的正确性:

  • name :插件的名称,必须是唯一的。
  • version :插件的版本号,遵循语义化版本规范。
  • description :插件的描述信息。
  • main :插件的入口文件。
  • scripts :可选,用于定义插件的脚本命令。
  • keywords :插件的关键字,方便用户搜索。
  • author :插件的作者信息。
  • license :插件的许可证信息。

4.3 添加 README 文件

为了让其他开发者了解插件的用途、安装方法和使用示例,建议编写一个详细的 README.md 文件。

redeme也是trae写的。

image-20250220230650982

4.4登录 NPM 账户

在命令行中运行 npm login 命令,输入 NPM 账户信息登录。

4.5发布插件

在确保所有文件已经准备好后,运行 npm publish 命令发布插件。如果一切顺利,插件将被发布到 NPM 仓。

这里面也遇到过报错,我都是把报错信息直接丢给trae

image-20250220230731410

最后帮我给出思路了。并发布成功,image-20250220230903885

image-20250220230957390

五、总结

通过使用 Trae 这个强大的 AI 编程工具,我成功地开发了 GitCode 的 PicGo 插件,并将其发布到 NPM 仓。Trae 的 AI 问答、智能代码补全、多模态输入等功能,极大地提高了我的开发效率,让我能够更加专注于插件的功能实现和用户体验优化。我相信,这个插件将为广大开发者带来更加便捷、高效的图片管理体验。未来,我还将继续探索 Trae 的更多功能,为大家带来更多实用的开发工具。

项目地址

picgo-plugin-gitcode

坚果派

最初我们以鸿蒙为基石,不断向同级诸如 ArkUI-X、仓颉,以及同类诸如蓝河、欧拉等扩展,如今在不断努力和尝试下,我们平台已具备了各类产品的优秀开发团队及支持运营的万粉团队。专注于分享的技术包括 HarmonyOS/OpenHarmony、仓颉、ArkUI-X、AI、BlueOS 操作系统。团队成员主要聚集在北京,上海,南京,深圳,广州,苏州、长沙、宁夏等地,邮箱jianguo@nutpi.net