如何在VS Code中复制格式化代码到剪贴板

41
在Visual Studio Code中,是否可以复制带有语法高亮的选定代码到剪贴板?我想要能够将其粘贴到Word文档或电子邮件中。
普通的Visual Studio默认情况下会执行此操作(它将文本和RTF格式放在剪贴板上)。
我发现我可以“切换开发人员工具”并找到包含代码的div(类为“view-lines”),因此可能有一种方法可以使用该html块,但是我没有看到一种简单的方法将格式化的代码复制并粘贴到Word或电子邮件中。

目前你无法这样做,仅复制HTML是不起作用的,因为你需要所有CSS来进行高亮显示。如果您想提出一个有效的功能请求,请在https://github.com/Microsoft/vscode/issues上发布一个问题。 - Daniel Imms
1
谢谢Daniel。我添加了一个github问题(https://github.com/Microsoft/vscode/issues/3518)。 - Thomas
已解决 1.10 版本 - CrnaStena
正常的复制粘贴对我起作用了。 我使用的是 VSC 1.52.1 在 Mac 上。 - Ryan
4个回答

33

2
无法正常工作:从Visual Studio Code复制HTML,启动C:\ Program Files \ Windows NT \ Accessories \ wordpad.exe,粘贴并获取非格式化文本。 - izogfif
一样的情况。我输入了 editor.action.clipboardCopyWithSyntaxHighlightingAction,然后尝试从 VS Code 终端复制到 WordPad,但未格式化。@Mistermatt,你自己试过吗? - friartuck
2
现在该命令被称为“带语法突出显示的复制”(1.43.*)。粘贴到Wordpad不起作用(=未格式化),但粘贴到Word中可以(粘贴选项:保留源格式)。 - robert4
嗯……从远程桌面会话复制到本地窗口时似乎有问题。 - Alex Kwitny

11

使用“带语法高亮的复制”命令。

  1. 选择要高亮显示的代码
  2. Ctrl + Shift + p 打开命令面板
  3. 键入/选择 Copy With Syntax Highlighting

如@robert4在评论中提到的那样,此功能自VS Code v1.43(2020年2月)起可用。


为了以后参考(对于这个已经古老的答案):使用这个调色板并不是在VSCode中设置属性;它本身就是一个命令(有道理),所以你应该首先选择要复制的部分,然后执行此命令。说实话,我不明白为什么这不是默认的复制行为。 - Bart Barnard

-1

在尝试从Visual Studio(非Code)复制和粘贴带有语法高亮的内容时,我遇到了这个问题。据我所见,它不可能直接实现。

我正在使用Visual Studio Enterprise 2019(v16.7.4),尝试复制C#代码(也尝试过CSHTML)。

但是,我发现了this article,它似乎表明Visual Studio Code可以直接将内容Ctrl+C Ctrl+V到Outlook电子邮件或Word文档中,而无需插件或花哨的键盘快捷方式,我成功了!

我正在使用Visual Studio Code v1.49.2,并复制C#代码。复制CSHTML也可以正常工作。


-1

我采纳了上面的建议,打开命令面板,点击右侧的日志,使用ctl + c进行键位绑定。现在,当我从VSCode复制到OneNote时,可以保留源格式。它很有效!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接