Projects

Vex 维刻

基于 Avalonia + Prism 的跨平台 Markdown 桌面编辑器

使用说明

Vex 维刻

Vex

Vex 是一个基于 .NET 10、Avalonia 12、Prism、Semi.Avalonia 和 Ursa.Avalonia 构建的跨平台 Markdown 桌面编辑器。它聚焦 Markdown 源码编辑、实时预览、文件管理、查找替换、导出交付和复制到内容平台,适合写技术文章、产品说明、项目文档和发布草稿。

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

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

Vex 主窗口

项目定位

  • 免费开源的 Markdown 桌面写作工具,当前不走所见即所得编辑路线,而是把源码编辑和原生预览链路做稳。
  • 左侧提供文件列表和大纲,中央使用 AvaloniaEdit 编辑 Markdown,右侧使用 CodeWF.Markdown 渲染预览。
  • 视图菜单支持侧栏、大纲、文档列表、源码模式、行号、状态栏、全屏和置顶等工作区控制。
  • 文件菜单覆盖新建、打开、打开文件夹、最近文档、按编码重开、保存、另存为、导出、打印、属性、删除和关闭。
  • 导出支持 HTML、PNG、图像型 PDF 和 Word .docx,本地图片、data:image、SVG/WebP 等图片边界会随导出结果一起处理。
  • 查找替换支持大小写、整词、正则、命中计数和长文档防抖扫描。
  • 主题色、Markdown 排版主题、紧凑布局和语言切换都集中在帮助菜单下。
  • 简体中文、繁体中文、英语和日语界面与帮助文档已覆盖主要入口。
  • 首次启动引导会高亮文件、导出、段落、格式、视图、主题、侧栏、编辑区、预览区和状态栏等关键入口。
  • 发布脚本覆盖多 RID 发布、压缩包、SHA256、release manifest,并可准备 Windows MSIX 布局。

主要功能

功能 说明
Markdown 编辑 基于 AvaloniaEdit,支持智能换行、当前行高亮、源码模式、行号和常用格式插入。
原生预览 基于 CodeWF.Markdown,不依赖 WebView,支持标题、列表、表格、代码块、任务列表、本地图片、SVG 和 GIF。
文件工作流 支持新建、打开单文件、打开文件夹、最近文档、拖拽打开、保存、另存为、外部变更检测和重载。
大纲导航 从 Markdown 标题生成大纲,点击即可跳转到对应位置。
查找替换 支持大小写、整词、正则、命中计数、替换下一个和全部替换。
导出交付 支持 HTML、PNG、图像型 PDF、Word .docx 和打印预览,导出成功后可定位文件。
多语言 通过 Lang.Avalonia.Json 提供中文简体、中文繁体、英语和日语界面。
新手引导 基于 CodeWF.AvaloniaControls Guide 控件,可以定位菜单项、TabItem、编辑区和预览区。
发布打包 支持 Windows、Linux、macOS 多 RID 发布,并提供压缩包和可选 MSIX 打包脚本。

运行演示

Vex 的典型工作区是文件/大纲、源码编辑和实时预览三栏布局。

编辑和实时预览

大纲适合在长文档里快速跳转。

大纲导航

源码模式可以临时收起侧栏和预览区,专注当前 Markdown 文本。

源码模式

文件菜单集中放置打开、保存、导出和打印等高频写作动作。

文件菜单与导出

查找替换栏支持大小写、整词和正则等常用选项。

查找替换

主题色、排版主题和语言可以组合切换。

主题和语言

首次启动引导会覆盖菜单和工作区中的真实目标。

新手引导

工程组织

src/
  Vex/                         桌面应用、Shell、Workspace、Help、服务和 ViewModel
  Vex.Controls/                Vex 自定义控件
  Vex.Controls.Themes/         Vex 控件主题资源
docs/
  快速开始、更新日志、鸣谢和需求文档
scripts/
  压测、发布打包和 MSIX 打包脚本

应用层使用 Prism 做模块组合,跨模块业务消息通过 CodeWF.EventBus 传递;Markdown 预览与导出复用 CodeWF.Markdown 和本地导出服务,避免把核心写作流程绑定到 WebView。

技术栈

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

快速开始

环境要求:

  • .NET 10 SDK
git clone https://github.com/dotnet9/Vex.git
cd Vex
dotnet restore Vex.slnx
dotnet build Vex.slnx
dotnet run --project src/Vex/Vex.csproj

生成发布产物:

.\publish_vex_all.bat --package

仓库与发布