这几天看到一个很不错的项目:https://github.com/telesoho/vscode-markdown-paste-image/

但是在Windows下某些功能出了问题,于是乎我提了个issue: https://github.com/telesoho/vscode-markdown-paste-image/issues/44

根据作者的回复,发现powershell获取Html的剪切板会出问题,貌似是个bug。所以我们要解决它(确信)。

由于我不用Windows和Mac,目前只完成了Linux中把HTML转换为Markdown的功能。我曾经尝试过在Windows中使用powershell去获取剪贴板中的内容,但是当时windows中有一个bug,如果剪贴板内容中有中文或日文字符时,将剪贴板中的文本转换为UTF编码会出现非法字符,导致无法取出正确的剪贴板内容,所以就放弃了。

目前如果在windows下想使用HTML转换为Markdown的功能,可以通过直接拷贝HTML的代码,然后用插件粘贴到markdown里,插件会判断粘贴的文本中是否带有html的tag的标记,如果有它就会尝试转换。

测试

首先复制一段浏览器中带中文的的富文本,执行命令:

Get-Clipboard -TextFormatType Html

果然有问题:

尝试解决

第一时间想到了字符集的问题,果断:

chcp 65001

(上面是将活动页的编码改为UTF-8)

但是无果,还是一样。

灵机一动

这两天正好在写WPF,之前也写过Clipboard,于是乎搜。问题解决:

Add-Type -Assembly PresentationCore
[Windows.Clipboard]::GetData([Windows.DataFormats]::Html)

Reference:

最后修改:2021 年 08 月 04 日 12 : 05 AM
真的不买杯奶茶嘛....qwq