提问人:Lance 提问时间:11/1/2023 更新时间:11/1/2023 访问量:51
如何从浏览器/ 维基百科HTML表格复制/粘贴文本并将其保存为VSCode中的HTML?
How to copy/paste text from browser / Wikipedia HTML table and save it as HTML in VSCode?
问:
我知道剪贴板必须有复制文本的 HTML 副本 (CMD+C),因为当我从维基百科复制像这个表这样的 HTML 表格时,它会粘贴到电子表格 (CMD+V) 中,就好像它知道 HTML 数据一样:
我如何在 VSCode 中执行与 Google 表格相同的操作?也就是说,我想将我复制到 VSCode 的原始 HTML 粘贴到 VSCode 中,我该怎么做?我想我可以右键单击检查元素并复制外部 HTML,但有没有更直接的方法?
答:
TL;DR:使用这个:https://marketplace.visualstudio.com/items?itemName=d3v.pastespecial
更长的答案:
没错,剪贴板存储了多种格式的复制数据,例如纯文本和 HTML,正如您在 Google 表格示例中演示的那样。
在浏览器上下文中,您可以使用 Clipbopard API 访问此数据,但出于安全原因,这需要由用户操作触发。
此演示将通过安全连接在 Chrome 中运行:
document.addEventListener('click', async () => {
try {
const clipboardItems = await navigator.clipboard.read();
for (const clipboardItem of clipboardItems) {
for (const type of clipboardItem.types) {
if (type === 'text/html') {
const blob = await clipboardItem.getType(type);
const text = await new Response(blob).text();
console.log('HTML content from clipboard:', text);
}
}
}
} catch (err) {
console.error('Failed to read clipboard:', err);
}
});
粘贴到 VSCode 时,无论剪贴板上有什么内容,它都会始终粘贴纯文本。
这里有一个问题在这里讨论:https://github.com/Microsoft/vscode/issues/57577
从上一条评论中可以看出,目前对实现直接粘贴 HTML 功能的建议是使用以下扩展名:https://marketplace.visualstudio.com/items?itemName=d3v.pastespecial
安装扩展后,将一些文本从 Web 浏览器复制到剪贴板,然后在 VS Code 中点击 + + 并选择 HTML 源,HTML 将粘贴到编辑器中。CtrlShiftV
我刚刚尝试了一下,它在 Linux 上运行良好。扩展页面说它也支持 Windows,但看起来 macOS 支持有限。
编辑:射击!看起来你在 Mac 上。我想这行不通,在这种情况下,右键单击检查元素并复制外部 HTML 是(可悲的)要走的路。
评论