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

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

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


当前回答

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

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

其他回答

如果您不想安装沉重的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*。

只需将代码粘贴到MS Words中,选择它->然后右键单击->编号。在这种情况下,MS Word将把您的代码解释为标记/编号列表。

以下是屏幕:

屏幕1。

屏幕2。

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

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

我找到的最好的方法是使用桌子。

创建具有1x1的表。然后复制代码并粘贴。如果您使用的是桌面应用程序,那么它将继承代码编辑器主题颜色并相应地粘贴,否则您可以将表格样式更改为任何颜色。

更新------------------

从Word 2021开始,您可以直接粘贴代码,它将保留格式。无需创建表。感谢@RdC1965提及这一点。

Vim有一个很好的功能,可以将代码转换为HTML格式,保留语法高亮显示、字体样式、背景色甚至行号。运行:TOhtml和vim创建一个包含html标记的新缓冲区。

接下来,在web浏览器中打开此html文件,并将其呈现的内容复制/粘贴到Word。Vim提示wiki有更多信息。