Vex 1.0.0:免费开源的 .NET + Avalonia 跨平台 Markdown 编辑器

Vex 1.0.0:免费开源的 .NET + Avalonia 跨平台 Markdown 编辑器

介绍 Vex 1.0.0,一个免费开源的 .NET + Avalonia 跨平台 Markdown 编辑器,重点展示动态编辑、实时预览、大纲跳转、源码模式、刷新预览、查找替换、主题排版、复制到公众号和新手引导。

最后更新 2026/5/24 下午3:39
dotnet9
预计阅读 9 分钟
分类
.NET Avalonia 桌面开发
专题
Avalonia
标签
C# Avalonia Markdown Vex 桌面应用

这次介绍一个新的桌面写作工具:Vex(维刻)

Vex 是基于 .NET 10 + Avalonia 12 构建的免费开源跨平台 Markdown 编辑器。它不做大而全的知识库,也不复刻成熟商业编辑器,当前主线很清楚:Markdown 源码编辑、实时预览、文件管理、导出,以及复制到内容平台

项目仓库:https://github.com/dotnet9/Vex

Release v1.0.0:https://github.com/dotnet9/Vex/releases/tag/v1.0.0

Vex 的 Slogan 是:极简之力,妙笔成章。

先看编辑体验。下面这段 GIF 用 Vex 打开本文副本,左侧继续写 Markdown,右侧实时预览;标题、引用、列表、代码块和状态栏统计都会跟着变化。

写完以后,Vex 可以把 Markdown 复制成适合微信公众号编辑器粘贴的 HTML。下面是从文件菜单选择“复制到公众号”,再粘贴到公众号图文编辑器的过程。浏览器地址栏做了遮挡处理。

不是 Typora

Vex 确实参考过 Typora 的简洁菜单、专注写作和 Markdown 文件优先,但它不是 Typora 复刻版。

Typora 的所见即所得编辑体验非常成熟,而把 Markdown 源码和最终排版无缝合在同一个编辑面里,本质上要处理光标映射、选区、撤销重做、输入法、表格、图片、代码块和跨平台文本行为。Vex 当前不走这条路线。

更现实的目标是:做一个免费开源的 .NET + Avalonia 跨平台 Markdown 桌面编辑器,把“写、看、查、导出、复制到发布平台”这条链路先做顺。

v1.0.0

v1.0.0 发布于 2026 年 5 月 24 日,是 Vex 的首个稳定版本。这个版本已经覆盖日常写作的基本闭环:

  • Markdown 源码编辑、实时预览、大纲导航、文档统计。
  • 智能列表续写、源码模式、编辑区当前行高亮。
  • 新建、打开、保存、另存为、打开文件夹、最近文档、拖拽打开、启动参数打开。
  • 文件重命名、删除、打开所在位置、外部变更检测与重载。
  • 查找替换、大小写/整词/正则匹配、命中计数和大文档防抖扫描。
  • HTML、PNG、图像型 PDF、打印预览、复制 HTML 和复制到内容平台。
  • 本地图片、SVG 栅格化、任务列表、排版主题化导出、PDF 页眉页脚。
  • 多主题、多排版主题、紧凑布局、暗色模式细节优化。
  • 简体中文、繁体中文、英语、日语四套 UI 和帮助文档。
  • 多 RID 发布、压缩包、SHA256、release manifest,以及可选 Windows MSIX 打包。

当前主界面如下:左侧是文件列表和大纲,中央是 Markdown 源码编辑区,右侧是 Avalonia 原生渲染的预览区,底部状态栏显示保存状态、编码、缩放、行列号、词数和字符数。

写作与预览

Vex 的工作区是三栏结构:

  • 左侧:文件列表与大纲导航。
  • 中间:基于 AvaloniaEdit 的 Markdown 编辑区。
  • 右侧:基于 CodeWF.Markdown 的预览区。

它没有把 Markdown 预览交给 WebView,而是沿用 CodeWF.Markdown 的 Avalonia 控件渲染路线。主题、字体、图片、表格、代码块、任务列表、SVG 和导出链路都留在桌面控件体系里处理。

长文档最需要的是大纲。Vex 会从标题结构里提取导航入口,切到“大纲”后可以直接跳转到对应段落。

只想专注源码时,可以从视图菜单切换“源码模式”。它会临时收起侧栏和预览区,退出时恢复原来的布局。

视图菜单还补了“刷新预览”,快捷键是 F5。它会强制刷新预览绑定,并给远程图片 URL 加版本查询参数,适合封面或远程配图刚更新但预览仍命中旧缓存的情况。

文件与发布

文件菜单放的是写作工具最常用的动作:新建、打开、打开文件夹、快速打开、最近文档、按编码重开、复制到内容平台、保存、另存为、属性、导出、打印和关闭。

动态看更直观。文件菜单现在会按内容完整展开,不再需要在菜单里二次滚动;打开、保存、最近文件、编码重开、复制到内容平台、导出 HTML/PNG/PDF、打印都在同一条工作流里。

