首页
/ TinyMist 0.13.12-rc4 版本发布:全面提升 Typst 文档开发体验

TinyMist 0.13.12-rc4 版本发布:全面提升 Typst 文档开发体验

2025-06-30 05:09:26作者:翟萌耘Ralph

TinyMist 是一个专为 Typst 文档排版系统设计的语言服务器和开发工具链。作为 Typst 生态中的重要组成部分,它为开发者提供了代码补全、语法高亮、实时预览等现代化开发功能。最新发布的 0.13.12-rc4 版本带来了多项重要改进,显著提升了 Typst 文档开发的整体体验。

核心功能增强

本次更新中,TinyMist 对核心功能进行了多项优化。格式化工具 typstyle 升级至 v0.13.3 版本,实现了对文档格式化的全面支持。新版本能够正确处理之前被跳过的元素,包括与方程或代码混合的标记行、带注释的方程、包含 # 符号的数学表达式以及数学参数等。这些改进使得代码格式化更加智能和全面。

在编译器性能方面,新版本修复了根目录变更检测的问题,避免了频繁的虚拟文件系统缓存失效。同时移除了对系统时间的依赖,使 TinyMist 能够构建为 wasm32-unknown-unknown 目标,为未来作为 Typst 插件使用奠定了基础。

编辑器体验优化

编辑器功能是本版本的重点改进领域。数学引号的 token 类型从字符串调整为其他类型,解决了在输入数学表达式时的自动补全问题。焦点切换逻辑得到优化,减少了在通过 API 切换文档时的虚拟文件系统缓存失效。

新增的 AST 视图功能为开发者提供了更直观的代码结构分析工具。状态栏格式现在支持显示页面计数信息,方便开发者快速了解文档规模。配置项 tinymist.formatterMode 的默认值从 never 改为 typstyle,体现了团队对代码格式化重要性的认可。

代码分析与诊断能力提升

代码分析功能在本版本中得到了显著增强。相对路径解析功能现在能够正确处理子文件夹中的文档链接。重命名功能在 Unix 平台上的问题得到修复,特别是针对类似 #import "../foo.typ" 的相对导入场景。

新增的多种代码检查规则进一步提升了代码质量保障能力:

  • 针对容易出错的 show/set 规则的检查
  • 对 break/continue/return 前隐式丢弃语句的检查
  • 类型与字符串比较的检查(警告类似 type("") == "str" 的表达式)
  • 对可变字体使用的检查(警告类似 text(font: "XXX VF") 的参数)

开发者现在可以通过 tinymist.lint.enabled 和 tinymist.lint.when 配置项灵活控制检查的启用时机。

预览与交互改进

预览功能在本版本中获得了多项用户体验优化。水平拖动预览面板的功能得到修复,点击空白区域清除选择的行为更加符合直觉。新增了将预览面板弹出到浏览器的功能,为多显示器工作环境提供了更好的支持。

悬停文档中的官方参考链接得到修正,参考文献标签的渲染和格式化显示效果得到改善。定义跳转功能现在能够正确解析参考文献条目的完整范围,提供更精确的导航体验。

其他重要改进

折叠范围功能新增了对 list 和 enum 项目的支持,使代码结构更加清晰可读。诊断消息中多余的行间距问题得到修复,输出更加整洁。文档高亮功能现在能正确处理 context {} 块对 break/continue 与父循环关联的影响。

在构建和分发方面,VS Code 扩展现在使用 cargo-dist 构建的二进制文件,确保了更好的兼容性。端到端测试现在覆盖主要平台,PDF 文档被构建并打包到 VS Code 扩展中,为所有平台用户提供一致的文档体验。

总结

TinyMist 0.13.12-rc4 版本通过多项功能增强和问题修复,显著提升了 Typst 文档开发的效率和质量。从核心的格式化、编译功能,到编辑器体验、代码分析,再到预览交互,这个版本在多个维度都带来了实质性改进。这些变化体现了 TinyMist 项目对开发者体验的持续关注,也为 Typst 生态的发展做出了重要贡献。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K