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

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

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


当前回答

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

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

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

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

输入:

输出:

其他回答

这是我遵循的最简单的方法。考虑我要粘贴java代码。

我将代码粘贴在这里,以便空格、制表符和花括号格式整洁http://www.tutorialspoint.com/online_java_formatter.htm然后我将步骤1中得到的代码粘贴到这里,以便将颜色、字体添加到代码中http://markup.su/highlighter/然后将步骤2得到的预览代码粘贴到MS单词上。最后会变成这样

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

我已经使用表创建了一个更简单的方法,因为它们更容易创建、管理,并且更一致(有可能将表的样式保存在文档本身中),但我找不到更好的代码着色方案方法,抱歉。

步骤:

创建3x3表格。选择表格,使其边框不可见(“无边框”选项),并激活“查看网格线”选项。调整单元格间距和列宽度以获得所需的外观。(您必须进入“表财产”进行微调)。为您的代码片段创建一个名为“代码”的“段落样式”(如https://stackoverflow.com/a/25092977/8533804)创建另一个名为“Code_numberline”的“段落样式”,该样式将基于先前创建的样式,但这将在其定义中添加编号行(这将自动进行行编号)。将“Code_numberline”应用于第一列,将“Code”应用于第3列。在中间列中添加填充。保存表格样式并享受!

一个用多种语言着色的网站。http://hilite.me/

你可以自己主持,因为它是开源的。代码在github上。

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

结果如下:

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

复制步骤:

堆栈溢出时

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

在Word中

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

感谢这家伙的示例代码