几个细节比较实用:

  • 打开文件夹后,左侧文档列表可以在当前目录的 Markdown 文件之间切换。
  • 最近文档减少重复定位文件的成本。
  • 重新按编码打开保留 UTF-8、UTF-8 BOM、GB18030、Big5 等入口。
  • 复制到公众号、知乎、稀土掘金把“发布到哪里”也放进编辑流程。
  • 导出菜单支持 HTML、PNG 和 PDF;Word 入口已预留,后续稳定后再补。

对公众号作者来说,真正高频的不是“保存一个 HTML 文件”,而是写完后直接粘贴到微信公众号编辑器,并尽量保留标题、段落、引用、列表、代码块和链接样式。Vex 当前就是沿着这条路径优化。

查找替换

长文档不能只靠眼睛扫。Vex 的查找栏支持查找、替换、下一个、替换、全部替换、关闭,以及大小写、整词和正则匹配。

下面继续用本文演示:搜索 Markdown,再打开替换栏准备替换成更具体的词。查找栏会显示当前命中位置和总命中数。

大文档扫描做了防抖处理,替换路径也尽量使用 AvaloniaEdit 文档级 Replace,避免每次替换都重建整篇文本。

主题、排版和语言

外观入口放在帮助菜单下,当前包含主题色、排版主题、紧凑布局和语言设置。

主题色控制应用外壳,排版主题控制 Markdown 正文。两者分开后,可以组合出不同工作环境:浅色外壳配简洁排版,或暗色外壳配更适合代码阅读的排版主题。

多语言当前覆盖:

  • 简体中文
  • 繁体中文
  • English
  • 日本語

这部分由 Lang.Avalonia.Json、Semi.Avalonia、Ursa.Avalonia 以及 Vex 自己的帮助文档共同组成。菜单、状态栏、错误详情、快速开始、更新日志、鸣谢和关于窗口都在本地化范围内。

新手引导

Vex 也是 CodeWF.AvaloniaControls 新增 Guide 引导控件的落地项目。首次启动时显示一次,之后可从帮助菜单重新打开。

引导覆盖文件菜单、导出菜单、段落/格式/视图菜单、主题菜单、左侧文件/大纲区域、编辑区、预览区和状态栏。

最有价值的是菜单项引导。很多桌面软件入口藏在菜单或二级菜单里,普通遮罩控件只能高亮页面上已经存在的按钮;Vex 会在步骤切换时主动展开菜单,再定位里面的 MenuItem

左侧“文件/大纲”是 TabControl,引导到不同页签时需要先切换页签,再刷新高亮位置。

关于窗口展示软件名称、中文名、版本、编译时间、作者、网站和品牌信息。

技术栈

Vex 当前主要技术栈:

  • .NET 10
  • Avalonia 12.0.3
  • Prism.DryIoc.Avalonia
  • ReactiveUI.Avalonia
  • Semi.Avalonia
  • Ursa.Avalonia
  • AvaloniaEdit
  • CodeWF.AvaloniaControls
  • CodeWF.Markdown
  • CodeWF.EventBus
  • Lang.Avalonia.Json

目标框架是 net10.0net10.0-windows,运行时标识覆盖:

  • win-x64
  • linux-x64
  • linux-arm64
  • osx-x64
  • osx-arm64

Windows 发布路径启用 Native AOT,并把最低 Windows 支持平台版本设到 6.1;非 Windows RID 走 self-contained single-file 发布。publish_vex_all.bat --package 会生成压缩包、SHA256 文件和 release manifest。

Release 里还有一个兼容性调整:事件总线统一直接使用 CodeWF.EventBus.EventBus.Default,避开 DryIoc 事件总线注册路径,改善 Windows 7 启动兼容性。

构建与发布

本地开发:

dotnet build Vex.slnx

生成多平台发布产物:

.\publish_vex_all.bat --package

准备 Windows MSIX 布局或安装包:

.\scripts\package_vex_msix.ps1 -RuntimeIdentifier win-x64 -PrepareOnly

后续方向

Vex 后续不会优先挑战所见即所得实时编辑,而是继续围绕“编辑预览 + 发布复制”补基础能力:

  • 继续优化复制到微信公众号的 HTML 结构和样式兼容性。
  • 补齐知乎、稀土掘金等平台的复制样式。
  • 增加公众号移动端预览效果。
  • 改进本地图片、相对路径和复制时的资源提示。
  • 优化大纲跳转、编辑区和预览区滚动联动。
  • 增加更多排版主题,并允许保存自定义发布样式。
  • 完善 Word 导出、自动更新和安装包发布流程。
  • 继续打磨 Linux、macOS 下的字体、菜单、快捷键和打包体验。

小结

Vex 1.0.0 的重点不是复杂知识库,而是把 Markdown 桌面写作工具的基本体验打通:打开文件、写内容、看预览、按大纲跳转、查找替换、换主题、导出交付。

文件夹切换、最近文档、外部变更重载、编码选择、复制到内容平台、多语言帮助、首次启动引导、状态栏统计,这些单独看都不大,但组合起来会直接影响它能不能进入日常写作流程。

相关地址:

继续探索

延伸阅读

更多文章