Commit Graph
100 Commits
Author SHA1 Message Date
cruldra af91b03857 🔧 chore(vscode): 版本号升到 0.2.292 2026-10-15 17:08:56 +11:00
cruldra 9269845193 📝 docs(code-reader): 规格补上 Rust 函数体拆块、特质方法卡和调用结构 2026-10-15 17:07:07 +11:00
cruldra 86422e4671 ✨ feat(vscode): 代码阅读预览 Rust 函数体按语句拆成子块
let / let-else、if / else、match 各支、循环、隐式返回、闭包、unsafe / async 块照 Python / TypeScript 的约定拆块;特质同实现,方法卡挂在方法表那一行;函数卡去掉分情况表;Rust 语言插件给出调用结构
2026-10-15 17:07:07 +11:00
cruldra d5c627c54a ✅ test(vscode): 补功能对话页按代码阅读块找符号的用例 2026-10-15 15:45:07 +11:00
cruldra cae4dcfa00 🔧 chore(vscode): 版本号升到 0.2.291 2026-10-15 15:34:39 +11:00
cruldra d10c29a260 🐛 fix(vscode): 提交代码改调 generate-git-commit-message 写说明 2026-10-15 15:34:18 +11:00
cruldra 5e9bf44710 🔧 chore(vscode): 版本号升到 0.2.290 2026-10-14 23:31:19 +11:00
cruldra ad35898716 🐛 fix(vscode): 代码阅读预览跳到还没打开的文件时停在文件顶上不再发生:新开的预览注释里有仓库图片时,问图片才把仓库根加进 webview 能读的目录,改了选项 VS Code 重新加载页面,第二次 ready 发的文档不带要滚到的那处;页面能读的目录(页面资源、问答图片、这一页仓库链接的各个根及其真实位置)改在装页面之前一次定好,之后不再改选项,LinkBase 带上它算得出的根 2026-10-14 23:30:36 +11:00
cruldra 95fc539c3a 🔧 chore(vscode): 版本号升到 0.2.289 2026-10-14 23:17:08 +11:00
cruldra 2841e2b477 🐛 fix(vscode): 代码阅读对话里的回答悬停链接时卡片一直闪、盖住链接:回答每次重画都新建 {__html},React 换了对象就整段重设 innerHTML,弹出定义卡片引起的重画把悬停着的链接换成新元素,卡片按脱离页面的旧链接落到左上角盖住链接,指针下的新链接又重新问卡片、再被换掉,来回闪;回答改用 MarkdownPreview,同一段 HTML 用同一个对象,链接不再被换 2026-10-14 23:16:20 +11:00
cruldra d6960b894c 🔧 chore(vscode): 版本号升到 0.2.288 2026-10-14 22:33:36 +11:00
cruldra 76707adb13 ✨ feat(vscode): 代码阅读对话记录加「复制回答」按钮
历史每条在删除左边、答完的当前这一轮在头部右边,点了把回答原样的 Markdown(带仓库链接、不带问题)放进剪贴板,成功图标换成对勾、提示「已复制」,失败提示「复制失败」,两秒后复原;复制文字并给反馈抽成 useCopyText 一份,日志弹窗也改用它,复制失败不再静默吞掉;两个头部按钮共用 cr-qa-action 样式
2026-10-14 22:32:50 +11:00
cruldra e81c810ca8 🔧 chore(vscode): 版本号升到 0.2.287 2026-10-14 21:29:45 +11:00
cruldra c6de46ad37 ✨ feat(vscode): 代码阅读「了解一块代码」改成按路径列调用树:结果是几条路径(用户的一种操作一条),每条从入口一路调到后端服务、数据表,跨进程的写明怎么连过去(via),结构用扁平的 nodes 加 parent 连成树、不用递归;侧栏路径下面一层层展开节点,回答里用嵌套列表画树;回答和找的过程里的代码位置写成仓库链接,功能对话页上的链接按找代码用的工作区文件夹检查、打开、悬停;旧格式的结果当没有,栏上方提示打开对话重新找;删功能前先弹模态框确认,说清连带删掉调用树和问答记录,点「删除」才删 2026-10-14 21:28:40 +11:00
cruldra cc445e7123 🔧 chore(vscode): 版本号升到 0.2.286 2026-10-14 20:47:33 +11:00
cruldra 20da8da4c9 🐛 fix(vscode): 代码阅读问 AI 不再按总时长停,连续 5 分钟(重写注释 10 分钟)没有任何输出才停;新会话的 id 由扩展定好(--session-id)、起进程前就记在这一处,没答完就超时、出错、被叫停的那一轮说「继续」也 --resume 同一个会话接着做,会话找不到才按完整问题重开 2026-10-14 20:46:36 +11:00
cruldra a0c3df3bca 🔧 chore(vscode): 版本号升到 0.2.285 2026-10-14 19:58:10 +11:00
cruldra cfde0fedf5 ⚡ perf(vscode): 代码阅读预览注释里的引用解析过就记着:标坏链接、悬停、点击同一个引用只问一次 Pylance,同时问的等同一个结果,文档版本或块树、导入、用到的名字换了才作废,指到的别的文件改过再问,找不到和语言自带的不留;悬停看别的文件里的定义时读成的文档各预览共用,同一版不再重新解析,留最近 8 份,注册的插件变了全部重读 2026-10-14 19:57:20 +11:00
cruldra 3983032356 🔧 chore(vscode): 版本号升到 0.2.284 2026-10-14 15:17:23 +11:00
cruldra e1a5f4f012 ✨ feat(vscode): 代码阅读中文直译里 Python 的 not x、TypeScript 的 !x 读成「x 不成立」(如果 root_dir.is_dir() 不成立),Python 走节点模板,TypeScript 用节点读法只换 !,去掉「非」的译法和它补空格的特例 2026-10-14 15:16:37 +11:00
cruldra e3c8c1b118 🐛 fix(vscode): 代码阅读注释里引用的语言内置名不再标成找不到:代码里写到的(raise ValueError)问那处的定义、点了跳到语言自带的定义,没写到的当普通文字不能点;内置名单由语言插件给(Python 补全 dir(builtins),TypeScript 是 ECMAScript 标准全局对象) 2026-10-14 15:10:48 +11:00
cruldra 49a3854390 🔧 chore(vscode): 版本号升到 0.2.283 2026-10-14 13:48:48 +11:00
cruldra c2a13e5691 ✨ feat(vscode): 代码阅读「未提交的更改」点文件行改成打开标准预览(和主栏一样不标差异),文件行上加「打开更改」按钮才打开对比上一次提交的预览,语言没有代码阅读的走 VS Code 自带的差异视图,删掉的文件行不挂这个按钮 2026-10-14 13:47:59 +11:00
cruldra 4b6e110a44 🔧 chore(vscode): 版本号升到 0.2.282 2026-10-14 06:31:13 +11:00
cruldra e401e4aec3 ✨ feat(vscode): 代码阅读预览问 AI 的回答里代码位置写成链接、点了能跳:提示词要求写 [名字](路径#符号) 或 [文件名:起-止](路径#L起-L止) 并给出仓库根,仓库链接认 #L 行号(注释里同一套),旧回答里整段是「路径:行」的行内代码也当链接,带行号的在预览里展开、闪包住那几行的块,不支持预览的用文本编辑器选中 2026-10-14 06:30:30 +11:00
cruldra ceeaad91a7 🔧 chore(vscode): 版本号升到 0.2.281 2026-10-14 06:12:16 +11:00
cruldra 3c5f5f5f35 🐛 fix(vscode): 代码阅读预览跳到定义后页面还在长高(注释里的 mermaid 画成图、中文名到了)不再把视口带跑:页面滚动统一交给滚动所有者,跟住跳到的目标、用户自己滚了改钉视口顶部那块,关掉浏览器自带的滚动锚定 2026-10-14 06:11:25 +11:00
cruldra 2fa6319dd4 🔧 chore(vscode): 版本号升到 0.2.280 2026-10-14 05:41:42 +11:00
cruldra bd474986bd ✨ feat(vscode): 代码阅读预览加 ⌘F 查找栏:整份文件查(折叠着的块里的也算,跳过去时展开),按页面上显示的字不分大小写匹配、中文名也认原名,Enter / ⌘G 跳、Esc 关,高亮直接画在页面上不重画卡片 2026-10-14 05:40:59 +11:00
cruldra cc3fcda051 🔧 chore(vscode): 版本号升到 0.2.279 2026-10-13 21:51:40 +11:00
cruldra 39dfd9b084 ✨ feat(vscode): 代码阅读预览里工作区外的库文件也能问 AI,问答记进第一个工作区文件夹,重写注释不对库文件开放 2026-10-13 21:50:54 +11:00
cruldra cecae0e244 🔧 chore(vscode): 版本号升到 0.2.278 2026-10-13 20:25:20 +11:00
cruldra ba7cc77c21 🐛 fix(vscode): 代码阅读预览 ⌘ 点击路由器接口表里的函数名、调用树点入口节点时跳到那张接口卡片,不再原地闪接口表里那一格 2026-10-13 20:24:33 +11:00
cruldra 5317f8d931 🔧 chore(vscode): 版本号升到 0.2.277 2026-10-13 18:51:48 +11:00
cruldra 6dac457ed1 ✨ feat(vscode): 代码阅读预览把注释、说明、问 AI 回答里的 mermaid 代码块画成图
- markdown.ts:mermaid 代码块出占位(源码转义后记在 data-source,里面先放原样的代码块);带增删的说明、逐字生成中的回答仍是普通代码块
- useMermaidDiagrams:页面上有占位才按需加载 mermaid(strict、跟 VS Code 字体),按源码 + 配色缓存 SVG,一次只画一张,换主题重画;画不出来留代码块、下面一行原因
- 打包:Vite 的按需加载辅助函数单独成块,加构建检查禁止别的块 import 入口(入口带 ?v= 加载,被 import 会整页再跑一遍、第二次拿 VS Code API 报错)
- 主题明暗判断抽到 lib/vscodeTheme,看板的改动面板共用
2026-10-13 18:51:05 +11:00
cruldra bc84e74f29 🔧 chore(vscode): 版本号升到 0.2.276 2026-10-13 16:43:25 +11:00
cruldra 2920a512bf ⚡ perf(vscode): 代码阅读预览指纹变了的那几块里没变的部分仍沿用原来的对象:卡片重画,里面没变的文字不跟着重画 2026-10-13 16:42:41 +11:00
cruldra 266dc42bc5 ⚡ perf(vscode): 代码阅读预览发给页面的块带内容指纹:扩展端按卡片内容、在源码里占的地方连同子块的指纹算摘要,页面按指纹认出没变的块沿用原来的对象,不再逐块深比内容,5126 行的文档到了比对 10.6ms → 0.4ms 2026-10-13 16:39:59 +11:00
cruldra ad5f559e92 ⚡ perf(vscode): 代码阅读预览发给页面的块只记相对位置:块在源码里占的地方记成离前一块多远、自己多长,块里名字的下标从块的开头算,页面从文件开头累加回文件里的位置、和扩展端打交道的地方都在一处换算;靠前改了代码,后面内容没变的块发过去一模一样,扩展端自己的块和发给页面的块分成两种类型 2026-10-13 16:32:18 +11:00
cruldra 3a2815c19c ✅ test(vscode): 代码阅读预览按源码位置干活的几处补上测试:悬停弹定义卡片、⌘ 点击跳定义、单击高亮各处出现和键盘跳下一处、跳到定义后闪的名字、编辑框发回的行号、钉住的卡片头,文档上面多了几行时报的都得是新位置 2026-10-13 16:07:14 +11:00
cruldra fce8e8cec2 🔧 chore(vscode): 版本号升到 0.2.275 2026-10-13 15:58:08 +11:00
cruldra 2e3602242e ⚡ perf(vscode): 代码阅读预览的文档消息里源码和着色只带一份:块不再各带一份连子块在内的整段源码和上色,编辑框按块的编辑范围从整份源码和着色里取,5126 行的消息 4.3MB → 1.9MB 2026-10-13 15:50:33 +11:00
cruldra 0371712176 🔧 chore(vscode): 版本号升到 0.2.274 2026-10-13 15:24:28 +11:00
cruldra af1c089506 🐛 fix(vscode): 代码阅读预览跳转后的闪烁按动画时长到点摘掉,滚到画面外被跳过排版的块里动画停着等不到结束事件,上一处不再一直闪着 2026-10-13 15:21:50 +11:00
cruldra 8a5d3761fd ⚡ perf(vscode): 代码阅读预览屏幕外的顶层块跳过样式、排版和绘制(content-visibility),没画过的按内容估的高度占位;跳到某一行、恢复滚动位置、跳到改动和定义前先把目标那一带照常排版再量,滚过去位置不变 2026-10-13 15:11:21 +11:00
cruldra ffb0f147e1 ⚡ perf(vscode): 代码阅读预览的卡片位置量过就记着,内容或大小变了才重量:粘性标题、记滚动位置、上报可见行、跳转按顶层块二分找,滚动时不再每帧量全部卡片,滚动回调里也不读会逼排版的位置 2026-10-13 14:58:03 +11:00
cruldra b2e998665e ⚡ perf(vscode): 代码阅读预览差异到了不再给每张卡片外面包一层:改动色条画在卡片里、挪到卡片外侧,卡片不拆掉重建 2026-10-13 14:46:57 +11:00
cruldra 0ad4748cc6 ⚡ perf(vscode): 代码阅读预览按卡片订阅状态:中文名、调用树棵数、单击高亮、问答一条消息只重画受影响的卡片和文字,新文档里内容没变的块沿用原来的对象不重画,没展开又没说过的块不画问答区 2026-10-13 14:40:53 +11:00
cruldra 6e2c541558 ⚡ perf(vscode): 查到的定义落到名字上时只读定义那一段,不把目标文件整份取出来 2026-10-13 14:40:07 +11:00
cruldra 0070933599 ⚡ perf(vscode): 语言插件按作用域规则认出名字的绑定,找别的文件起的中文名时同一个绑定只问一处、本文件定义的不问 2026-10-13 14:40:07 +11:00
cruldra 12ad047b4d ⚡ perf(vscode): 预览发文档后在后台问语言扩展的请求排队发:同时在途最多 4 个、离视口近的先问、文档改了排着的作废,看得见的中文名先交 2026-10-13 14:15:37 +11:00
cruldra 5a0c5490ea ⚡ perf(vscode): 标差异时旧版本的解析结果按旧内容记着,晚到的答案、翻译插件没变就不再重新解析 2026-10-13 14:15:33 +11:00
cruldra e9c1c67d6f ⚡ perf(vscode): 认调用分新建还是调用时,定义所在的文件按版本记着解析结果,同一版不再整份重解析;定义就在本文件时用发文档时读出的 2026-10-13 14:15:33 +11:00
cruldra 80d9962856 ⚡ perf(vscode): FastAPI 规则整份文件的路由对象、接口一份文档只扫一遍,各块共用 2026-10-13 14:15:25 +11:00
cruldra ded0395d1f ⚡ perf(vscode): 语言插件给词定词性时,在不在字符串 / 注解 / 注释里按语法树一遍收齐的范围查,不再逐词往上找父节点 2026-10-13 14:15:25 +11:00
cruldra 907c4092c8 ✨ feat(vscode): 代码阅读预览里实参值、return 这类一行译文里跨几行写的字典 / 列表按项拆开,各项带自己的实参表 2026-10-13 13:57:22 +11:00
cruldra b2c5309d1f 🔧 chore(vscode): 版本号升到 0.2.273 2026-10-13 13:35:49 +11:00
cruldra 7d5432df3b ✨ feat(vscode): 接口卡片找前端调用时,网址最后一段字面量后面紧贴的 ${...}(messages${qs} 这类)当查询串去掉再对接口 2026-10-13 13:34:12 +11:00
cruldra 2c490cac2d ✨ feat(vscode): 代码阅读预览里跨几行写的列表按项拆开,列表里整项是调用的带着自己的实参表,一层层能往下套 2026-10-13 13:32:45 +11:00
cruldra 7d6e7592c9 ⚡ perf(vscode): 切走的预览文件改了不在后台生成文档,切回来再补一次 2026-10-13 13:31:20 +11:00
cruldra 50672c70d1 ✨ feat(vscode): 接口卡片找前端调用时,网址模板里拼的字符串常量(${API_PREFIX} 这类)换成它的值再对接口,本文件定义的、import 进来的、常量引用常量的都算 2026-10-13 13:29:13 +11:00
cruldra 5426c50cd9 ⚡ perf(vscode): 预览切走标签页时页面留着,切回来不再重新生成、重发文档和整份重画 2026-10-13 13:17:22 +11:00
cruldra 53283808a0 🔧 chore(vscode): 版本号升到 0.2.272 2026-10-13 13:03:31 +11:00
cruldra cb561d23ad ✨ feat(vscode): 接口卡片的调用树认得出包了一层 fetch 的函数(authedFetch 这类),跨文件、多层、路径别名导入都算 2026-10-13 13:03:00 +11:00
cruldra 78aa71ffd0 🔧 chore(vscode): 版本号升到 0.2.271 2026-10-13 11:36:48 +11:00
cruldra 6d419210c6 🐛 fix(vscode): 修复 0.2.270 装上后激活失败:jsonc-parser 改打 ESM 版,打包时先试加载产物 2026-10-13 11:36:24 +11:00
cruldra a7b85b4370 🔧 chore(vscode): 版本号升到 0.2.270 2026-10-13 11:27:50 +11:00
cruldra dff38ee0c5 ✨ feat(vscode): 预览里代码的上色和卡片种类色跟着当前颜色主题走 2026-10-13 11:27:24 +11:00
cruldra 19302bbed0 🔧 chore(vscode): 版本号升到 0.2.269 2026-10-13 11:00:29 +11:00
cruldra 32018e71f1 🐛 fix(vscode): 切走标签再回来,调用树棵数不用重算,开着的弹框和选中的入口照旧 2026-10-13 11:00:06 +11:00
cruldra 6cf053dcd0 🐛 fix(vscode): 调用树弹框路径太长时不再挤乱标题、溢出卡片:文件名在前、目录淡色省略 2026-10-13 10:54:16 +11:00
cruldra 4d29b6aab8 🔧 chore(vscode): 版本号升到 0.2.268 2026-10-12 16:56:57 +11:00
cruldra 5120e50228 🐛 fix(vscode): 注释里不带路径的引用从被注释的声明起一层层往外找,同类的方法、类的成员都能链到 2026-10-12 16:56:31 +11:00
cruldra 15972c0b35 🔧 chore(vscode): 版本号升到 0.2.267 2026-10-12 16:31:03 +11:00
cruldra b83c445dd0 ✨ feat(vscode): 问 AI 和重写注释各用各的 profile,设置里加重写注释默认模型 2026-10-12 16:30:41 +11:00
cruldra 925f1ed39a 🔧 chore(vscode): 版本号升到 0.2.266 2026-10-12 16:11:05 +11:00
cruldra ce5327dcd5 ✨ feat(vscode): 跳定义、点链接、编辑切回预览不改开着的预览对比什么 2026-10-12 16:10:41 +11:00
cruldra d4416e7b26 🔧 chore(vscode): 版本号升到 0.2.265 2026-10-12 15:53:23 +11:00
cruldra 3c7513b7cd ✨ feat(vscode): 只有从「未提交的更改」点开的预览才对比上一次提交 2026-10-12 15:52:35 +11:00
cruldra 4ec2b9d5d6 🔧 chore(vscode): 版本号升到 0.2.264 2026-10-12 15:49:16 +11:00
cruldra 880bf7fc57 ✨ feat(vscode): 新增「了解一块代码」:AI 找功能代码占一栏,对话里接着改
主栏标题栏的放大镜问要了解哪一块,占一个栏位建一栏(和收藏共用 30 个栏位,视图改名 slot1..30,按 slotKindN 分收藏 / 功能挂标题栏按钮),同时开对话页让 Claude 只读地在全部工作区文件夹里找,按 --json-schema 交回环节 → 文件 + 符号 + 一句话。
对话复用预览顶部的聊天(CodeQa.askTop:会话续接、进行中的一轮、记录存 workspaceState);结构不合格算这一轮没答成、留着能再画出来。
条目每次画、点时按眼下的代码找:有语言插件的解析成代码块按「类名.方法名」找,没有的问 VS Code 文档符号;找不到画成灰的。
2026-10-12 15:48:54 +11:00
cruldra 16d27004d8 🔧 chore(vscode): 版本号升到 0.2.263 2026-10-12 15:11:46 +11:00
cruldra aecc4d1ab5 ✨ feat(vscode): 重写注释排成一队,整个扩展一次只跑一段
OpenPencil 同一时间只能开一个画板,两段同时画会互相掐断。所有预览、所有文件的重写(第一轮和接着说)排成一队,前一段写成、出错、被叫停后按先后自动开始下一段;问 AI 照旧最多同时 3 个。
排着的那一轮记在扩展端(rewriteCurrent 的 queued),块下面写「排队中」、能取消排队,切标签页、页面重新加载后照样显示。
2026-10-12 15:11:22 +11:00
cruldra b7c29c60e1 ✨ feat(vscode): 重写注释把原型存进 docs/prototype/<功能>/openpencil/
跟写注释技能 ECC v2.2.53 的原型约定:去掉临时草稿目录 spx-comment-<id> 和 */prototypes 的建目录规则,会话 id 交给 Claude Code 起。
放开 Edit/Write 到 docs/prototype/*/openpencil/ 下、mkdir -p 到 docs/prototype/*/openpencil/exports;Bash 规则的 * 能跨空格,另外拒掉建目录时多跟一个路径的写法。
2026-10-12 15:11:10 +11:00
cruldra 5bfa89e691 🔧 chore(vscode): 版本号升到 0.2.262 2026-10-12 14:30:11 +11:00
cruldra b40ddb5e3a ✨ feat(vscode): 代码阅读侧栏拆成多栏:常驻未提交的更改、收藏目录各占一栏 2026-10-12 14:29:48 +11:00
cruldra 45e526afa9 🔧 chore(vscode): 版本号升到 0.2.261 2026-10-12 13:46:04 +11:00
cruldra c9f60f5b30 ✨ feat(vscode): 重写注释留会话记录、能接着说,允许画原型图
每块的重写记录存进 .spx/comment-rewrites.json(和问答分开,改名、删文件跟着走),块下面同问答区:灰字历史、当前这一轮、输入框;输入框里的话接着这块最近一次重写的会话说,交回新正文照样写回,写回失败也记下原因。
重写跑在 claude --restricted 下:只放开读搜、OpenPencil 的 op、建 prototypes 目录、改草稿目录,写注释的插件单独加载;超时 15 分钟。
进行中的、出错被叫停留着的那一轮记在扩展端,切走标签页再切回来照样接上(问 AI 同一套)。
2026-10-12 13:45:37 +11:00
cruldra ae4e2160ef 🔧 chore(vscode): 版本号升到 0.2.260 2026-10-12 12:39:10 +11:00
cruldra e66b19b3b4 ✨ feat(vscode): 同名接口靠同一路由对象上的其他接口定挂载前缀 2026-10-12 12:38:54 +11:00
cruldra 00737ab1a0 🔧 chore(vscode): 版本号升到 0.2.259 2026-10-12 12:23:21 +11:00
cruldra 29cedcb751 ✨ feat(vscode): FastAPI 接口卡片的调用树带上前端调用它的地方 2026-10-12 12:22:51 +11:00
cruldra d4459e93b3 🔧 chore(vscode): 版本号升到 0.2.258 2026-10-11 22:57:37 +11:00
cruldra 066681d601 🐛 fix(vscode): 调用树不统计测试代码 2026-10-11 22:57:15 +11:00
cruldra eff84a4df3 🔧 chore(vscode): 版本号升到 0.2.257 2026-10-11 22:50:03 +11:00
cruldra 83d1f4a675 🐛 fix(vscode): 调用树按钮一直显示,点开时没数到就当场再查 2026-10-11 22:49:42 +11:00
cruldra 6e8be1447a 📝 docs(vscode): 提交调用树弹框原型 2026-10-11 00:40:51 -04:00
cruldra b463706d1f 🔧 chore(vscode): 版本号升到 0.2.256 2026-10-11 00:39:50 -04:00
cruldra 645542eb5c ✨ feat(vscode): 代码阅读的函数和类可以看调用树 2026-10-11 00:37:24 -04:00
cruldra 8dc572bf94 🔧 chore(vscode): 版本号升到 0.2.255 2026-10-10 01:34:22 -04:00