问题
开发者和技术写作者在 Excalidraw 上画技术图表、做演示时,粘贴的代码"appears as plain text without any formatting",需要手动改等宽字体、画背景框;同时"我们无法高亮段落中的单词",只能整段设置样式,做演示时无法突出重点。这些是 Excalidraw 仓库里跨越 2020-2025 年的老 issue:单字着色请求获 143 分 65 评论,富文本请求获 182 分 50 评论,代码块请求在 2025 年仍在提出,多年未解决。用户只能用分隔符等变通方案,体验"really annoying"。
目标用户
开发者、技术写作者、做技术演讲的工程师——需要在画布上同时呈现图表、代码和带样式的文字。Excalidraw 是用户基数很大的开源项目,这些 issue 的高互动(合计 400+ 赞)说明有相当规模的活跃重度用户未被满足,但无付费习惯。
解决方案
核心功能
- 智能粘贴:从 VS Code/IntelliJ 等编辑器复制代码时自动识别,生成带语法高亮的代码块元素(接入 Prism.js 或 Highlight.js)
- 代码块卡片:标题 + 等宽字体 + 背景容器 + 可选行号,作为画布一等公民
- 富文本:基于 Lexical(gzip 29.79KB,signals 认为其平衡了功能与体积),支持段落内部分文字加粗、高亮、单字着色
- 演示模式:面向做技术分享的用户,突出"highlight specific parts of text"的场景
AI 的角色:较轻——粘贴内容的意图识别(代码/普通文本/Markdown)、编程语言自动检测与高亮方案选择;核心价值仍在编辑器工程而非模型能力。
为什么是现在
这些需求从 2020 年积累至今未被官方解决,讨论中已出现可行的技术路径:轻量富文本编辑器 Lexical(gzip 29.79KB)和成熟的语法高亮库 Prism.js/Highlight.js,使小团队实现成本显著下降,缺口与工具成熟度同时到位。
MVP 范围
第一版做一个网页白板:无限画布、从 VS Code/IntelliJ 粘贴代码自动生成语法高亮代码块(标题、等宽字体、背景、行号)、段落内文字加粗/高亮/着色、简单演示模式。不做:实时多人协作、代码可运行执行、手绘风格图形库、导出生态——这些留给后续版本。
风险
在位风险:Excalidraw 开源且迭代活跃,官方随时可能实现同样功能(issue 讨论中已点名 Lexical、Prism.js 等方案),差异化窗口有限。付费风险:signals 显示用户付费意愿均为 none,且习惯于免费工具。迁移成本:白板类产品切换成本高,纯"补齐两个功能"可能不足以让用户离开现有工作流。技术风险:白布 + 富文本 + 粘贴检测的工程量对 1-3 人团队不小,协作等进阶功能更难跟上。
已有产品
| 产品 | 定位 | 价格 |
|---|---|---|
| Excalidraw | 开源白板,signals 显示其缺少代码块与富文本能力,这正是切入缺口,但它随时可能官方补齐 | — |
信号证据
这张卡片依据的原始讨论。摘录保持原文,点“原文”查看上下文。
GitHub Issues · excalidraw/excalidraw9月29日功能请求▲ 227 条评论
“When users paste code into Excalidraw, it appears as plain text without any formatting, requiring manual styling to create the appearance of a code block.”
Excalidraw lacks native code block support with syntax highlighting, so pasted code appears as unformatted plain text that users must manually style.原文
GitHub Issues · excalidraw/excalidraw4月30日功能请求▲ 254 条评论
“i think it would be wonderful if we have code blocks in excalidraw just like a card with a title and code block with syntax highlighting either running code (the first option could be js that can run native)”
Excalidraw lacks code block elements (a card with a title and syntax-highlighted, runnable code) that users want on their canvas.原文
GitHub Issues · excalidraw/excalidraw6月15日功能请求▲ 3617 条评论
“As an extensive Excalidraw user I miss this feature specially when it comes creating presentations as I need to highlight specific parts of text or style them differently.”
Excalidraw users want rich text editing (styling/highlighting parts of text differently) when creating presentations.原文
GitHub Issues · excalidraw/excalidraw5月3日功能请求▲ 18250 条评论
“Currently we can't highlight words in a paragraph. That can be really annoying because it keeps me from making my text more readable.”
用户无法高亮、加粗或给段落中的部分文字着色,只能对整段文字设置样式。原文
GitHub Issues · excalidraw/excalidraw3月29日功能请求▲ 14365 条评论
“I often want to change a color of a single word in text. That's not currently possible.”
I often want to change a color of a single word in text. That's not currently possible.原文