Vex 維刻
Vex 是一個基於 .NET 10、Avalonia 12、Prism、Semi.Avalonia 和 Ursa.Avalonia 建構的跨平台 Markdown 桌面編輯器。它聚焦 Markdown 原始碼編輯、即時預覽、檔案管理、查找替換、匯出交付和複製到內容平台。
專案倉庫:https://github.com/dotnet9/Vex
Release v1.1.0:https://github.com/dotnet9/Vex/releases/tag/v1.1.0

專案定位
- 免費開源的 Markdown 桌面寫作工具,先把原始碼編輯與原生預覽鏈路做穩。
- 左側提供檔案列表和大綱,中央使用 AvaloniaEdit 編輯 Markdown,右側使用 CodeWF.Markdown 渲染預覽。
- 檢視選單支援側欄、大綱、文件列表、原始碼模式、行號、狀態列、全螢幕和置頂。
- 檔案選單覆蓋新建、開啟、開啟資料夾、最近文件、按編碼重開、複製到公眾號/知乎/稀土掘金、儲存、匯出、列印、屬性、刪除和關閉。
- 匯出支援 HTML、PNG、可選取文字 PDF 和 Word
.docx;PNG/PDF/Word 複用CodeWF.Markdown的MarkdownDocumentExporter,並處理本機相對圖片、data:image、HTTP(S)、SVG/GIF/WebP 等圖片邊界,PDF 正文可選取複製,PDF 和 Word 會嵌入圖片資源,離線分享後仍可查看。 - 複製到公眾號、知乎與稀土掘金會把目前 Markdown、排版主題和目標平台交給
CodeWF.Markdown的MarkdownHtmlClipboardExtensions,寫入富 HTML 剪貼簿格式並套用目前排版主題。 - 從網頁複製內容後貼到中間編輯器時,Vex 會優先讀取剪貼簿 HTML,並透過
MarkdownHtmlClipboard.Html2Markdown(htmlContent)自動轉為 Markdown;沒有 HTML 或轉換失敗時回到普通貼上。 - 查找替換支援大小寫、整詞、正則、命中計數和長文件防抖掃描。
- 主題色、Markdown 排版主題、緊湊布局和語言切換集中在幫助選單下。
- 簡體中文、繁體中文、英文和日文介面與幫助文件已覆蓋主要入口。
主要功能
| 功能 | 說明 |
|---|---|
| Markdown 編輯 | 基於 AvaloniaEdit,支援智慧換行、目前行高亮、原始碼模式、行號和常用格式插入。 |
| 原生預覽 | 基於 CodeWF.Markdown,不依賴 WebView,支援標題、列表、表格、程式碼區塊、任務列表、本機圖片、SVG 和 GIF。 |
| 檔案工作流 | 支援新建、開啟單檔、開啟資料夾、最近文件、拖放開啟、儲存、另存為、外部變更偵測和重載。 |
| 大綱導航 | 從 Markdown 標題生成大綱,點擊即可跳轉到對應位置。 |
| 查找替換 | 支援大小寫、整詞、正則、命中計數、替換下一個和全部替換。 |
| 網頁貼上 | 從瀏覽器複製內容到中間 Markdown 編輯器時,優先把剪貼簿 HTML 轉成 Markdown 後插入,並保留普通文字貼上作為 fallback。 |
| 匯出交付 | 支援 HTML、PNG、可選取文字 PDF、Word .docx 和列印預覽;PNG/PDF/Word 複用 CodeWF.Markdown 公共匯出 API,PDF 正文可選取複製,PDF/Word 會嵌入本機、data:image、HTTP(S)、SVG/GIF/WebP 圖片。 |
| 發布複製 | 複製到公眾號、知乎、稀土掘金時呼叫 CodeWF.Markdown 公共富 HTML 剪貼簿 API,Windows HTML Format 使用 UTF-8 CF_HTML 位元組資料,並套用目前排版主題。 |
| 多語言 | 透過 Lang.Avalonia.Json 提供簡體中文、繁體中文、英文和日文介面。 |
| 新手引導 | Guide 步驟可以定位選單項、TabItem、編輯區和預覽區。 |
| 發布打包 | 支援 Windows、Linux、macOS 多 RID 發布,並提供壓縮包與可選 MSIX 打包腳本。 |
執行示範







技術棧
- .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