马克传图
马克传图 是一款 VS Code 扩展,让你在 Markdown 编辑器中复制图片或截图后,按一个快捷键就能自动保存图片并插入 Markdown 图片链接。
它能做什么
- 在 Markdown 文件中复制图片或截图,按
Ctrl+B 一键上传。
- 支持两种上传方式:保存到本地,或通过 SFTP 上传到服务器。
- 上传前自动压缩图片,支持 PNG / JPEG / WebP / GIF(含动图)。
- 自动生成图片文件名和目录,支持丰富的占位变量。
- 保存路径和 Markdown 展示路径可以分别配置,仅前缀和基础路径不同,目录、文件名和扩展名保持一致。
- 无 WebView、无 Activity Bar 图标、无 Status Bar 文字,只在需要时响应快捷键。
使用前提
- VS Code 版本
>= 1.101.0。
- 已安装并启用
随易商店 扩展(chensuiyi.suiyi-shop),用于可视化配置。
- 使用 SFTP 上传时,服务器需要开启 SSH/SFTP 访问。
- 使用 Linux 截图粘贴时,需要安装
xclip(X11)或 wl-paste(Wayland)。
第一次使用
- 打开任意 Markdown 文件,让编辑器获得焦点。
- 复制一张本地图片,或使用截图工具截图到剪贴板。
- 按
Ctrl+B(Mac 为 Cmd+B)触发上传。
- 扩展会自动把图片上传到默认方式对应的位置,并在光标处插入
。
首次使用前,建议通过命令面板执行 "马克传图:打开设置",配置上传方式、保存路径和展示路径前缀。使用 SFTP 上传前,执行 "马克传图:配置 SFTP 连接" 输入服务器地址、端口、用户名和密码。
打开设置
- 按
Ctrl+Shift+P(Mac 为 Cmd+Shift+P)打开命令面板。
- 输入并执行 "马克传图:打开设置"。
- 在
随易商店 弹出的配置面板中修改配置。
配置 SFTP 连接
SFTP 的服务器地址、端口、用户名和密码不在设置面板中展示,而是通过命令逐步输入并加密保存。
- 按
Ctrl+Shift+P(Mac 为 Cmd+Shift+P)打开命令面板。
- 输入并执行 "马克传图:配置 SFTP 连接"。
- 按提示依次输入主机、端口、用户名和密码。
- 配置会保存在 VS Code 内部的加密存储中,只保留一份 SFTP 连接配置。
各项配置说明
上传方式
选择粘贴图片时使用的上传方式:
| 方式 |
说明 |
local |
保存到本地。 |
sftp |
保存到远程服务器。 |
文件名模板
生成图片文件名的模板,不含扩展名。扩展名会根据实际图片类型自动追加。
默认值:${hash}
示例:
${hash} → b94d27b9934d3e08
${mdname}_${timestamp} → readme_1720280000000
${filename} → 使用原始文件名(复制文件时有效)
目录模板
生成图片保存目录的模板。
默认值:${YY}${MM}${DD}
示例:
${YY}${MM}${DD} → 20260706
assets/${YY}/${MM} → assets/2026/07
目录模板会同时用于本地保存路径和 Markdown 展示路径,仅前缀不同。
前缀名
Markdown 中展示路径的前缀,留空表示使用相对路径。本地和 SFTP 两种上传方式共用同一个前缀。
示例:
- 留空:
20260706/xxx.png
- 填
https://cdn.example.com:https://cdn.example.com/20260706/xxx.png
本地路径
图片保存在工作区中的基础路径,不支持模板变量,留空表示保存到工作区根目录。最终保存路径会在此基础上追加目录名和文件名。
示例:
- 留空:
/workspace/20260706/xxx.png
- 填
images:/workspace/images/20260706/xxx.png
远程路径
图片上传到 SFTP 服务器的基础路径,不支持模板变量。最终保存路径会在此基础上追加目录名和文件名。SFTP 连接信息(主机、端口、用户名、密码)通过 "马克传图:配置 SFTP 连接" 命令单独设置,不显示在配置面板中。
默认值:/var/www/images
启用压缩
上传前是否先压缩图片。关闭后,所有图片按原始大小上传。
默认值:true
最大宽度 / 最大高度
图片尺寸超过任一限制时,会按原比例缩小到限制范围内。0 表示不限制。
默认值:1920
压缩质量
JPEG / WebP 的压缩质量,数值越小体积越小,范围 1-100。
默认值:85
GIF 有损压缩
GIF 动图的有损压缩强度,范围 1-200,建议 30-60。数值越大压缩越强,但噪点越明显。
默认值:40
路径模板变量
文件名模板和目录模板支持以下变量,本地路径和远程路径不支持模板变量:
| 变量 |
说明 |
${filename} |
原始文件名(复制文件时有效)。 |
${mdname} |
当前 Markdown 文件名(无扩展名)。 |
${folderName} |
当前 Markdown 所在文件夹名。 |
${folderName,1} |
当前 Markdown 所在文件夹的父级文件夹名,数字表示向上层级。 |
${path} |
Markdown 文件相对工作区根目录的路径(不含 .md 后缀)。 |
${hash} |
图片 sha256 前 16 位。 |
${timestamp} |
上传时间戳。 |
${YY} |
年份后两位,如 26。 |
${YYYY} |
完整年份,如 2026。 |
${MM} |
月份,如 07。 |
${DD} |
日期,如 06。 |
${hh} |
12 小时制小时。 |
${HH} |
24 小时制小时。 |
${mm} |
分钟。 |
${ss} |
秒。 |
${mss} |
毫秒。 |
${rand,min,max} |
指定范围内的随机整数,如 ${rand,10,99} 生成 10 到 99。 |
快捷键
| 快捷键 |
命令 |
说明 |
Ctrl+B / Cmd+B |
马克传图:上传图片 |
仅在 Markdown 编辑器中生效。 |
常见问题
提示"请复制图片后再粘贴上传"
说明剪贴板中没有读取到图片。请确认:
- 复制的是图片文件,或截图已保存到剪贴板。
- Linux 用户已安装
xclip(X11)或 wl-paste(Wayland)。
提示"SFTP 配置不完整"
上传方式设置为 sftp,但缺少主机、用户名或密码。请补全配置,首次上传时会提示输入密码。
提示"请先在 Markdown 编辑器中聚焦"
快捷键只在 editorLangId == markdown 时生效。请打开或切换到 Markdown 文件后再按快捷键。
本地模式保存路径不对
检查 local.basePath 是否以工作区根目录为基准,目录模板和文件名模板是否正确解析。
价格与授权
- 扩展依赖
随易商店 进行授权管理。
- 未授权时可试用有限次数。
- 购买后在
随易商店 中点击 本机一键启用,或手动把注册码填入 VS Code 配置 markdownUpload.registrationCode。
联系我们
- 官方客服微信:
chensuiyime
- 官网地址:
https://yicode.tech