2 ポイント 投稿者 woojinim64 1 일 전 | まだコメントはありません。 | WhatsAppで共有

VS CodeとWindsurfでMarkdownを書く際に発生する細かな作業を減らすために作った拡張機能

クリップボードのコンテキスト認識、双方向プレビュー、文書分析機能を1つのパッケージに統合
WindsurfはVS Codeフォークベースのため、同一APIで両方をサポート


作った理由

Web/Wordからコピーしたコンテンツが壊れたHTMLまたはplain textとして入ってくる問題
表データ入力時に外部変換サイトへ依存していた
プレビューとエディタ間で位置同期がないことによるスクロール探索コスト


主な機能

  • Smart Paste

HTML → Markdown: TurndownエンジンにGFM表・コードブロックルールのオーバーライドを適用
TSV自動変換: Excel/Google Sheetsからコピーした表を正規表現ベースのパイプラインでMarkdownテーブルに変換
選択テキストの上にURLを貼り付けると [selected](url) 形式で自動ラップ

  • Bi-directional Preview

変更時に全体を再レンダリング → KaTeXのちらつきやスクロールジャンプの問題が発生
インクリメンタルアップデート(incremental DOM patch)方式に変更
コンパイル段階で各HTMLノードに data-line 属性を注入してソース行をマッピング
プレビュークリック時に postMessage でエディタへ行番号を渡す → カーソル移動

  • Document X-Ray(サイドバーダッシュボード)

日英混在文書の文字数/読了時間を推定(英語 200wpm、日本語 500文字/分基準)
見出しツリーのパースに基づくアウトライン + クリックナビゲーション
文書内の外部リンクに対する非同期404ヘルスチェック


現在の対応範囲

リンター/フォーマッター統合
KaTeX、Mermaidレンダリング
HTML/PDFエクスポート


今後の計画

大規模文書のパフォーマンス最適化(incremental parsing)
AIアシスト連携(要約、文章校正)
Obsidian Vault互換モード


技術メモ

VS Code Extension APIのWebviewはエディタと分離されたサンドボックス
双方向通信時にデバウンスやメッセージバッチングがないと大きな文書で性能低下が発生
アーキテクチャ設計によって同じ機能でもパフォーマンス差が大きい


リンク

GitHub: https://github.com/RAKKUNN/Marksmith
Page: https://rakkunn.github.io/MarkSmith/


たくさんのフィードバックとレビューをお願いします!!
ありがとうございます。

まだコメントはありません。

まだコメントはありません。