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

Posted

技术标签:

【中文标题】我应该如何使用 Outlook 发送代码片段?【英文标题】:How should I use Outlook to send code snippets? 【发布时间】:2010-11-12 04:14:43 【问题描述】:

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

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

所以我总是需要调整以下选项:

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

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

有没有办法将代码放在

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

【问题讨论】:

【参考方案1】:

多年后我得到了回应。

    使用像http://tohtml.com/ 这样的在线代码高亮工具来高亮显示您的代码,这样您就可以将标记好的代码从您的IDE 粘贴到Word 中。根据您的 IDE,您可能可以跳过此步骤。

    在 Word 2010 中,转到插入->对象->打开文档文本。步骤 2-3 记录在 How do you display code snippets in MS Word preserving format and syntax highlighting?。

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

    复制整个对象。

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

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

【讨论】:

tohtml.com 是 sn-ps 的好帮手! 也可以使用tohtml生成格式化输出,然后直接复制预览(在格式化代码框旁边)。【参考方案2】:

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

1) 将代码 sn-p 粘贴到记事本++中

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

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

4) 完成

【讨论】:

如果您使用的是 Notepad++,则可能是最简单的方法。老实说,作为一名程序员,应该为不使用它而感到羞耻。 :) 编辑:顺便说一句,您甚至可以为此设置一些易于使用的键绑定。 非常棒,像往常一样向 Notepad++ 致敬。我曾经完全从这个(我最喜欢的)文本编辑器中复制粘贴 sn-ps,所以对我来说效果最好,甚至比使用 tohtml.com 作为额外步骤的投票最多的答案还要好..! 谢谢,如果你有 npp 64 位,没有插件管理器,会有点痛苦,这里有一些修复 - github.com/notepad-plus-plus/notepad-plus-plus/issues/… 我发现这更容易记住:2)右键菜单 -> 插件命令 -> 复制文本并突出显示语法 也可以:“将 HTML 复制到剪贴板”。由于其普遍性,HTML 优于 RTF,而 RTF “仅与 Microsoft Outlook 和 Microsoft Exchange 兼容”(根据 Outlook for Office 365 版本 1808 中的工具提示)。【参考方案3】:

如果您使用的是 Outlook 2010,您可以定义自己的样式并选择您想要的格式,在格式选项中有一个语言选项,在这里您可以指定语言并指定是否希望拼写检查器忽略具有此样式的文本。

使用此样式,您现在可以将代码粘贴为文本并选择您的新样式。 Outlook 不会更正文本,也不会对其执行拼写检查。

以下是我为发送代码 sn-ps 定义的样式的摘要。

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

【讨论】:

这在 Outlook 2013 中非常适合我的目的。让我恼火的一件事是它会在 sn-p 中途停止忽略拼写/语法,所以我将语言设置为 Outlook没有拼写检查器(我选择了阿尔巴尼亚语)。 您好,您能告诉我们如何定义自己的风格吗?谷歌找到了快速样式,但它们不允许您提到的选项。 这对我很有用,除了它迫使我选择一种字体颜色,它会覆盖从 Visual Studio 复制的某些文本颜色。有谁知道是否有办法从样式中省略文本颜色? 注意:您可能正在复制富文本,但如果您看到一闪而过的正确格式,Outlook 可能会尝试“匹配当前格式”,然后在粘贴和更改后查找小剪贴板图标它“匹配源格式” 感谢 cmets。我在你的指导下做了一个类似的,风格类似于 github:字体:(亚洲)Microsoft YaHei UI,9 pt,字体颜色:黑色,不检查拼写或语法,缩进:左:0.5" 右:0.5",定义网格时不要调整右缩进,边框:框:(单条实线,自定义颜色(RGB(231,234,237)),0.5 pt 线宽)图案:清除(自定义颜色(RGB(248,248,248))),样式:链接,自动更新,在样式库中显示基于:HTML 预格式化【参考方案4】:

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

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

【讨论】:

这正是我使用的:VSC 在所有 MS 软件中都保留自己的格式【参考方案5】:

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

1) 将您的代码 sn-p 粘贴到sublime;确保你的语法看起来不错。

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

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

4) 完成

【讨论】:

你必须安装 SublimeHighlights 插件才能工作 使用了 SublimeHighlights。我使用了 sublime,我很放心,我可以将粘贴代码复制到电子邮件中而无需额外的步骤。【参考方案6】:

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

【讨论】:

这行得通,但不是我真正想要的工作流程。我宁愿不必在某处创建一个文件来附加一个小代码sn-p。相反,我只想直接在电子邮件中输入 - 可能通过围绕一些 标记或类似我在 wiki 上做的事情。但是,从每个人的答案来看,目前似乎没有人知道在 Outlook 中执行此操作的更好方法。【参考方案7】:

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

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

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

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

outlook-vba

【讨论】:

【参考方案8】:

对我来说 VS Code 效果最好。

    将代码sn-p复制到VS Code空文件中 使用所需扩展名 .cpp、.js 等保存文件 将代码 sn-p 复制到剪贴板 粘贴到 Outlook 中。

【讨论】:

【参考方案9】:

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

【讨论】:

这也可以,但我仍然需要将字体更改为 Courier New 并将其缩进并更改为黑色等等。 嗯...我不必这样做。我注意到的唯一问题是选项卡,因此如果选项卡的 Outlook 设置与 VS 不同,则基于选项卡的对齐方式可能有点偏离,但仅此而已。【参考方案10】:

会以纯文本形式发送邮件吗?

"How to Send a Plain Text Message in Outlook":

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

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

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

【讨论】:

如果我希望整个电子邮件都采用纯文本格式,这肯定会起作用,但我要寻找的只是其中的一小部分作为代码示例。其余的可能有很好的标题、要点、表格等。我有时会写很长的电子邮件:-) 如果整个电子邮件都是纯文本,这将不起作用,因为 Outlook 通过插入额外的换行符来破坏换行符。【参考方案11】:

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

【讨论】:

“我的代码需要从电子邮件中复制到代码中”

以上是关于我应该如何使用 Outlook 发送代码片段?的主要内容,如果未能解决你的问题,请参考以下文章

在 Excel 中使用 VBA 创建的电子邮件未发送

如何在 C# 中为电子邮件设置 Outlook 扩展属性?

MS Access / Outlook 2010 - 如何选择从哪个帐户发送电子邮件?

如何更改通过 Excel VBA 代码通过 Outlook 发送的电子邮件的字体格式?

使用 ics 会议预约向 Outlook 发送电子邮件

使用ics会议预约向Outlook发送电子邮件