FM
FM 工具集 VSCode 扩展,整合了多个常用 Markdown / 写作工具功能。一次安装即可使用全部能力,配置统一在 fm.* 命名空间下。
功能一览
| 功能 |
说明 |
命令 |
快捷键 |
入口 |
| 复制代码引用 |
选中代码后,将「绝对路径: 起始行 - 结束行」复制到剪贴板 |
FM: Copy Code Reference(fm.copyCodeReference) |
— |
Hover 选中区域、右下状态栏按钮 |
| 粘贴图片到 GitHub |
从剪贴板读取图片,上传到配置的 GitHub 仓库,并在光标处插入远程 Markdown 图片链接 |
FM: 粘贴图片(fm.pasteImage) |
Alt+A |
编辑器右键菜单 |
| 上传本地图片 |
将 Markdown 中的本地图片路径上传到 GitHub,并替换为远程链接 |
FM: 上传本地图片到 GitHub(fm.uploadLocalImage) |
— |
编辑器右键菜单(文档含本地图片时显示) |
| 粘贴 URL |
将剪贴板 URL 转为 Markdown / rst 链接;有选中文本则包裹为链接,无选中则抓取页面标题后插入 |
FM: Paste URL(fm.pasteUrl) |
Ctrl+Alt+P |
命令面板 |
| 分享为 HTML |
将 Markdown 渲染为带样式的 HTML(含 Mermaid),上传后返回可分享链接;也可直接分享 HTML 文档 |
FM: 分享为 HTML(fm.shareAsHtml)
FM: 分享 HTML(fm.shareHtml) |
— |
编辑器右键菜单 |
| Markdown 字数统计 |
打开 Markdown 文档时,左下状态栏显示当前段落与全文的中文字数(c:段落 a:全文) |
— |
— |
左下状态栏(自动) |
| Markdown 自定义预览 |
在 VSCode 内预览 Markdown,支持 TOC 目录、主题切换、Mermaid 渲染 |
FM: Markdown Preview(fm.markdownPreview)
FM: Markdown Preview to the Side(fm.markdownPreviewSide) |
Ctrl+Shift+V / Ctrl+K V (macOS:Cmd+Shift+V / Cmd+K V) |
编辑器右键菜单 |
| 文件上传面板 |
在侧边栏拖拽或选择任意类型文件上传到 GitHub,支持复制链接 / Markdown、插入编辑器 |
FM: 打开文件上传面板(fm.openImageUploadPanel) |
— |
活动栏 FM 图标 →「文件上传」视图 |
功能详情
复制代码引用
| 项目 |
内容 |
| 触发方式 |
选中代码后,hover 选中区域或点击右下状态栏复制按钮 |
| 复制格式 |
绝对路径: 起始行 - 结束行 |
| 相关配置 |
fm.copilot.enable(默认 true)控制按钮显隐 |
粘贴图片 / 上传本地图片
| 项目 |
内容 |
| 粘贴图片 |
复制图片到系统剪贴板后执行命令,上传至 GitHub 并插入 Markdown 地址 |
| 上传本地图片 |
光标位于含本地图片路径的 Markdown 时,右键上传并替换为远程链接 |
| 平台支持 |
Windows / macOS / Linux(Linux 需安装 xclip) |
| 相关配置 |
见下方「配置一览」中的 fm.pasteImage.* |
粘贴 URL
| 项目 |
内容 |
| 有选中文本 |
替换为 Markdown 链接;.rst 文件替换为 `文本 <链接>`_ |
| 无选中文本 |
先插入占位符,异步抓取页面标题后替换为带标题的 Markdown 链接 |
分享为 HTML
| 项目 |
内容 |
| Markdown 分享 |
渲染为带样式的 HTML,含 Mermaid 图表支持,上传后返回在线链接 |
| HTML 分享 |
直接对当前 HTML 文档执行分享 |
| 本地副本 |
fm.share.generateLocalHtml(默认 false)开启后,会在 Markdown 同路径额外生成 .html 文件 |
Markdown 自定义预览
| 项目 |
内容 |
| 预览方式 |
当前标签页预览,或侧边分屏预览 |
| TOC 目录 |
可配置显示位置(左 / 右)与开关 |
| 主题 |
跟随 VSCode 主题,或强制浅色 / 深色 |
| Mermaid |
预览内自动渲染 Mermaid 代码块 |
文件上传面板
| 项目 |
内容 |
| 上传方式 |
拖拽文件到面板、点击选择文件(支持多选)、粘贴剪贴板图片 |
| 文件类型 |
任意类型;图片上传至 images/{hash}.{ext},其他文件上传至 files/{hash}/{filename} |
| 上传后操作 |
复制链接、复制 Markdown(图片为 ![](),其他为 [文件名]())、插入当前编辑器、浏览器打开 |
| 相关配置 |
复用 fm.pasteImage.*(GitHub Token、仓库、URL 前缀) |
配置一览
| 配置项 |
类型 |
默认值 |
说明 |
fm.copilot.enable |
boolean |
true |
启用/禁用代码引用按钮 |
fm.pasteImage.githubToken |
string |
"" |
GitHub Token(需 repo 权限) |
fm.pasteImage.githubRepo |
string |
fujinxiang/statics |
目标仓库,格式 owner/repo 或完整 URL |
fm.pasteImage.prefix |
string |
"" |
图片 URL 前缀,留空自动使用 jsDelivr CDN |
fm.share.generateLocalHtml |
boolean |
false |
是否在本地生成 HTML 文件 |
fm.markdownPreview.toc |
boolean |
true |
预览是否显示 TOC 目录 |
fm.markdownPreview.tocPosition |
string |
right |
TOC 显示位置:right / left |
fm.markdownPreview.theme |
string |
auto |
预览主题:auto / light / dark |
| |