我应该如何使用Outlook发送代码段?


147

作为一家大公司的程序员,我经常发送包含代码示例的Outlook电子邮件。

实际上,我将直接在电子邮件中输入代码。这不可避免地会引起问题,因为Outlook确实喜欢以令人愉悦但无益的方式设置文本格式。我的代码需要从电子邮件中复制并直接复制到代码中,因此我不希望Outlook通过添加特殊字符或其他方式来使其混乱。

因此,我总是需要调整以下选项:

  • 不要大写每个句子的第一个字母(否则我所有的功能是P的ublic代替p ublic)
  • 禁用智能引号(引号不能很好地复制和粘贴电子邮件)
  • 永远不要使用拼写检查器(因为它会令人讨厌)

我还希望代码采用等宽字体,黑色,缩进且比其他文本小。 我尝试为此创建样式,但是由于某种原因,样式从未保存。:-( [编辑:原来我不是告诉它在“基于此模板的新文档”上工作。]

是否可以通过某种方式将代码放入<pre>块中,或者可以告诉Outlook忽略所有这些规则并按照我希望的方式格式化代码?如果没有,您发现了什么方法可以在Outlook电子邮件中发送代码片段而又不会变得很烦人呢?

Answers:


44

如果您使用的是Outlook 2010,则可以定义自己的样式并选择所需的格式,在“格式”选项中有一个“语言”选项,您可以在此处指定语言并指定是否要使用此拼写检查器忽略文本样式。

使用这种样式,您现在可以将代码粘贴为文本,然后选择新样式。Outlook将不会更正文本,并且不会对其进行拼写检查。

以下是我为通过电子邮件发送代码段而定义的样式的摘要。

Do not check spelling or grammar, Border:
Box: (Single solid line, Orange,  0.5 pt Line width)
Pattern: Clear (Custom Color(RGB(253,253,217))), Style: Linked, Automatically update, Quick Style
Based on: HTML Preformatted

3
在Outlook 2013中,这对我而言非常有用。令我不高兴的是,它会在代码段中途停止忽略拼写/语法,因此我将语言设置为Outlook没有拼写检查器的语言(我选择了阿尔巴尼亚语)。
米奇

8
嗨,您能告诉我们如何定义自己的风格吗?谷歌找到了快速样式,但它们不允许您提到的选项。
Myster

这对我来说非常有用,除了它迫使我选择一种字体颜色,该颜色会覆盖从Visual Studio复制的某些文本颜色。有谁知道该样式中是否可以省略文本颜色?
2015年

注意:您可能正在复制富文本格式,但是Outlook可能会尝试“匹配当前格式”,如果看到正确格式的闪烁,然后在粘贴并将其更改为“匹配源格式”后查找剪贴板小图标
SimplGy

感谢您的评论。我在您的指导下制作了类似的代码,其样式为github:字体:(亚洲)Microsoft YaHei UI,9磅,字体颜色:黑色,请勿检查拼写或语法,缩进:左:0.5“右:0.5”,定义网格时不要调整右缩进,边框:框:(单实线,自定义颜色(RGB(231,234,237)),0.5 pt线宽)图案:清除(自定义颜色(RGB(248,248,248)))),样式:链接,自动更新,在样式库中显示基于:HTML
预格式化

102

几年后,我有了回应。

  1. 使用http://tohtml.com/之类的在线代码突出显示器突出显示代码,以便可以将IDE中标记的代码粘贴到Word中。根据您的IDE,您可能可以跳过此步骤。

  2. 在Word 2010中,转到insert-> object-> openDocument Text。如何使用MS Word保留格式和语法高亮显示代码段记录了步骤2-3

  3. 将突出显示的代码粘贴到对象中。

  4. 复制整个对象。

  5. 右键单击->将特殊对象粘贴到Outlook中。

这使您可以在Outlook 2010中的电子邮件中使用突出显示的包含的代码框。


3
tohtml.com是片段的绝佳佐料!
Lelouch Lamperouge

5
您还可以使用tohtml生成格式化的输出,然后直接直接复制预览(位于格式化代码框旁边)。
gebuh 2014年

66

如果您的PC中安装了notepad ++,则可以将文本复制为RTF(富文本格式)并将其粘贴到Outlook邮件中。

1)将您的代码段粘贴到记事本++

2)从菜单栏导航到“插件-> NppExport->将RTF复制到剪贴板”

3)粘贴到您的电子邮件中

4)完成


3
如果您使用的是Notepad ++,则是最简单的方法。老实说,作为程序员,应该为没有使用它而感到羞耻。:)编辑:顺便说一句,您甚至可以为此设置一些易于使用的键绑定。
f1v3

纯净的威力,像往常一样对Notepad ++表示敬意。我曾经完全从这个(我最喜欢的)文本编辑器中复制粘贴这些片段,因此对我来说效果最佳,甚至比使用tohtml.com作为额外步骤的投票率最高的答案还要好。
RAM237 '18

