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

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

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


当前回答

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

结果如下:

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

复制步骤:

堆栈溢出时

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

在Word中

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

感谢这家伙的示例代码

其他回答

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

文档中代码的最佳呈现方式是使用固定宽度的字体(在IDE中应该显示),使用浅色阴影背景或浅色边框来区分块与其他文本。

根据我的经验,eclipse和Notepad++的复制粘贴可以直接使用word。

由于某种原因,我对一个不保留颜色的文件有问题。我创建了一个新的.java文件,将粘贴代码复制到该文件,然后将粘贴复制到word文件,这样就成功了。。。

正如其他人所说,创建一个新的段落样式。我所做的是像信使一样使用单间距字体,字体的小尺寸接近8px,段落之间没有空格,使制表符变小(0.5cm,1cm,…,5cm),在文本周围放置一个简单的线条边框,并禁用语法检查。通过这种方式,我实现了eclipse的线制动,因此我不需要再做任何事情。

希望我帮助了;)

如果您已经创建了包含大量代码片段的文档,并且您正在与时间赛跑(不幸的是,我是这样)。将文件另存为.doc,而不是.docx,瞧!为我工作。呸!

注意:显然,您的文档不能具有来自>word 2007的花哨功能。

注2:如果您担心文件大小会变大。

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