Closed mobeicanyue closed 5 months ago
本插件没有 ctrl+v 相关的快捷键。有一个粘贴图片功能,但默认的快捷键是 ctrl+alt+v。 https://github.com/0x-jerry/vscode-hexo-utils/blob/eb11d51a8a65d683a3d8b6d9684dfda3128b91ec/package.json#L230-L237
看你的截图,应该是 vscode 之前更新的一个功能:https://code.visualstudio.com/updates/v1_86#_paste-a-url-to-automatically-create-a-markdown-link
本插件没有 ctrl+v 相关的快捷键。有一个粘贴图片功能,但默认的快捷键是 ctrl+alt+v。
看你的截图,应该是 vscode 之前更新的一个功能:https://code.visualstudio.com/updates/v1_86#_paste-a-url-to-automatically-create-a-markdown-link
你好,好像使用ctrl+alt+v复制进去并没有正确匹配图片后缀格式,比如复制 .webp 生成的是 .png
const suffixes: string[] = ['.jpg', '.jpeg', '.png', '.gif', '.svg', '.webp', '.ico', '.heic', '.heif'];
let name = dayjs().format('YYYY-MM-DDTHHmmss');
// 如果选择文本且选择的文本不包含特殊字符,则以选择文本为名称
if (selectText != null && !/[\/\\:*?<>|\s]/.test(selectText)) {
name = selectText;
}
// 获取文件扩展名
const ext = parsed.ext.toLowerCase();
// 检查文件扩展名是否在支持的后缀列表中,如果是,则使用该后缀
if (suffixes.includes(ext)) {
name += ext;
} else {
// 否则默认使用 .png 后缀
name += '.png';
}
这样可以吗
不可以,因为写 markdown 的时候,图片的描述一般不会是路径。而且这个插件是用的和 vscode-paste-image 一样的方式来写入新的图片,写入的新的图片和原来的图片,理论上是两张不一样图片,而且写入的文件格式是固定的 png 格式。
// 获取文件扩展名
const ext = parsed.ext.toLowerCase();
这里获取的 ext 也不是图片的后缀,而是当前编辑的 markdown 文件的后缀
在研究了这个问题之后,目前 vscode 提供的 Clipboard api 无法解决这个问题,尝试用其它方案,但需要引入 native addon,代价过大,且不易维护。因此不考虑支持这种情况。但是你可以尝试修改 vscode 的 markdown.copyFiles.destination
配置,来达到类似的效果。
"markdown.copyFiles.destination": {
"/source/_posts/**/*": "/source/_posts/${documentBaseName}/"
}
markdown.copyFiles.destination
支持多种变量,也很方便配置
Describe the bug 我记得一个星期前还可以直接 ctrl + v 复制图片,到目录下
To Reproduce
ctrl + v 复制图片
Expected behavior ctrl + v 复制图片,图片可以直接呈现 markdown 图片形式
Plugin version(please complete the following information): v0.4.1