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

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

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


当前回答

当我这样做的时候,我已经广泛使用了各种风格。它帮助很大。

我所做的是创建一种段落样式(可能被称为“代码示例”或类似的东西),它使用单间距字体、精心选择的制表符、非常浅的灰色背景、上下细的黑色边框(这有助于提高可见性),并关闭了拼写。我还确保行间距和段落间距设置正确。然后,我在顶部创建其他字符样式(例如,“注释”、“字符串”、“关键字”、“函数名Decl”、“变量名Decl),并将其叠加在顶部;这些设置了颜色以及文本是否为粗体/斜体。然后,很简单地通过粘贴的示例并将其标记为代码,并使其看起来非常好,这对于短片段非常有用。很长的代码块通常不应该放在一棵死树上

这样做的一个优点是很容易适应您正在执行的任何代码;您不必依赖某个IDE来了解发生了什么。(主要问题是?打印页面通常没有编辑器窗口那么宽,所以包装会很糟糕…)

其他回答

我也在寻找它,最终为我的代码显示创建了一些东西。这里有一个好方法:

创建一个矩形表单并将文本放置在其中。将字体更改为Consolas,大小约为10。将文本字体更改为接近黑色的灰色(灰色25%,较深75%)如果需要,使用较深的颜色突出显示文本,并选择一种颜色作为轮廓。

下载并安装Notepad++并执行以下操作:

在窗口中粘贴代码;从语言菜单中选择编程语言;选择要复制的文本;右键单击并选择插件命令->使用语法突出显示复制文本;将其粘贴到MS Word中,您就可以开始了!

2013年6月29日更新:

Notepad++有一个名为“NppExport”的插件(预装),允许您复制到RTF、HTML和ALL。它允许使用数十种语言,而上述IDE仅限于少数几种语言(没有其他插件)。

我使用将所有格式复制到剪贴板并在MS word中“粘贴为HTML”。

有一个很好的在线工具:https://www.troye.io/planetb/

只需复制生成的代码并将其粘贴到单词编辑软件中即可。到目前为止,我已经在MS Word和WPS Writer上试用过,效果非常好。在Firefox上玩得不好,但在Chrome上运行得很好(还有IE,但谁愿意使用它)。

主要的好处之一是,与Word的代码格式插件不同,它不会干扰代码,并且尊重各种语言的语法。我尝试了其他答案中提供的许多其他选项,但我发现这一个是最有效的(快速且真正有效)。

在另一个答案(markup.su)中也引用了另一个在线工具,但我发现planetB输出更优雅(虽然不太通用)。

输入:

输出:

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

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

确实没有一种干净的方法可以做到这一点,而且根据您的确切风格设置,它仍然可能看起来很可疑。

您可以尝试做的是首先运行代码到HTML的转换(有很多程序可以这样做),然后尝试用word打开HTML文件,这可能会为您提供格式化和漂亮的代码,然后将其复制并粘贴到文档中。