首页 文章

如何以MS Word保留格式和语法高亮显示代码片段?

提问于
浏览
1681

有没有人知道在Microsoft Word文档中显示代码以保留着色和格式的方法?优选地,该方法也是不显眼的并且易于更新 .

我试图将代码包含为常规文本,看起来很糟糕,并且在编辑常规文本时会受到阻碍 . 我还尝试将对象,写字板文档和文本框插入到文档中,然后将代码放入这些对象中 . 代码看起来更好,在编辑其余文本时更容易避免 . 但是,这些对象只能跨越一页,这使得编辑成为需要添加几页代码的噩梦 .

最后,我知道有更好的编辑器/格式处理这个问题没有问题,但我仍然坚持使用MS字 .

30 回答

  • 22

    我也在寻找它,最后为我的代码显示创建了一些东西 . 这是一个很好的方法:

    • 创建一个矩形表格并将文本放在里面 .

    • 将字体更改为Consolas,大小为~10 .

    • 将文本字体更改为灰色近黑色(灰色25%,深色75%)

    • 如果需要,使用较暗的颜色突出显示您的文本并选择一个作为轮廓 .

    enter image description here

  • 73

    当我这样做时,我已经广泛使用了样式 . 它有很大帮助 .

    我所做的是创建一个段落样式(可能称为“ Code Example " or something like that) which uses a monospaced font, carefully chosen tabs, a very light grey background, a thin black border above and below (that helps visibility a lot) and with spelling turned off. I also make sure that inter-line and inter-paragraph spacing are set right. I then create additional character styles on top (e.g., " Comment ", " String ", " Keyword ", " Function Name Decl ", " ", " Variable Name Decl ”),我将其分层;那些设置颜色以及文本是否为粗体/斜体 . 它会在一棵枯树上走 . :-)

    这样做的一个优点是很容易适应你正在做的任何代码;你不必依靠某些IDE来弄清楚你发生了什么 . (主要问题?打印页面通常不像编辑器窗口那么宽,所以包装会很糟糕...)

  • 2

    在阅读了很多相关答案后,我遇到了自己的解决方案,对我来说这是最合适的解决方案 .

    结果如下所示:
    the final result

    正如您所看到的,它与Stack Overflow上的语法突出显示相同,非常棒 .

    重现步骤:

    在Stack Overflow上

    • 转到Ask Question(最好是 Chrome

    • 粘贴代码并添加 language tag (例如Java)以获得语法高亮显示

    • 从预览中复制代码

    在Word中

    • 插入>表> 1x1

    • 粘贴代码

    • 表设计>边框>无边框

    • 选择代码>编辑>查找>替换
      搜索文档 ^p (段落标记)替换为 ^l (手动换行符)
      (这是消除某些线之间的间隙所必需的)

    • 再次选择代码>查看>语言>检查"Do not check spelling or grammar"

    • 最后使用参考>插入 Headers >新标签添加 Headers >将其命名为"Listing"或......

    示例代码感谢this guy

  • 1

    也许这过于简单,但您是否尝试粘贴代码并将其上的字体设置为Courier New?

  • 903

    根据我的经验,eclipse和Notepad的copy-paste直接用word工作 .

    出于某种原因,我遇到了一个没有保留着色的文件的问题 . 我创建了一个新的.java文件,将代码复制粘贴到该文件,然后复制粘贴到word并且它有效...

    正如其他人所说,创造一个新的款式 . 我所做的是使用单倍间距字体,如courier new,小尺寸接近8px的字体,单个间隔,段落之间没有空格,使制表停小(0.5cm,1cm,..,5cm),放一个简单的线条边框在文本周围并禁用语法检查 . 这样我就实现了日食的线路制动,所以我不需要做更多的事情 .

    希望我帮忙;)

  • 3

    如果您使用 Sublime Text ,则可以将代码从Sublime复制到MS Word,同时保留语法突出显示 .

    安装名为SublimeHighlight的包 .

    在Sublime中,使用光标选择要复制的代码,右键单击它,选择“复制为rtf”,然后粘贴到MS Word中 .

  • 7

    这有点间接,但效果非常好 . 获取LiveWriter并安装此插件:

    http://lvildosola.blogspot.com/2007/02/code-snippet-plugin-for-windows-live.html

    使用插件将代码插入博客文章 . 选择全部并将其复制到Word .

    它看起来很棒,可以包含行号 . 它也适合跨越页面 .

    HTH

    科尔比非洲

  • 3

    好吧,这很奇怪,但为了解决背景颜色问题,我正常粘贴文本,选择整个块,点击突出显示工具突出显示(即使突出显示设置为"No Color"),然后我可以设置样式没有文本背景颜色的文本块保持白色 . 我正在使用VS 11和Word 2010,但问题已经存在了很长时间(见http://www.visualstudiodev.com/visual-studio-setup-installation/copypaste-code-from-vs-1305.shtml

  • 5

    如果你使用 Android Studio ,你可以简单地复制和粘贴,代码方面将被保留,颜色也是如此 . 很简单!

  • 5

    我正在使用Word 2010,我喜欢从github gist复制和粘贴 . 请记住保持源格式!

    然后我将字体更改为DejaVu Sans Mono .

    您可以选择是否使用编号进行复制 .

  • 12

    如果其Java源代码将其复制到Visual Studio,然后将其复制回Word .

  • 7

    如果您不想安装繁重的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文件,E-Script *,Eiffel *,Erlang *,旗舰(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 * .

  • 9

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

  • 27

    从Powershell ISE copy and paste 到Word .
    与Visual Studio相同 .

  • 1556

    如果您想要下载其他软件,可以使用http://markup.su/highlighter/ . 它非常直接,支持几个高亮主题和许多编程语言 .
    http://markup.su/highlighter/
    在我的情况下,我使用的是Visual Studio Code,由于CSS涉及样式,因此不允许使用格式进行复制(如报告here) .

    复制预览框中的文本,然后在Word中转到插入 - >文本框,从网站粘贴预览,突出显示所有文本,然后disable spell checking for that textbox .

    这就是代码最终的样子 .
    code as seen in Word

  • 17

    有一个不错的在线工具:http://www.planetb.ca/syntax-highlight-word

    只需复制生成的代码并将其粘贴到您的文字编辑软件中即可 . 到目前为止,我已经在MS Word和WPS Writer上尝试过,效果非常好 . 不适合使用Firefox,但在Chrome上运行得很好(和IE也一样,但是谁想要使用它) .

    其中一个主要好处是,与Word的代码格式加载项不同,它会使您的代码混乱,并且会尊重各种语言的语法 . 我在其他答案中尝试了许多其他选项,但我发现这个选项效率最高(快速且真正有效) .

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

    Input :

    enter image description here

    Output :

    enter image description here

  • 4

    确实没有一种干净的方法可以做到这一点,根据你的确切风格设置它仍然看起来很腥 .

    您可以尝试做的是首先运行代码到HTML的转换(有许多程序执行此操作),然后尝试用word打开HTML文件,这可能希望为您提供格式化和漂亮的代码,然后将其复制并粘贴到您的文档中 .

  • 4

    如果您正在使用TextMate(在OS X上),请使用"copy as rtf"命令 . 它会将漂亮的文本放在剪贴板上 .
    rtf command

    从那里你可以粘贴到单词或其他任何东西 .

  • 102

    文档中代码的最佳呈现方式是固定宽度字体(因为它应该出现在IDE中),带有模糊的阴影背景或浅色边框,以区分块与其他文本 .

  • 15

    您可以使用VS代码来保持代码格式和突出显示 . 直接从VS复制并粘贴代码 .
    enter image description here

  • 2

    对于我来说,这是在单词中添加代码的最佳方法:

    • 转到"insert"标签,单击"object"按钮(它在右侧)

    • 选择"OpenDocument Text",这将打开一个新的嵌入式word文档

    • 将Visual Studio / Eclipse中的代码复制并粘贴到此嵌入式单词页面中

    • 保存并关闭

    结果看起来非常好 . 以下是此方法的优点:

    • 代码保留其原始布局和颜色

    • 代码与文档的其余部分分开,就好像它是图片或图表一样

    • 拼写错误不会在代码中突出显示(这很酷!)

    而且只需几秒钟 .

  • 40

    enter image description here

    Code Format Addin现已在带Office 365的Office Addins中提供!只需选择代码并单击转换它,它将代码文本转换为带行号的格式化颜色代码!

    Bit Rejoice!

    代码格式可在此处获取:https://appsource.microsoft.com/en-us/product/office/WA104379501?tab=Overview

  • 3

    如果您使用的是Intellij IDEA,只需从IDE中复制代码并将其粘贴到word文档中即可 .

  • 51

    尝试定义一个名为“代码”的样式并使其使用一个小的固定宽度字体,它应该看起来更好 .

    使用CTRL空格键重置样式 .

  • 1

    复制到Eclipse并将其粘贴到Word中也是另一种选择 .

  • 18

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

    enter image description here

  • 5

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

    接下来,在Web浏览器中打开此html文件,并将其呈现的任何内容复制/粘贴到Word . Vim提示维基有more information .

  • 4

    下载并安装Notepad++并执行以下操作:

    • 将代码粘贴到窗口中;

    • 从语言菜单中选择编程语言;

    • 选择要复制的文本;

    • 右键单击并选择 Plugin commands - > Copy Text with Syntax Highlighting ;

    • 将其粘贴到MS Word中,你很高兴!

    Update 29/06/2013:

    记事本有一个名为“NppExport”的插件(已预先安装),允许您复制到RTF,HTML和ALL . 它允许几十种语言,而上述IDE仅限于少数语言(没有其他插件) .

    我使用将所有格式复制到剪贴板并在MS word中“粘贴为HTML” .

    screenshot from notepad++

  • 7

    使用Windows附带的等宽字体,如Lucida Console, . 如果从Visual Studio剪切/粘贴或支持语法突出显示的内容,您通常可以保留语法高亮显示的颜色方案 .

  • 6

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

    这是屏幕:

    Screen1 .

    Screen2 .

相关问题