谢谢,有点痛苦的,如果你有核电站64位,无插件管理器,这里的一些修正- github.com/notepad-plus-plus/notepad-plus-plus/issues/...
豆蔻

2
我发现这一点容易记住:2)右键菜单- >插件命令- >复制文本与语法高亮

也可以:“将HTML复制到剪贴板”。HTML比RTF更可取,因为它具有通用性,而RTF“仅与Microsoft Outlook和Microsoft Exchange兼容”(根据Outlook for Office 365版本1808中的工具提示)。
sgrubsmyon

15

我偶然发现了这种方法,目的是通过电子邮件发送给同事更好的格式。我最终发现,如果您从Visual Studio Code(FREE)复制,它将保留格式,突出显示以及所有其他内容。该编辑器可以处理所有内容,并且具有我遇到过的每种编程语言的模块。

在电子邮件中看起来很漂亮。


12

这是对我有用的方法,它最快且引起最少的痛苦/烦恼:

1)将您的代码片段粘贴到sublime中;确保您的语法看起来不错。

2)单击鼠标右键,然后选择“复制为RTF”

3)粘贴到您的电子邮件中

4)完成


4
您必须安装SublimeHighlights插件才能正常工作
kendotwill '16

1
与SublimeHighlights合作。我使用sublime,我很放心,我可以将粘贴代码复制到电子邮件中,而无需执行其他步骤。
凯文·马丁·何塞

7

如果您将代码附加为文本文件,并且收件人设置了“显示附件内联”选项(我相信默认设置),则Outlook不应破坏您的代码,但可以直接从电子邮件中复制/粘贴。


3
这可行,但实际上不是我想要的工作流程。我宁愿不必在某个地方创建文件来附加一个小的代码段。相反,我只想直接在电子邮件中输入-可能是在一些<code>标记周围加上类似在Wiki上所做的那样。但是,从每个人都想出的答案来看,目前似乎没人知道在Outlook中执行此操作的更好方法。
Mag Roader 2009年

5

当我将代码粘贴到Outlook中或句子中包含代码或技术语法时,所有标识拼写错误的红色花键都会使我烦恼。如果您希望Outlook清除所有红色拼写检查花样,则可以在快速访问工具栏中添加一个按钮,该按钮调用VBA宏并从当前文档中删除所有花样。

我更喜欢将这个宏与样式选择分开运行,因为我经常将其用于混合内容的文本选择中。

对于语法突出显示,我使用了@srujanreddy已经列出的Notepad ++技术,尽管我发现右键单击上下文菜单选项比导航“插件”菜单更方便。

该图显示了您可以右键单击所选文本,然后选择复制语法突出显示的文本

如果您在准备电子邮件时因拼写检查而烦恼,可以在快速访问工具栏中添加一个按钮,该按钮将从消息正文中删除红色的花体。
看到这篇文章:https : //stackoverflow.com/a/49865743/1898524

删除拼写检查花样


0

如果您不想在文件中附加代码(这是一个很好的技巧,ChssPly76,我需要将其签出),则可以尝试将默认消息格式消息更改为富文本格式(工具-选项-邮件格式-消息格式)而不是HTML。我了解到Outlook的HTML格式设置影响了代码的布局(顺便说一句,Outlook使用了MS Word的HTML呈现引擎,这花了很多时间),但是富文本效果很好。因此,如果我从Visual Studio复制代码并将其粘贴到Outlook消息中,则在使用富文本格式时,它看起来还不错,但是在HTML模式下,这是一场灾难。要禁用智能报价,自动更正和其他工件,请通过工具-选项-拼写-拼写和自动更正设置相应的选项;您可能还想使用复制粘贴设置(工具-选项-邮件格式-编辑器选项-剪切,复制和粘贴)。


这也可以,但是我仍然需要将字体更改为Courier New并进行缩进,然后将其更改为black等。
Mag Roader

嗯...我不必这样做。我注意到的唯一问题是选项卡,因此,如果您的选项卡的Outlook设置与VS不同,则基于选项卡的对齐方式可能会有些偏离,仅此而已。
阿列克·戴维斯

0

以纯文本格式发送邮件会这样吗?

“如何在Outlook中发送纯文本消息”

  • 选择操作| 新邮件使用| Outlook中菜单中的纯文本。
  • 照常创建您的消息。
  • 单击发送将其发送。

作为纯文本,它不应用“智能”引号,自动大写字母等使代码搞乱。

另一个可能的选择,如果这是公司内部的常见问题,也许您可​​以设置一个内部代码粘贴站点,那么周围有很多开源的站点,例如Open Pastebin


如果我希望整个电子邮件都采用纯文本格式,那肯定会奏效,但是我正在寻找的只是代码示例的一小部分。其余的可能有不错的标题,项目符号要点,表格等。。。我有时候写很多封电子邮件:-)
Mag Roader

1
如果整个电子邮件都是纯文本,则此方法将不起作用,因为Outlook通过插入其他换行符来破坏换行符。
ceving 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.