距离上次更新本文已经过去了 202 天,文章部分内容可能已经过时,请注意甄别

vscode 编辑 md 文件的时候,如果想插入图片,自带的粘贴只会粘贴到当前目录下,也没有文件重命名,很不友好。

在扩展商店里面有 mushan 的 Paste Image 插件,相比自带的,更加友好一点。但是它的配置把我弄糊涂了,简单测试了一下才明白处理的逻辑。

注意,本文编写的是对 mushan 的 Paste Image 插件的教程。

image.png

首先是安装这个插件,这个不多说,然后进入插件设置。我这里说明一下每一个设置项的作用,只列出了需要修改的配置项。

注意:该插件的粘贴图片快捷键是 CTRL+ALT+V

设置项作用示例配置说明
Base Path 基础目录 ${currentFileDir} 该项相当于粘贴文件的时候,应该把什么目录视作工作目录,最终图片路径会以这个 path 来计算相对路径;currentFileDir 就是当前工作区文件的路径,所以不需要修改这个配置。
Default Name 图片文件名 Y-MM-DD-HH-mm-ss 粘贴后的图片文件名,可以根据当前时间格式化命名。注意这里不要添加其他非格式化项,不然容易命令出错。
Name Prefix 图片文件名前缀留空该项是图片文件名的前缀,比如设置为 image-,则粘贴的图片文件名前面会带上 image-
Name Suffix 图片文件名后缀留空该项是图片文件名的后缀,设置效果同上。(文件名后缀是在文件扩展名之前的)
Path 图片文件保存位置 ${currentFileDir} 图片文件会保存的目录,根据你的需要修改;
Prefix 最终文件路径的前缀留空最终文件路径的前缀,建议设置为./
Suffix 最终文件路径后缀留空最终文件路径的后缀,不建议添加值,否则会因为扩展名被覆盖而影响解析;

根据我的需要,我需要将图片粘贴到当前 md 文件所在目录下的 img 路径中,那么我就需要修改 Path 和 Prefix 两个配置项

项目设置
Path${currentFileDir}/img/
Prefix./

如果你不设置 Prefix,最终粘贴的图片路径如下

plaintext
1
![](img/image-20240124161634.png)

对于绝大部分 markdown 软件,这个路径都能被正常识别为相对路径并访问到图片。但是对于我正在使用的 vuepress 框架而言,必须将图片路径添加上./ 他才能识别出来

plaintext
1
![](./img/image-20240124160742.png)

设置了 Prefix 之后就没有问题了!

这个插件还是很好用的,如果你发现某些设置不生效,可以重启 vscode 或者重新写入配置项试试(我就遇到过,玄学问题)。