有人知道在Microsoft Word文档中显示代码的方法吗?优选地,该方法也将是不引人注目的并且易于更新。

我已经尝试将代码作为常规文本包含,这看起来很糟糕,在编辑常规文本时会碍事。我还尝试过将对象(写字板文档和文本框)插入文档中,然后将代码放入这些对象中。代码看起来更好,在编辑其余文本时更容易避免。然而,这些对象只能跨越一个页面,这使得当需要添加几页代码时,编辑成为一场噩梦。

最后,我知道有很多更好的编辑器/格式在处理这个问题上没有问题,但我一直在使用MS word。


当前回答

2019年试图解决这个问题的人的答案:

这个问题的大多数答案现在已经过时了。我希望有一种方法可以时不时地重新检查以前的问题和答案!

我为这个问题找到的适用于Office 365及其相关程序的方法可以在这里找到。

其他回答

也许这太简单了,但您是否尝试过粘贴代码并将其字体设置为Courier New?

好的,这很奇怪,但为了解决我正常粘贴在文本中的背景色问题,选择整个块,单击高亮工具以高亮显示(即使高亮显示设置为“无颜色”),然后我可以设置文本块的样式,而文本的背景色不保持为白色。我正在使用VS 11和Word 2010,但问题已经存在了很长时间(请参见http://www.visualstudiodev.com/visual-studio-setup-installation/copypaste-code-from-vs-1305.shtml)

答案中似乎还没有提到Hilite,因此:Hilite支持多种语言(20+),也可以通过API在线使用,并且位于Github上(因此,如果您不信任在线服务,您可以自行克隆、修改和运行它)。在线版本也可以通过CSS规则根据自己的需要进行调整。

我几分钟前刚找到它,因为我需要一个将xQuery复制到Word中的工具,但找不到合适的工具。源程序是baseX,由于某种原因,它的格式无法传输到Word(粘贴时也不能通过Keep格式等)。此外,许多给出的答案现在,即2019年6月,不再工作或不支持xQuery。然而,希莉特做得很好。

编辑:不幸的是,代码块不是结果的一部分,只是突出显示。然而,这总比什么都没有好,通过在周围添加一个块来调整结果仍然比手动格式化每一行要少

只需右键单击并使用“保持源格式”选项粘贴。我几乎每天都这样做,以记录我的工作。此外,您可以在“文件”/“选项”/“高级”/“剪切”、“复制粘贴”中设置从各种源粘贴的“默认粘贴”。还有用:在“Word选项”的同一部分中启用“显示粘贴选项”。

请注意,代码编辑器主题中的所有文本财产(颜色、字体等)都将添加到Word文档中的样式表中,因此我建议您不要直接对粘贴的文本进行任何更改,因为这样会给样式表增加混乱,后续的粘贴将不匹配。快速研究一下在Word中使用“样式”(实际上是CSS)将对您大有裨益。它们非常强大。使用Word的样式表,您可以对粘贴的文本进行全局更改,但这可能会导致后续粘贴的文本添加新样式。

在阅读了大量相关答案后,我找到了自己的解决方案,这对我来说是最合适的。

结果如下:

正如您所看到的,它是与Stack Overflow相同的语法高亮显示,非常棒。

复制步骤:

堆栈溢出时

转到提问(最好使用Chrome)粘贴代码并添加语言标签(例如Java)以获得语法高亮从预览复制代码

在Word中

插入>表格>1x1粘贴代码(您可能需要使用“编辑”菜单中的“特殊粘贴…”>“格式化文本(RTF)”,以免丢失语法)表格设计>边框>无边框选择代码>编辑>查找>替换搜索文档^p(段落标记)替换为^1(手动换行符)(这是为了消除某些线之间的间隙)再次选择代码>查看>语言>选中“不检查拼写或语法”最后,使用“参考”>“插入标题”>“新建标签”>将其命名为“列表”或某事物添加标题

感谢这家伙的示例代码