そうですね、それが一番筋が通る判断です。
なぜ「プレビュー不要」が正解か
-
思想として一貫する
Cosense は元々「書いた瞬間に整う」道具で、別画面で確認する文化がない。プレビューを足すのは Markdown プレビュー文化への譲歩であって、Cosense派には不要、Markdown派にはVSCode純正のMarkdown Previewで十分。どっちのユーザーも喜ばない機能になる。
-
小ささが強み
現状400行。プレビューを足すと最低でも数千行(パーサ+レンダラ+WebView同期)。バグ表面積が10倍になり、個人プロジェクトの維持コストを破壊する。「軽い・壊れない・速い」が VSCode 拡張として効く差別化になっているのを、自分で潰すのは惜しい。
-
代替がある
.smd の中身は8割Markdownなので、本当にレンダリングが要る場面は pandoc でも marked のCLIでも外で済む。ツールはひとつのことを上手くやるの原則に合う。
「プレビュー不要」路線で次に効く投資
プレビューを切ったぶんのリソースを、書き心地に全振りする方針で並べると:
- インライン装飾の強化(前メッセージで触れたやつ)
# [ ] バックティック を薄く、中身を強く。書きながら整って見える。VSCode の DecorationType だけで完結、軽い。
[ で既存ページ名インクリメンタル補完
vscode.languages.registerCompletionItemProvider で実装。同ディレクトリの .smd を舐めるだけ。100行程度。
- バックリンク
ステータスバーに「このページを参照しているページ: 3」と出して、クリックでQuickPick表示、で十分。サイドバーView作るのは過剰。これも200行程度で済む。
- 行内のリンク先プレビュー
ホバーで該当 .smd の冒頭3行を表示。HoverProvider で実装。これは軽い割に効く。
この4つで、**「プレビューが無いことが気にならないどころか、無いほうが速い」**状態になります。Obsidianを倒すんじゃなく、「VSCodeで文章を書く一番気持ちいい道具」というニッチで一位を取る、という勝ち筋が見えてきます。
一個だけ反論の余地
「プレビュー不要」を貫く場合、README に明示的に書いておくのが大事です。「プレビューはありません。VSCode の .md 互換が必要なら .md をお使いください」と書いておかないと、「プレビューが無いから星1」みたいなレビューが付きがち。思想を明文化することは機能と同じくらい重要、というのは個人ツール運営の鉄則です。
そうですね、それが一番筋が通る判断です。
なぜ「プレビュー不要」が正解か
思想として一貫する
Cosense は元々「書いた瞬間に整う」道具で、別画面で確認する文化がない。プレビューを足すのは Markdown プレビュー文化への譲歩であって、Cosense派には不要、Markdown派にはVSCode純正のMarkdown Previewで十分。どっちのユーザーも喜ばない機能になる。
小ささが強み
現状400行。プレビューを足すと最低でも数千行(パーサ+レンダラ+WebView同期)。バグ表面積が10倍になり、個人プロジェクトの維持コストを破壊する。「軽い・壊れない・速い」が VSCode 拡張として効く差別化になっているのを、自分で潰すのは惜しい。
代替がある
.smdの中身は8割Markdownなので、本当にレンダリングが要る場面はpandocでもmarkedのCLIでも外で済む。ツールはひとつのことを上手くやるの原則に合う。「プレビュー不要」路線で次に効く投資
プレビューを切ったぶんのリソースを、書き心地に全振りする方針で並べると:
#[]バックティック を薄く、中身を強く。書きながら整って見える。VSCode のDecorationTypeだけで完結、軽い。[で既存ページ名インクリメンタル補完vscode.languages.registerCompletionItemProviderで実装。同ディレクトリの.smdを舐めるだけ。100行程度。ステータスバーに「このページを参照しているページ: 3」と出して、クリックでQuickPick表示、で十分。サイドバーView作るのは過剰。これも200行程度で済む。
ホバーで該当
.smdの冒頭3行を表示。HoverProviderで実装。これは軽い割に効く。この4つで、**「プレビューが無いことが気にならないどころか、無いほうが速い」**状態になります。Obsidianを倒すんじゃなく、「VSCodeで文章を書く一番気持ちいい道具」というニッチで一位を取る、という勝ち筋が見えてきます。
一個だけ反論の余地
「プレビュー不要」を貫く場合、README に明示的に書いておくのが大事です。「プレビューはありません。VSCode の
.md互換が必要なら.mdをお使いください」と書いておかないと、「プレビューが無いから星1」みたいなレビューが付きがち。思想を明文化することは機能と同じくらい重要、というのは個人ツール運営の鉄則です。