有谁知道在 Microsoft Word 文档中显示代码并保留颜色和格式的方法?优选地,该方法也将不引人注目并且易于更新。
我试图将代码作为常规文本包含在内,这看起来很糟糕,并且在编辑常规文本时会妨碍您。我还尝试在文档中插入对象、写字板文档和文本框,然后将代码放入这些对象中。代码看起来好多了,并且在编辑其余文本时更容易避免。然而,这些对象只能跨越一页,当需要添加几页代码时,这使得编辑成为一场噩梦。
最后,我知道有更好的编辑器/格式可以毫无问题地处理这个问题,但我一直在使用 MS Word。
对我来说,这是在 word 中添加代码的最佳方式:
转到插入选项卡,文本部分,单击对象按钮(它在右侧) 选择 OpenDocument 文本,这将打开一个新的嵌入式 Word 文档 从 Visual Studio / Eclipse 复制并粘贴您的代码到这个嵌入式 Word 页面中 保存并关闭
优点
结果看起来非常好。以下是这种方法的优点:
代码保持其原始布局和颜色
代码与文档的其余部分分开,就像是图片或图表一样
拼写错误不会在代码中突出显示(这很酷!)
而且只需要几秒钟。
下载并安装 Notepad++ 并执行以下操作:
将代码粘贴到窗口中;从语言菜单中选择编程语言;选择要复制的文本;右键单击并选择插件命令-> 使用语法突出显示复制文本;将其粘贴到 MS Word 中,您就可以开始使用了!
2013 年 6 月 29 日更新:
Notepad++ 有一个名为“NppExport”(预安装)的插件,允许您复制到 RTF、HTML 和 ALL。它允许数十种语言,而上述 IDE 仅限于少数几种(没有其他插件)。
我使用将所有格式复制到剪贴板并在 MS Word 中“粘贴为 HTML”。
https://i.stack.imgur.com/woIcU.jpg
https://i.stack.imgur.com/Fz9Fd.jpg
代码格式插件现在可在 Office 365 的 Office 插件中使用!只需选择代码并单击转换,它将代码文本转换为带有行号的格式化颜色代码!!!
小欢喜!
此处提供代码格式:https://appsource.microsoft.com/en-us/product/office/WA104379501?tab=Overview
在阅读了很多相关答案之后,我遇到了自己的解决方案,这对我来说是最合适的。
https://i.stack.imgur.com/Qik8H.jpg
如您所见,它与 Stack Overflow 上的语法突出显示相同,非常棒。
重现步骤:
在堆栈溢出
Goto Ask Question(最好使用 Chrome)粘贴代码并添加语言标签(例如 Java)以获得语法高亮 从预览中复制代码
在 Word 中
插入 > 表格 > 1x1 粘贴代码(您可能需要使用“选择性粘贴...”>“编辑”菜单中的格式化文本 (RTF) 以免丢失语法高亮) 表格设计 > 边框 > 无边框 选择代码 > 编辑 > 查找 > 替换搜索文档^p(段落标记)替换为^l(手动换行)(这是删除某些行之间的间隙所必需的)再次选择代码>审阅>语言>选中“不检查拼写或语法”最后添加标题使用参考>插入标题>新标签>将其命名为“列表”或某事
示例代码感谢 this guy
有一个不错的在线工具:http://www.planetb.ca/syntax-highlight-word
↑ 此应用自 2020 年起不再可用,这是一个新的分叉工具:https://www.troye.io/planetb/
只需复制生成的代码并将其粘贴到您的文字编辑软件中即可。到目前为止,我已经在 MS Word 和 WPS Writer 上尝试过,效果非常好。与 Firefox 不兼容,但在 Chrome 上运行良好(和 IE 也一样,但谁想使用它)。
主要好处之一是,与 Word 的代码格式加载项不同,它不会弄乱您的代码,并尊重各种语言的语法。我尝试了其他答案中提供的许多其他选项,但我发现这是最有效的(快速且非常有效)。
另一个答案(markup.su)中还引用了另一个 onlinz 工具,但我发现planetB 输出更优雅(尽管用途较少)。
输入 :
https://i.stack.imgur.com/mlfmm.png
输出 :
https://i.stack.imgur.com/ByCak.png
我在 Visual Studio 中键入我的代码,然后复制粘贴到 word 中。它保留了颜色。
完成此操作后,我已广泛使用样式。它有很大帮助。
我所做的是创建一个段落样式(可能称为“Code Example
”或类似的东西),它使用等宽字体、精心挑选的标签、非常浅的灰色背景、上下细黑色边框(这有助于提高可见性) 并关闭拼写。我还确保行间和段落间的间距设置正确。然后,我在顶部创建额外的字符样式(例如,“Comment
”、“String
”、“Keyword
”、“Function Name Decl
”、“Variable Name Decl
”),并将它们叠加在上面;那些设置颜色以及文本是否为粗体/斜体。然后很容易通过并将粘贴的示例标记为代码并让它看起来非常好,这对于简短的片段非常有效。很长的代码块通常不应该出现在死树上。 :-)
这样做的一个优点是很容易适应你正在做的任何代码。您不必依赖某些 IDE 来弄清楚发生了什么。 (主要问题?打印的页面通常没有编辑器窗口那么宽,所以换行会很糟糕......)
也许这过于简单,但是您是否尝试过粘贴代码并将其上的字体设置为 Courier New?
如果您使用的是 Sublime Text,您可以将代码从 Sublime 复制到 MS Word,保留语法突出显示。
安装名为 SublimeHighlight 的软件包。
在 Sublime 中,使用光标选择要复制的代码,右键单击它,选择“复制为 rtf”,然后粘贴到 MS Word 中。
Install package
并在此处键入 highlight
。它会立即安装
尝试定义一种称为“代码”的样式并使其使用固定宽度的小字体,这样看起来应该会更好。
使用 CTRL+空格键重置样式。
我正在使用 Easy Code Formatter。它也是一个 Office 加载项。它允许您选择编码风格 / 并有一个快速格式化按钮。挺整洁的。
https://i.stack.imgur.com/OxEwO.png
https://i.stack.imgur.com/scFrH.png
从预览框中复制文本,然后在 Word 中转到插入 ->文本框,从网站粘贴预览,突出显示所有文本,然后 disable spell checking for that textbox。
https://i.stack.imgur.com/BNSdu.png
我发现的最好方法是使用表格。
创建一个 1x1 的表。然后复制代码并粘贴。如果您使用的是桌面应用程序,那么它将继承代码编辑器主题颜色并相应地粘贴它,否则您可以将表格样式更改为任何颜色。
https://i.stack.imgur.com/F5FlN.png
这有点间接,但效果很好。获取 LiveWriter 并安装此插件:
http://lvildosola.blogspot.com/2007/02/code-snippet-plugin-for-windows-live.html
使用插件将您的代码插入博客文章中。全选并复制到Word。
它看起来很棒,并且可以包含行号。它还可以很好地跨越页面。
高温高压
科尔比非洲
Vim 有一个很好的功能,可以将代码转换为 HTML 格式,保留语法突出显示、字体样式、背景颜色甚至行号。运行 :TOhtml
,vim 创建一个包含 html 标记的新缓冲区。
接下来,在 Web 浏览器中打开这个 html 文件,然后复制/粘贴它呈现给 Word 的任何内容。 Vim 技巧 wiki 有 more information。
根据我的经验,来自 eclipse 和 Notepad++ 的复制粘贴直接与 word 一起使用。
出于某种原因,我遇到了一个没有保留颜色的文件的问题。我创建了一个新的 .java 文件,将代码复制粘贴到该文件,然后将其复制粘贴到 word 并且它起作用了......
正如其他人所说,创建一个新的段落样式。我所做的是使用像 courier new 这样的单行距字体,字体接近 8px 的小尺寸,段落之间没有空格的单行距,使制表位变小(0.5cm,1cm,..,5cm),放置一个简单的线条边框围绕文本并禁用语法检查。这样我就实现了日食的线制动,所以我不必再做任何事情了。
希望我有所帮助;)
这是我遵循的最简单的方法。考虑我想粘贴 java 代码。
我在这里粘贴代码,以便整齐地格式化空格、制表符和花括号 http://www.tutorialspoint.com/online_java_formatter.htm 然后我在这里粘贴从第 1 步获得的代码,以便将颜色、字体添加到代码中http://markup.su/highlighter/ 然后将第2步得到的预览代码粘贴到MS word中。最后它看起来像这样
https://i.stack.imgur.com/9WW8s.png
https://i.stack.imgur.com/rNQTi.png
2019 年试图解决此问题的人们的答案:
这个问题的大多数答案现在已经过时了。我希望有一种方法可以不时地重新检查旧的问题和答案!
我为这个问题找到的适用于 Office 365 及其相关程序的方法可以在 here 中找到。
我正在使用 Word 2010,我喜欢从 github gist 复制和粘贴。只要记住保持源格式!
然后我将字体更改为 DejaVu Sans Mono。
您可以选择复制或不复制编号。
复制到 Eclipse 中并将其粘贴到 Word 中也是另一种选择。
您可以在任何办公程序上简单地使用此插件。
转到插入标签,然后获取插件,然后搜索Easy Syntax Highlighter
它支持
185 种语言和 89 个主题。
自动语言检测。
多语言代码高亮。
如果您使用的是 Intellij IDEA,只需从 IDE 中复制代码并将其粘贴到 word 文档中即可。
如果您不想安装繁重的 IDE,也可以使用 SciTE 粘贴代码,然后为您正在制作的所有代码下载插件。只需从语言菜单中选择您的语言,键入您的代码,突出显示代码,选择编辑-> 复制为 RTF,粘贴到 Word 格式(默认粘贴)。
SciTE 支持以下语言,但可能支持其他语言:Abaqus*、Ada、ANS.1 MIB 定义文件*、APDL、汇编程序(NASM、MASM)、Asymptote*、AutoIt*、Avenue*、批处理文件(MS-DOS) , Baan*, Bash*, BlitzBasic*, Bullant*, C/C++/C#, Clarion, cmake*, conf (Apache), CSound, CSS*, D, diff files*, E-Script*, Eiffel*, Erlang* , Flagship (Clipper / XBase), Flash (ActionScript), Fortran*, Forth*, GAP*, Gettext, Haskell, HTML*, HTML with embedded JavaScript, VBScript, PHP and ASP*, Gui4Cli*, IDL - MSIDL 和 XPIDL *、INI、properties* 和类似的、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*、Ver ilog*、VHDL*、XML*、YAML*。
我也在寻找它并最终为我的代码显示创建了一些东西。这是一个好方法:
创建一个矩形并将文本放入其中。
将字体更改为 Consolas,大小约为 10。
将文本字体更改为接近黑色的灰色(灰色 25%,深色 75%)
如果需要,使用较深的颜色突出显示您的文本,并选择一种作为轮廓。
https://i.stack.imgur.com/cCmax.png
确实没有一种干净的方法可以做到这一点,根据您的确切样式设置,它仍然可能看起来很可疑。
您可以尝试做的是首先运行代码到 HTML 的转换(有很多程序可以做到这一点),然后尝试用 word 打开 HTML 文件,这可能会为您提供格式化和漂亮的代码,然后将其复制并粘贴到您的文档中。
我使用表格创建了一种更简单的方法,因为它们更易于创建、管理和更一致(可以将表格的样式保存在文档本身中),但我找不到更好的代码着色方案方法,对此感到抱歉。
脚步:
创建一个 3x3 表。选择表格,使其边框不可见(“无边框”选项),然后激活“查看网格线”选项。调整单元格的间距和列的宽度以获得所需的方面。 (您必须进入“表属性”进行微调)。为您的代码片段创建一个名为“代码”的“段落样式”(如 https://stackoverflow.com/a/25092977/8533804 中所述)创建另一个名为“代码编号线”的“段落样式”将基于之前创建的样式,但是您将在其定义中添加一个编号行(这将自动进行行编号)。将“Code_numberline”应用于第一列,将“Code”应用于第 3 列。在中间列中添加一个填充。保存该表格样式并享受!
文档中代码的最佳表示是固定宽度的字体(它应该出现在 IDE 中),带有模糊的阴影背景或浅色边框,以将块与其他文本区分开来。
不定期副业成功案例分享