能否从Visual Studio复制代码并将格式化的代码粘贴到OneNote中?

57

有没有一种方法可以将代码从Visual Studio(C#)复制并粘贴到OneNote中,而不会失去格式?

我曾经这样做过,但只有当我从VS中复制,粘贴到Word中,再从Word中复制,然后粘贴到OneNote中时才能保留格式。

13个回答

44

这是一个似乎默认禁用的选项。

启用方法(在VS 2019中):

  1. 转到 工具 -> 选项

  2. 在搜索框中输入copy

  3. 文本编辑器 -> 高级 下...

  4. 勾选 复制/剪切时复制富文本

Visual Studio Options Example

将格式化后的内容拷贝

一旦启用此功能,根据目标应用程序,这可能需要两个步骤。 如果在复制和粘贴代码之后仍然显示为未格式化(例如,如果粘贴到Web浏览器中),请使用 marcus 建议的方法,先将文本粘贴到Wordpad.exe中(开始 -> 运行 -> 输入 wordpad),然后从Wordpad中再次复制文本,并将其粘贴到目标应用程序/浏览器中。


2
很好的提示。这应该是2021年的最佳答案。 - XavierAM

38

幸运的是,对于Visual Studio 2010,有一个解决方案!安装Visual Studio 2010 Pro Power Tools扩展程序并复制/粘贴到OneNote可以保留语法高亮。


1
根据下面Tom A的建议,对于我们使用稍微更新的VS的人来说,可以查看Microsoft的Productivity Power Tools 2015。 - JOpuckman
1
对于那些使用更新版本的VS的人来说,可以使用Productivity Power Tools 2017来提高生产力。 - DaveTheMinion
3
您肯定不会惊讶地发现,它也适用于10年后的VS 2019版本。 - Olegp
还有针对VS 2022的:https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.ProductivityPowerPack2022 - Yogi

22

您在处理过程中想得非常透彻。您要粘贴到的应用程序必须能够正确接受带有格式的代码。微软Word是为数不多可以正确处理这种情况的应用程序之一,因此,从Visual Studio(VS) -> Word -> OneNote将会起作用。但是从VS -> OneNote则不起作用。


3
还有一个可以使用的应用是在Outlook中发送消息(最好将其设置为Rich Text Mode)。 - ShuggyCoUk
@ShuggyCoUk - 是的,没错,但我认为这只适用于使用 Word 作为编辑器的情况。 - Mitchel Sellers
1
我尝试了这个技巧,但是它对我来说并没有完全起作用。颜色是正确的,但缩进却丢失了。 - Karsten
1
这是一个旧答案,所以为了清晰起见,这仍然适用于VS2015和Office 2015。值得注意的是,如果您有太多缩进,请在Visual Studio中选择时按住“alt”键。 - Alex KeySmith


4

有一个适用于Microsoft Visual Studio的插件,它可以将源代码、语法高亮和行号复制为HTML格式。

使用此插件,您可以从VS复制并直接粘贴HTML到目标位置。

在这里查看插件: CopySourceAsHtml


4

2

保留代码格式的最佳方法包括以下两步骤:

  1. 第一步,右键点击代码,选择“复制”,然后将其粘贴到“WordPad”中。
  2. 第二步,从“WordPad”中复制并粘贴到“Word”中。

Copying Code Pasting Code


2

2

抱歉回复晚了,我知道这是一个很老的帖子。但是,它可能会对试图找到解决上述问题的人有所帮助。我发现没有一个方法适用于我,甚至 OneNote 2016 都不行,但这里有一个非常简单的方法。

只需将您的代码复制并粘贴到wordpad.exe中,它应该带有格式和颜色进行粘贴。保存*.rtf文件并在 Ms Word 中打开它,从那里您可以复制/粘贴任何文档到 word 中,这对我起作用了。


1

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