Commit Graph
57 Commits
Author SHA1 Message Date
cruldra 1956879aa1 ✨ feat(vscode): 代码阅读页面画链式调用卡片:竖轨道、小链、收起的闭包和合成的表
链的各步排在值下面的竖轨道上,方法一列对齐、轨道线是函数色淡到 35%;实参是链的缩进成空心点小链,注释挂在步骤下;收起的闭包是能点的小框,点开那一步才画挂着的子块(折叠 id 记在属性行下面);跳到定义、查找、高度估算、只看改动都算上链里的字和步骤下的子块
2026-10-15 21:05:07 +11:00
cruldra c2a13e5691 ✨ feat(vscode): 代码阅读「未提交的更改」点文件行改成打开标准预览(和主栏一样不标差异),文件行上加「打开更改」按钮才打开对比上一次提交的预览,语言没有代码阅读的走 VS Code 自带的差异视图,删掉的文件行不挂这个按钮 2026-10-14 13:47:59 +11:00
cruldra bd474986bd ✨ feat(vscode): 代码阅读预览加 ⌘F 查找栏:整份文件查(折叠着的块里的也算,跳过去时展开),按页面上显示的字不分大小写匹配、中文名也认原名,Enter / ⌘G 跳、Esc 关,高亮直接画在页面上不重画卡片 2026-10-14 05:40:59 +11:00
cruldra 39dfd9b084 ✨ feat(vscode): 代码阅读预览里工作区外的库文件也能问 AI,问答记进第一个工作区文件夹,重写注释不对库文件开放 2026-10-13 21:50:54 +11:00
cruldra ad5f559e92 ⚡ perf(vscode): 代码阅读预览发给页面的块只记相对位置:块在源码里占的地方记成离前一块多远、自己多长,块里名字的下标从块的开头算,页面从文件开头累加回文件里的位置、和扩展端打交道的地方都在一处换算;靠前改了代码,后面内容没变的块发过去一模一样,扩展端自己的块和发给页面的块分成两种类型 2026-10-13 16:32:18 +11:00
cruldra 2e3602242e ⚡ perf(vscode): 代码阅读预览的文档消息里源码和着色只带一份:块不再各带一份连子块在内的整段源码和上色,编辑框按块的编辑范围从整份源码和着色里取,5126 行的消息 4.3MB → 1.9MB 2026-10-13 15:50:33 +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 907c4092c8 ✨ feat(vscode): 代码阅读预览里实参值、return 这类一行译文里跨几行写的字典 / 列表按项拆开,各项带自己的实参表 2026-10-13 13:57:22 +11:00
cruldra 2c490cac2d ✨ feat(vscode): 代码阅读预览里跨几行写的列表按项拆开,列表里整项是调用的带着自己的实参表,一层层能往下套 2026-10-13 13:32:45 +11:00
cruldra 5120e50228 🐛 fix(vscode): 注释里不带路径的引用从被注释的声明起一层层往外找,同类的方法、类的成员都能链到 2026-10-12 16:56:31 +11:00
cruldra b83c445dd0 ✨ feat(vscode): 问 AI 和重写注释各用各的 profile,设置里加重写注释默认模型 2026-10-12 16:30:41 +11:00
cruldra aecc4d1ab5 ✨ feat(vscode): 重写注释排成一队,整个扩展一次只跑一段
OpenPencil 同一时间只能开一个画板,两段同时画会互相掐断。所有预览、所有文件的重写(第一轮和接着说)排成一队,前一段写成、出错、被叫停后按先后自动开始下一段;问 AI 照旧最多同时 3 个。
排着的那一轮记在扩展端(rewriteCurrent 的 queued),块下面写「排队中」、能取消排队,切标签页、页面重新加载后照样显示。
2026-10-12 15:11:22 +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 29cedcb751 ✨ feat(vscode): FastAPI 接口卡片的调用树带上前端调用它的地方 2026-10-12 12:22:51 +11:00
cruldra 645542eb5c ✨ feat(vscode): 代码阅读的函数和类可以看调用树 2026-10-11 00:37:24 -04:00
cruldra ebea984852 💄 style(vscode): 代码阅读的「按注释规范写注释」按钮统一排在卡片右上角那排最前面,不再画在「注释」一行上 2026-10-08 08:03:00 +08:00
cruldra 582ac4c987 ✨ feat(vscode): 代码阅读的注释挂到它讲的代码块上成「注释」一行,重写注释改用技能一句话加结构化结果
- 普通注释不再单独成卡片:同一层挂到后面最近的块(隔空行也算),后面没有挂到前面那块,整层没代码挂到父块;只有文件开头隔着空行的注释、模块 docstring、//!、@file 单独成「文件开头的说明」
- 各语言(Python、TypeScript、Rust、Shell、Dockerfile)建好树后统一调 attachComments;块的编辑范围连着挂上的注释,差异、跳转、钉住卡片都按它
- 宿主统一给每张卡片(语言卡片、翻译插件的属性表、库规则卡片、一行译文的语句卡片)插「注释」一行,排在名称、说明后面
- TypeScript 的 JSDoc 也能当常量、变量的说明;sqlx、React 不再单独处理前面的注释
- 「重写注释」每块都有:提示只发 /ecc:writing-code-comments 路径:起-止,模型只读、按 --json-schema 交 body,没交结构化正文就失败不写;扩展换掉块前面的注释或在块上面新写一段
2026-10-08 07:51:21 +08:00
cruldra a1fbefd3aa 🐛 fix(vscode): 代码阅读的钉住卡片改成每张卡片都算一层,折叠着、没有子块的高卡片滚到一半也钉在顶上 2026-10-08 07:17:26 +08:00
cruldra eb3d1b90cd ✨ feat(vscode): 代码阅读滚进卡片的子块时把外层卡片钉在顶上,同 VS Code 的 Sticky Scroll 2026-10-08 07:17:26 +08:00
cruldra a48b016d73 ✨ feat(vscode): 代码阅读鼠标停在名字和注释链接上弹出定义所在那块的卡片,别的文件的也行 2026-10-08 07:17:26 +08:00
cruldra 5e994cd90e ♻️ refactor(vscode): 卡片里的子块只留挂在子行上、点了才展开的一种,测试假数据换掉旧 React 卡片的名字 2026-10-08 07:17:25 +08:00
cruldra 6ce4ef7ee2 ✨ feat(vscode): React 文件照源码一块一张卡片,组件卡片只留名称、说明、构造参数
- 组件体的语句不再并进组件卡片,照源码顺序是它的子块;状态、引用、数据源、派生值、副作用、事件处理函数、渲染输出各成一张卡片,回调和函数里的语句是这些卡片下面的子卡片
- 普通变量、提前返回的 if、注释照语言默认的卡片;表格格子里只写名字和位置,去掉「改它的」「来自」格子里单独打开源码的那条路
- 用词改成书面叫法(更新位置、使用位置、计算表达式、依赖项、触发时机、清理函数、绑定事件、样式取决于……),新增 toggle-right、anchor、download、sigma、layout-template 五个种类图标
- 夹具加上 luffy 的 QueuedBubble.tsx、PlanChecklist.tsx,规格的 React 一节照新样子改写
2026-10-08 07:17:25 +08:00
cruldra e8ae19d084 ✨ feat(vscode): 构造参数区,改它的和来自能单独打开源码 2026-10-04 15:34:44 +08:00
cruldra a66e4410e7 ✨ feat(vscode): 有说明的函数、类卡片也能重写注释
重写按钮不再只挂在单独的注释卡片上。只替换说明那几行,上下文用这块代码,不当成文件顶上的说明。
2026-10-03 03:22:20 +08:00
cruldra 5e8e7b65ee ✨ feat(vscode): 重写注释时在卡片下展示模型过程 2026-10-03 03:22:20 +08:00
cruldra 299acb979f ✨ feat(vscode): 注释卡片可按规范重写注释 2026-10-03 03:22:20 +08:00
cruldra 394cd2fc1c ✨ feat(vscode): 代码阅读卡片横排多个概念图标 2026-10-03 03:11:47 +08:00
cruldra ee807ec7a4 ✨ feat(vscode): 代码阅读 React 组件卡片按钩子分区:状态 / 引用 / 读取的数据 / 派生值 / 副作用 / 事件处理;副作用、处理函数成子卡片放进卡片那一行下面(库规则新增把子块放进属性表某一行的机制,事件处理表点名称展开) 2026-10-03 03:11:46 +08:00
cruldra 6120c85bc0 ✨ feat(vscode): 代码阅读差异加「只看改动」(连着没变的块折成一条、按工作区记住)、上一处 / 下一处改动、右边缘总览条 2026-09-30 08:54:23 +08:00
cruldra 707d85c324 ✨ feat(vscode): 代码阅读修改的卡片里标出改了哪儿(改值旧值划掉接新值、加行 + 淡绿底、删行 − 淡红底划掉、说明按词 / 字标增删) 2026-09-30 08:46:24 +08:00
cruldra 3b7ce69842 ✨ feat(vscode): 代码阅读预览标出新增 / 修改 / 删除的卡片(左侧改动色条、新增淡绿底挂小标、删掉的块原位收成一行可展开),筛选栏第二行写对比基准和改动统计,新文件顶部横幅 2026-09-30 08:41:55 +08:00
cruldra 70ea22543f 🐛 fix(vscode): 代码阅读编辑父卡片时显示整块代码(含子块)
- 块的编辑范围改成它在源码里的完整范围:头部连同各子孙块、收尾括号,保存时按整段写回;子卡片只有它自己连同子孙
- 范围由宿主统一算(blockSpans),各语言插件同一条路:else / elif / catch 这类展平的兄弟块按各块开头切开整条语句,最后一块到语句结尾(Shell 的 fi 归它)
- 库规则卡片的编辑范围并进同一套算法,去掉 claimedShape
- 块编辑时它的子孙都不画(代码都在编辑框里),点「编辑」时重叠的祖先、子孙、共用一行的兄弟块退出编辑
- 问 AI 的外层块开头改用新加的 headerEndLine,位置记号照旧按头部算,已有问答不受影响
- 着色改成整份源码算一次、各块按行取,编辑范围变大后排视图数据不变慢
2026-09-30 07:24:10 +08:00
cruldra 285d711740 ✨ feat(vscode): 代码阅读的调用嵌套:实参的值又是跨多行的调用时在值那一格里写它的一行、套它的实参表,一层层往下套;埋在式子里后面还跟着东西的调用括起来 2026-09-27 22:31:35 +08:00
cruldra ecc415d763 ✨ feat(vscode): 代码阅读的调用与构造:跨多行写的调用排成「新建 / 调用 名字 · N 个参数」一行,实参摊成参数 / 值表;Python 查被调用名字的定义分新建和调用,查到后刷新 2026-09-27 22:08:16 +08:00
cruldra 1dfc0c7b1e ✨ feat(vscode): 代码阅读的块种类只画图标(lucide,种类色),种类名放进鼠标停上去的提示和读屏文字;库规则给自己的图标 2026-09-27 20:02:32 +08:00
cruldra 36d842e18e ✨ feat(vscode): 问 AI 输入框能粘贴、拖进图片随问题发给 Claude Code,缩略图能点开看大图,图片存进 .spx/code-qa 跟着问答删 2026-09-26 23:15:02 +08:00
cruldra 9efae1f496 ✨ feat(vscode): 问 AI 输入框旁边能选 Claude profile,记住上次选的,问答灰字写用哪个 profile 答的 2026-09-26 22:28:29 +08:00
cruldra fb53bb727c ✨ feat(vscode): 代码阅读加「问 AI」,块下面问 Claude Code,问答存进 .spx 挂在块下 2026-09-26 21:12:47 +08:00
cruldra c84e21ff57 ✨ feat(vscode): 代码阅读侧栏行加复制菜单,块按钮只留图标,筛选菜单加全选 / 取消全选 2026-09-26 20:39:21 +08:00
cruldra de355661f0 ✨ feat(vscode): 代码阅读加枚举卡片,Python enum 库规则和 TypeScript enum 画成同一张表 2026-09-26 20:10:36 +08:00
cruldra 2251e67ef8 ✨ feat(vscode): 代码阅读库规则卡片不再吞掉字段中间的方法,编辑时收起子块 2026-09-26 19:58:43 +08:00
cruldra 1f86201373 🐛 fix(vscode): 代码阅读把 Python 赋值后面的字符串当变量说明,其余单独的字符串显示成注释 2026-09-26 18:57:07 +08:00
cruldra 5ece24cef9 ✨ feat(vscode): 代码阅读支持库规则,内置 SQLAlchemy 模型类显示成数据表卡片 2026-09-26 18:29:40 +08:00
cruldra 1c7e31c51a ✨ feat(vscode): 代码阅读预览顶部加块筛选栏
语言插件按和语言无关的 id 报块属性(通用的由宿主从 facts 推),翻译插件起名,webview 只按 id 筛;
筛选整个工作区共用、记在 workspaceState;JavaScript 不再显示「抽象:否」「仅类型:否」
2026-09-25 21:31:19 +08:00
cruldra 4930dc0d42 ✨ feat(vscode): 代码阅读把字典、对象字面量的值展开成键值树 2026-09-25 20:57:27 +08:00
cruldra 43323659e1 ✨ feat(vscode): 代码阅读类块改成属性表并默认折叠,类的说明进「说明」行 2026-09-25 14:46:33 +08:00
cruldra a53c2a6aac ✨ feat(vscode): 代码阅读的注释和函数说明按 Markdown 渲染 2026-09-25 14:28:23 +08:00