184

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

我实际上会直接在电子邮件中输入代码。这不可避免地会导致问题,因为 Outlook 非常喜欢以令人愉悦但无益的方式格式化文本。我的代码需要可从电子邮件中复制并直接复制到代码中,因此我不希望 Outlook 通过添加特殊字符或诸如此类的东西来搞乱它。

所以我总是需要调整选项,比如:

  • 不要将每个句子的首字母大写(否则我的所有函数都是P ublic 而不是p ublic)
  • 禁用智能引号(花哨的引号不能很好地从电子邮件中复制+粘贴)
  • 永远不要使用拼写检查器(因为它会很烦人)

我还喜欢我的代码采用等宽字体、黑色、缩进并且比其他文本更小。 我试图为此制作一个样式,但由于某种原因,样式永远不会保存。:-( [编辑:原来我并没有告诉它处理“基于此模板的新文档”]

有没有办法将代码放在 <pre> 块中,或者告诉 Outlook 忽略所有这些规则并按照我想要的方式格式化代码?如果没有,您发现了哪些方法可以在 Outlook 电子邮件中发送代码片段而不会变得非常烦人?

4

11 回答 11

136

多年后,我得到了回应。

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

  2. 在 Word 2010 中,转到插入->对象->打开文档文本。步骤 2-3 记录在如何以 MS Word 保留格式和语法高亮显示代码片段?.

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

  4. 复制整个对象。

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

这为您提供了一个突出显示的包含代码框,可用于 Outlook 2010 中的电子邮件。

于 2012-09-08T16:55:55.260 回答
109

如果您的电脑中安装了记事本++,那么您可以将文本复制为 RTF(富文本格式)并将其粘贴到您的 Outlook 邮件中。

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

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

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

4) 完成

于 2016-07-28T07:24:32.467 回答
52

如果您使用的是 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
于 2013-05-15T11:11:13.093 回答
21

我遇到了这种情况,正在寻找一种在给同事的电子邮件中更好地格式化事情的方法。我最终发现,如果您从 Visual Studio Code(免费)复制,它会保留格式、突出显示和其他所有内容。该编辑器适用于所有内容,并具有适用于我遇到的每种编程语言的模块。

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

于 2018-02-21T17:40:35.653 回答
15

以下是对我有用的方法,而且是最快的,并且造成的痛苦/烦恼最少:

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

2)右键单击并选择“复制为RTF”

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

4) 完成

于 2015-07-06T19:34:27.893 回答
7

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

于 2009-07-19T23:27:12.127 回答
7

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

我更喜欢将这个宏与我的样式选择分开运行,因为我经常在选择的具有混合内容的文本上使用它。

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

显示您可以右键单击所选文本并选择复制带有语法突出显示的文本的图像

如果您在准备电子邮件时对拼写检查感到恼火,您可以在快速访问工具栏中添加一个按钮,该按钮将删除邮件正文中的红色曲线。
见这篇文章: https ://stackoverflow.com/a/49865743/1898524

删除拼写检查曲线

于 2018-09-10T19:54:50.700 回答
4

对我来说 VS Code 效果最好。

  1. 复制 VS Code 空文件中的代码片段
  2. 使用所需的扩展名 .cpp、.js 等保存文件
  3. 将代码片段复制到剪贴板
  4. 粘贴到前景中。
于 2021-03-19T06:56:37.667 回答
0

以纯文本形式发送邮件会对此进行排序吗?

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

  • 选择操作 | 新邮件消息使用 | Outlook 菜单中的纯文本。
  • 像往常一样创建您的消息。
  • 单击发送以交付它。

作为纯文本,它不应该用“智能”引号、自动大写等来搞砸你的代码。

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

于 2009-07-20T01:04:22.097 回答
0

如果您不想在文件中附加代码(这是一个很好的提示,ChssPly76,我需要检查一下),您可以尝试将默认消息格式消息更改为富文本工具 - 选项 - 邮件格式 - 消息格式) 而不是 HTML。我了解到 Outlook 的 HTML 格式化会破坏代码布局(顺便说一句,Outlook 使用 MS Word 的 HTML 渲染引擎,这很浪费时间),但富文本工作正常。因此,如果我从 Visual Studio 复制代码并将其粘贴到 Outlook 消息中,当使用富文本时,它看起来还不错,但在 HTML 模式下,它是一场灾难。要禁用智能引号、自动更正和其他伪影,请通过工具 - 选项 - 拼写 - 拼写和自动更正设置适当的选项;您可能还想使用复制粘贴设置(工具 - 选项 - 邮件格式 - 编辑器选项 - 剪切、复制和粘贴)。

于 2009-07-19T23:51:41.500 回答
-2

好吧,这是迟到的答案,但是如果您绝对不需要它是文本格式,那么为什么只是简单地复制/粘贴使用 Windows 内置截图工具等工具截取的屏幕截图?

于 2022-01-21T10:27:37.527 回答