这几天看到一个很不错的项目: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)