更新记录

1.4.1(2026-10-08) 下载此版本

首次发布


平台兼容性

HbuilderX/cli最低兼容版本
2.7.0

hbx-copy-for-ai

HBuilderX 编辑器插件,两件事:

  1. 复制给 AI —— 把选中的代码变成一段自描述文本,粘给 AI(DSH agent / ChatGPT / Claude)后,对方能立刻知道哪个文件、哪几行、文件多大、内容有没有未保存。
  2. 生成目录树 —— 右键文件夹,一键把带注释的目录树复制到剪贴板(合并自 tree2)。

一、复制给 AI

菜单位置 command id 快捷键
编辑器右键 copyForAI.copy Ctrl+Alt+C

输出:

d:/proj/src/math.js · 行 11-13 · 共 220 行 · js

```js
11 | function add(a, b) {
12 |   return a + b;
13 | }

- 第一行:绝对路径 + 行号范围 + 文件总行数 + 语言,未保存时追加 `⚠未保存`
- 路径统一用正斜杠 `/`(uni-app 习惯,AI 读起来也不受反斜杠转义影响)
- 带语言围栏;代码里本身有三连反引号时,围栏自动升级成四连,不会截断
- 行号右对齐;**没有选中内容时**复制光标所在那一行
- 自动去掉选区结尾多出来的空行;兼容 `CRLF`

---

## 二、生成目录树

在**项目管理器里右键文件夹** → 「生成目录树(可注释)」→ 选层级。结果进剪贴板。

```text
fe-standard                // 项目根目录
├── docs
│  └── index.md           // 首页
├── package.json
├── README.md
└── src
   └── main.js            // 主入口
子菜单 command id 含义
全部目录 copyForAI.treeAll 不限层级
一级目录 copyForAI.tree1 只列根目录下第一层
二级目录 copyForAI.tree2 两层
三级目录 copyForAI.tree3 三层

注释:.tree-comment.json

放在被右键的那个目录下,键可以是相对路径也可以是名字,根节点用空串:

{
  "": "项目根目录",
  "src": "源代码目录",
  "src/main.js": "主入口文件",
  "README.md": "项目说明文档"
}

注释按「中文字符算 2 个宽度」对齐到同一列;没有注释的行不补空格(不留行尾空白)。

自动忽略

node_modules / uni_modules / unpackage / dist / .git / .idea,以及所有以 . 开头的文件与目录(所以 .tree-comment.json 自己不会出现在树里)。


与 tree2 的差异(3 处有意修正)

# tree2 的行为 现在
1 画竖线时忽略了「是否最后一项」,最后一个目录下面也会画出 │,看起来像还有兄弟节点 按祖先是否为最后一项决定画 │ 还是空格(与最初的 tree-generator 一致)
2 每一行都补对齐空格,即使没有注释 —— 粘出去一堆行尾空白 只对有注释的行补对齐
3 忽略列表没有 uni_modules 补上(uni-app 项目里它常常比 node_modules 还大)

tree2 package.json 里那个非标准的 tree-comment-example 字段没有带过来,格式改在本 README 里说明。


安装 / 调试

  • 插件目录:HBuilderX/plugins/hbx-copy-for-ai(重启 HBuilderX 后全局生效)
  • 调试:HBuilderX 里把本目录作为项目打开 → Ctrl+R → 运行插件 → 新开的窗体已加载插件;改完代码连按 Ctrl+R 重启(不支持热更新)

本地自测

node test/mock-run.js

覆盖:清单自洽性(activationEvents / menus / keybindings 引用的 command 必须都已声明,且与代码注册的一致)、复制给 AI 的各种边界、目录树的树形/注释对齐/忽略/层级(在系统临时目录里造真实文件夹跑)。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

MIT协议

暂无用户评论。