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

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

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


当前回答

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

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

其他回答

我在Visual Studio中键入代码,然后复制粘贴到word中。它保留了颜色。

如果您不想安装沉重的IDE,也可以使用SciTE粘贴代码,然后下载所有代码的插件。只需从语言菜单中选择您的语言,键入您的代码,高亮代码,选择编辑->复制为RTF,粘贴到带有格式的Word中(默认粘贴)。

SciTE支持以下语言,但可能支持其他语言:Abaqus*、Ada、ANS.1 MIB定义文件*、APDL、汇编程序(NASM、MASM)、渐近线*、AutoIt*、Avenue*、批处理文件(MS-DOS)、Baan*、Bash*、BlitzBasic*、Bullant*、C/C++/C#、Clarion、cmake*、conf(Apache)、CSound、CSS*、D、diff文件*、E-Script*、Eiffel*、Erlang*、Flagship(Clipper/XBase)、Flash(ActionScript)、Fortran*、,Forth*、GAP*、Gettext、Haskell、HTML*、带嵌入式JavaScript的HTML、VBScript、PHP和ASP*、Gui4Cli*、IDL-MSIDL和XPIDL*、INI、财产*和类似文件、InnoSetup*、Java*、JavaScript*、LISP*、LOT*、Lout*、Lua*、Make、Matlab*、Metapost*、MMIXAL、MSSQL、nnCron、NSIS*、Objective Caml*、Opal、Octave*、Pascal/Delphi*、Perl,除某些模糊情况外的大多数情况*、PL/M*、Progress*,PostScript*、POV Ray*、PowerBasic*、PowerShell*、PureBasic*、Python*、R*、Rebol*、Ruby*、Scheme*、scriptol*、Specman E*、Spice、Smalltalk、SQL和PLSQL、TADS3*、TeX和LaTeX、Tcl/Tk*、VB和VBScript*、Verilog*、VHDL*、XML*、YAML*。

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

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

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

您可以将代码粘贴到LINQPad中。然后将LINQPad复制到MS Word中。LINQPad支持以下编程语言:C#、VB、SQL、ESQL和F#

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

结果如下:

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

复制步骤:

堆栈溢出时

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

在Word中

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

感谢这家伙的示例代码