尧图精选

思源笔记 v2.9.6 版本技术解读:属性视图与插件事件增强、编辑器细节修复一览

🕒 发布时间:2026/9/9 21:55:58 📁 来源:尧图网络
思源笔记 v2.9.6 版本技术解读属性视图与插件事件增强、编辑器细节修复一览【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan本篇文章以思源笔记SiYuan仓库中 v2.9.6 官方变更记录 为主线逐项拆解该版本在界面交互、快捷键、同步导出、属性视图Attribute View与插件事件上的真实改动并结合当前仓库源码验证这些能力在代码层的落点。读完本文你将掌握 v2.9.6 相对上一版本的完整能力增量、可配置项含义以及属性视图过滤器、多选列、列计算等机制在源码中的实现位置方便你在使用或二次开发时快速定位。一、版本概况与升级建议v2.9.6 是一个以「修复细节缺陷 扩充开发者能力」为主的迭代版本。官方在 变更记录 中明确给出结论此版本修复了一些细节缺陷建议升级。整个版本变更分为三大类共二十余项改进功能8 项覆盖引用计数按钮重叠、文档树悬浮提示、标签面板按钮顺序、快捷键可配置化、同步删除性能与 KaTeX 宏定义行为等修复缺陷7 项覆盖右键菜单、嵌入块编辑、移动端面板遮挡、浮窗备注、.sy.zip导出、文档定位、分享 URL 等实际使用痛点开发者更新6 项全部集中在属性视图Attribute View与插件事件两条线上是该版本技术含量最高的部分。如果你使用思源笔记的目的是日常文档管理v2.9.6 的 UI 与稳定性修复会直接改善编辑体验如果你是插件开发者或属性视图重度用户则建议重点关注本文第七、八节。二、界面与交互改进按钮重叠、悬浮提示与面板细节本版本在 UI 细节上做了多处打磨涉及文档树、标签面板与引用计数等高频区域具体包括避免引用计数和其他按钮重叠修复编辑区标题/块图标区域中引用计数与相邻操作按钮发生重叠的问题属于典型的布局适配修复改进文档树文档悬浮提示优化鼠标悬停文档树条目时悬浮提示的展示信息与样式使长文档名或大纲信息更易读取改进用户界面细节聚合性的 UI 打磨条目调整标签面板按钮顺序将标签管理面板中按钮的排列顺序调整为更符合操作习惯的次序改进官方同步删除云端目录性能针对云端同步场景中删除整个目录含大量子文件时的处理逻辑进行优化减少逐项删除带来的性能开销。从仓库目录结构看文档树的悬浮提示与标签面板相关逻辑主要落在前端app/src/protyle、app/src/layout与app/src/dialog等模块中如 app/src/dialog/tooltip.ts 承担通用提示浮层渲染UI 细节类的修复通常以少量样式与事件绑定的调整为主风险低、收益直接这也与官方“建议升级”的结论一致。三、快捷键扩展让「复制文本 *」与「优化排版」可配置v2.9.6 在快捷键配置体系上放开两项此前固定触发的操作复制文本 *支持快捷键配置将“复制文本含通配的附加动作”从固定行为开放为可绑定、可自定义快捷键的操作优化排版支持快捷键配置把编辑器中一键整理段落空行、空格的排版工具也纳入快捷键设置面板。思源笔记的快捷键体系位于「设置 → 快捷键」中所有可配置项均以固定 key 注册并持久化到用户配置。以本仓库kernel侧的用户配置结构如 kernel/conf/user.go为参考可以推断这类新增可配置项会在配置解析层同步补充对应键位声明之后即可在界面上自由绑定、改绑或清除。对高频打字用户而言将优化排版绑定到顺手的组合键可以显著减少从键盘切换到鼠标的频次。四、KaTeX 宏定义不再对书写内容做拼写检查数学公式是思源笔记编辑器的重要能力其渲染基于 KaTeX。v2.9.6 对公式宏的使用体验做了一处直接影响KaTeX 宏定义不再检查拼写即编辑器中输入已定义的公式宏时不再因为宏名被拼写检查误判而出现干扰性提示。这一改动与内核层暴露的宏配置字段直接对应。在 kernel/conf/editor.go 中可以看到该配置的持久化定义KaTexMacros string json:katexMacros // KeTex 宏定义且其默认值在配置初始化处被置为空对象字符串KaTexMacros: {},也就是说用户可在设置中通过 JSON 形式维护自己的宏定义如\R - \mathbb{R}之类的快捷缩写编辑器在解析这些宏时将不再触发拼写检查噪声。对大量使用自定义宏撰写数学笔记的用户这是一处提升输入流畅度的细节优化。五、同步、导出与分享链路修复v2.9.6 针对数据进出环节修复了多个实际问题涉及「进来」定位文档与「出去」导出、分享两条链路导出.sy.zip文档题头图未导出修复打包导出思源 .sy.zip 格式时遗漏文档题头图文档封面的问题。.sy.zip是思源用于整篇文档含子文档与资源迁移的压缩包格式题头图属于文档元数据的一部分缺失会导致导入端封面丢失定位打开的文档在创建文档后失效修复在文档树中新建文档后使用“定位打开的文档”无法正确滚动定位到该文档的问题属于文档树与当前打开文档之间的状态同步缺陷分享到社区流云资源文件 URL 不正确修复将文档分享到社区时其中引用的流云资源文件生成的 URL 拼接错误避免分享出去的内容在他人打开时出现资源 404改进官方同步删除云端目录性能同第二章同步端批量删除目录时减少冗余请求缩短大目录清理的等待时间。上述条目在 变更记录 的“修复缺陷”分组下均有明确记载它们共同保证数据在本地、导出包与云端之间的往返一致性。六、编辑器与浮层交互修复编辑器交互是本版本修复的重点区域主要包括右键菜单选择以后不关闭修复在部分场景下点击右键菜单项后菜单未自动收起、遮挡后续操作的问题无法编辑第一个嵌入块修复文档内第一个嵌入块Embed Block用于跨文档引用某一块内容无法正常进入编辑状态的问题此前仅后续嵌入块可编辑属于典型的“首元素”索引或焦点边界 Bug浮窗中的备注弹出后无法移动修复引用计数浮窗等场景中备注浮层弹出后无法被拖动到其他位置的问题移动端移动面板被搜索遮挡修复移动端界面中“移动”面板弹出后被搜索框遮挡、导致无法操作的问题。这类修复全部发生在思源前端交互层。从源码结构看编辑器块级交互与右键菜单的组装逻辑集中在 app/src/protyle 目录含toolbar、wysiwyg、render等子模块移动端相关适配则落在 app/src/mobile。若你在旧版本中恰好命中上述任一场景升级到 v2.9.6 即可直接受益。七、开发者专区上属性视图能力矩阵扩张v2.9.6 的“开发者”分组几乎被属性视图Attribute View思源内置的类数据库表格能力也常被称为数据库视图包揽一次性落地六项能力中的五项变更项能力说明属性视图列过滤器支持对指定列按运算符与条件进行过滤展示如包含、为空、区间等属性视图行支持浮窗视图中的行可以浮窗形式展开查看/编辑不必跳转离开当前上下文属性视图支持多选列类型新增多选列多值标签类列类型单元格可存多个选项属性视图列计算支持对数值等列做聚合计算在视图中直接输出统计结果属性视图行列操作完善行列粒度的增删、排序与布局操作从当前仓库源码来看属性视图相关实现已经发展为一套独立子系统关键证据如下后端计算kernel/av目录下存在 calc.go、calc_template.go、filter.go、layout.go 等文件分别承载列计算、过滤与多种视图布局表格/看板/画廊的服务端逻辑前端渲染与交互app/src/protyle/render/av/目录是属性视图前端的完整实现域包含 filter.ts过滤器 UI 与条件组装、calc.ts计算列渲染、select.ts 与 cell.ts单元格编辑器、row.ts行级操作、col.ts列级配置以及 kanban、gallery 等子目录列类型枚举前端类型声明 app/src/types/index.d.ts 中的TAVCol至今仍完整保留text / date / number / relation / rollup / select / block / mSelect / url / email / phone / mAsset / template / created / updated / checkbox / lineNumber等列类型其中mSelect即 v2.9.6 起引入的多选列类型同文件中还定义了TAVFilterOperator ! Contains / Does not contains / Is empty / Starts with / Ends with / Is between等与 v2.9.6 同期推进的列过滤能力相互印证。可以这样理解这套架构用户在某文档内插入属性视图块后前端 render.ts 负责把数据渲染成表格/看板/画廊列过滤、排序、分组与计算在kernel/av后端完成查询与聚合最终通过属性视图专用 API 往返后端入口见 kernel/api/av.go。v2.9.6 作为属性视图功能的高速迭代期将这些基础能力一次补齐为其后看板、画廊布局的成熟打下了地基。八、开发者专区下插件新增input-search事件除属性视图外v2.9.6 为插件体系新增了一个搜索输入事件input-search。它意味着第三方插件现在可以感知用户在全文搜索界面中的每一次输入动作从而做出实时响应例如联动过滤、关键词统计或自定义搜索辅助。从当前源码可以看到该事件在设计层与运行层均已固化事件类型声明在 app/src/types/index.d.ts 的TEventBus联合类型中input-search与paste、ws-main、sync-start等官方事件并列约第 89 行说明它走的是思源标准的事件总线协议插件在事件监听时会被类型系统正确约束实际触发点全文搜索面板的核心处理函数inputEvent位于 app/src/search/util.ts。该函数负责对搜索输入做防抖setTimeout与data-timeout配合在真正发起搜索前会遍历当前应用已加载的全部插件并派发事件edit.protyle?.app.plugins.forEach(item { item.eventBus.emit(input-search, { protyle: edit, config, searchElement: searchInputElement, }); });事件负载包含三个对象当前编辑器实例protyle含文档上下文、搜索面板配置config含query、method、types、分页等字段以及搜索输入框 DOMsearchElement。插件拿到这些信息后即可在搜索执行的同一时机注入自己的逻辑。此外事件触发后思源会根据config.method选择后端接口method 4时走 语义搜索接口/api/search/semanticSearchBlock否则走全文搜索/api/search/fullTextSearchBlock这也是插件判断当前搜索模式的关键依据。九、小结该版本在思源迭代线中的位置回顾整个 v2.9.6对普通用户而言它是「修复细节缺陷、建议升级」的稳定性版本覆盖了右键菜单、嵌入块、文档树定位、.sy.zip导出与移动端遮挡等高频痛点并把两个常用编辑动作放开为可配置快捷键、去除 KaTeX 宏的拼写检查干扰对开发者而言它则是属性视图从「能用」走向「可配置」的关键节点——列过滤、多选列、列计算、行列操作与行浮窗集中落地同时为插件体系补充了input-search搜索联动事件。这些能力的具体实现至今仍可在仓库对应源码路径中追踪前端交互见 app/src/protyle/render/av 与 app/src/search/util.ts服务端见 kernel/av配置字段见 kernel/conf/editor.go。相邻版本的演进脉络可继续查阅 app/changelogs/v2.8.4-v2.12.8 目录下的 v2.9.5 与 v2.9.7 记录以观察属性视图与搜索事件在此后的持续扩展。【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →