Vex 1.0.0:無料でオープンソースの .NET + Avalonia クロスプラットフォーム Markdown エディター

Vex 1.0.0:無料でオープンソースの .NET + Avalonia クロスプラットフォーム Markdown エディター

Vex 1.0.0 を紹介します。無料でオープンソースの .NET + Avalonia クロスプラットフォーム Markdown エディターです。動的編集、リアルタイムプレビュー、アウトラインジャンプ、ソースコードモード、プレビュー更新、検索と置換、テーマ設定、WeChat公式アカウントへのコピー、初心者ガイドを重点的に紹介します。

最終更新 2026/05/24 15:39
dotnet9
読了目安 5 分
カテゴリ
.NET アバロニア デスクトップ開発
テーマ
アバロニア
タグ
C# アバロニア 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 のスローガンは:「極簡之力、妙筆成章」(極簡の力、妙筆は文章を成す) です。

まず編集体験を見てみましょう。次の GIF は Vex でこの記事のコピーを開き、左側で Markdown を書き続け、右側でリアルタイムプレビューを表示しています。見出し、引用、リスト、コードブロック、ステータスバーの統計情報も変化します。

書き終えたら、Vex は Markdown を微信公号エディターに貼り付け可能な HTML にコピーできます。以下はファイルメニューから「公号にコピー」を選択し、微信公号の記事エディターに貼り付ける過程です。ブラウザのアドレスバーは隠してあります。

Typora ではない

Vex は確かに Typora のシンプルなメニュー、執筆への集中、Markdown ファイル優先の考え方を参考にしていますが、Typora の再現版ではありません。

Typora の WYSIWYG 編集体験は非常に成熟していますが、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、リリースマニフェスト、オプションの Windows MSIX パッケージ。

現在のメインインターフェースは以下の通りです:左側がファイルリストとアウトライン、中央が Markdown ソース編集エリア、右側が Avalonia ネイティブレンダリングのプレビューエリア、下部のステータスバーに保存状態、エンコーディング、ズーム、行番号と列番号、単語数、文字数が表示されます。

執筆とプレビュー

Vex のワークスペースは 3 カラム構造です:

  • 左側:ファイルリストとアウトラインナビゲーション。
  • 中央: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.0 および net10.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 ファイル、リリースマニフェストを生成します。

リリースには互換性調整も含まれています:イベントバスは一律で 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 は今後、WYSIWYG リアルタイム編集に優先的に挑戦するのではなく、「編集プレビュー+公開コピー」を軸に基本機能を補完していきます:

  • 微信公号にコピーする際の HTML 構造とスタイル互換性の継続的な最適化。
  • 知乎、稀土掘金などのプラットフォーム向けコピースタイルの追加。
  • 公号のモバイルプレビュー効果の追加。
  • ローカル画像、相対パス、コピー時のリソースヒントの改善。
  • アウトラインジャンプ、編集エリアとプレビューエリアのスクロール連動の最適化。
  • タイポグラフィテーマの追加とカスタム公開スタイルの保存機能。
  • Word エクスポート、自動更新、インストールパッケージの公開フローの完成。
  • Linux、macOS でのフォント、メニュー、ショートカットキー、パッケージング体験の継続的な改良。

まとめ

Vex 1.0.0 の重点は複雑なナレッジベースではなく、Markdown デスクトップライティングツールの基本的な体験を整えることです:ファイルを開く、内容を書く、プレビューを見る、アウトラインでジャンプする、検索と置換、テーマを変える、エクスポートして納品する。

フォルダー切り替え、最近のドキュメント、外部変更の再読み込み、エンコーディング選択、コンテンツプラットフォームへのコピー、多言語ヘルプ、初回起動ガイド、ステータスバーの統計情報——これらは単体では小さく見えますが、組み合わさることで日常の執筆フローに組み込めるかどうかに直接影響します。

関連アドレス:

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2026/05/24

CodeWF.AvaloniaControls に新しい Guide ガイドコントロールを追加:AtomUI Tour から Vex への実装

CodeWF.AvaloniaControls に追加された Guide ガイドコントロールを紹介し、マスクハイライト、ポップアップの位置決め、動的メニュー MenuItem ガイド、非モーダルヒント、TabItem 切り替え、および Vex での初回起動ガイドの実装に重点を置いています。

続きを読む
同じカテゴリ / 同じタグ 2026/05/18

枝见 Zhijian:Avalonia を使用した Markdown マインドマップエディター

この記事では、Avalonia ベースのローカルマインドマップエディター「枝见 Zhijian」を紹介します。空の新規作成、フォルダ読み込み、正確な初心者ガイド、macOS ショートカットキー対応、アウトライン/Markdown/マインドマップの同期、ノードメモ、ミニマップ、ズーム、キャンバスドラッグ、Markdown/OPML/XMind ファイルの交換をサポートしています。

続きを読む
同じカテゴリ / 同じタグ 2026/05/16

CodeWF.Markdown:Avalonia 12 ベースの Markdown レンダリングコントロール

この記事では、CodeWF.Markdown のリポジトリアドレス、NuGet インストール方法、フルパッケージライン、Lite パッケージライン、リアルタイム編集プレビュー、タイポグラフィテーマ、コードハイライト、画像プレビュー、数式、複数ビューワーオーバーレイ、インクリメンタルレンダリング機能について紹介します。

続きを読む
同じカテゴリ / 同じタグ 2026/05/16

CodeWF Toolbox:Avalonia + Prism で作られた開発者ツールボックス

この記事では、CodeWF Toolbox の既存機能について重点的に紹介します。変換、開発、セキュリティ、Web、メディア、ネットワーク、テキスト、データ、ログリーダー、国際化リソース管理、および Avalonia + Prism のモジュール化された構成方法を含みます。

続きを読む