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

我会直接在邮件里输入代码。这不可避免地会导致问题,因为Outlook确实喜欢以讨人喜欢但无益的方式格式化文本。我的代码需要复制出电子邮件和直接到代码,所以我不希望Outlook通过添加特殊字符或什么的混乱它。

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

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

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

是否有一些方法把代码放在<pre>块或一些东西,告诉Outlook忽略所有这些规则和格式代码的方式我想要它?如果没有,你有什么方法可以在Outlook邮件中发送代码片段而不让它变得超级讨厌?


如果你以文本文件的形式附上你的代码,而你的收件人(s)有“显示附件内联”选项设置(我相信这是默认设置),Outlook应该不会破坏你的代码,但它将直接从电子邮件复制/粘贴。


If you do not want to attach code in a file (this was a good tip, ChssPly76, I need to check it out), you can try changing the default message format messages to rich text (Tools - Options - Mail Format - Message format) instead of HTML. I learned that Outlook's HTML formatting screws code layout (btw, Outlook uses MS Word's HTML rendering engine which sucks big time), but rich text works fine. So if I copy code from Visual Studio and paste it in Outlook message, when using rich text, it looks pretty good, but when in HTML mode, it's a disaster. To disable smart quotes, auto-correction, and other artifacts, set up the appropriate option via Tools - Options - Spelling - Spelling and AutoCorrection; you may also want to play with copy-paste settings (Tools - Options - Mail Format - Editor Options - Cut, copy, and paste).


以纯文本的方式发送邮件会对这个进行分类吗?

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

在Outlook的菜单中选择“操作|使用|纯文本的新邮件消息”。 像往常一样创建你的邮件。 单击Send发送。

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

另一个可能的选择是,如果这是公司内部常见的问题,也许你可以建立一个内部代码粘贴网站,周围有很多开源网站,比如Open Pastebin


多年以后,我有了一个回应。

使用在线代码高亮显示工具(如http://tohtml.com/)来突出显示代码,这样就可以将IDE中的标记代码粘贴到Word中。根据您的IDE,您可以跳过此步骤。 在Word 2010中,点击insert->object->openDocument Text。步骤2-3是记录在如何显示代码片段在msword保存格式和语法突出显示?。 将突出显示的代码粘贴到对象中。 复制整个对象。 右击->粘贴特殊对象到Outlook。

这将为您提供一个高亮显示的包含在Outlook 2010中的电子邮件中的代码框。


如果您使用的是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

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

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

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

3)粘贴到你的电子邮件

4)完成


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

将代码片段粘贴到notepad++中 从菜单栏导航到“插件-> NppExport ->复制RTF到剪贴板” 粘贴到您的电子邮件 完成


我在给同事写电子邮件时遇到了这个问题。我最终发现,如果你从Visual Studio Code(免费)复制,它会保留格式,高亮和其他一切。这个编辑器可以处理所有的东西,它有我遇到过的每种编程语言的模块。

在邮件里看起来很漂亮。


当我将代码粘贴到Outlook中,或者有包含代码或技术语法的句子时,我被所有识别拼写错误的红色波浪线所困扰。如果你想让Outlook清除所有拼写检查的红色涂鸦,你可以在快速访问工具栏中添加一个按钮,调用VBA宏,从当前文档中删除所有涂鸦。

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

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

如果你在准备电子邮件时被拼写检查惹恼了,你可以在你的快速访问工具栏上添加一个按钮,可以删除邮件正文中的红色乱写乱画。 参见本文:https://stackoverflow.com/a/49865743/1898524

outlook-vba


对我来说VS Code效果最好。

复制vscode空文件中的代码片段 保存所需扩展名为.cpp,.js等的文件 将代码片段复制到剪贴板 粘贴到outlook。


好吧,这是一个晚的答案,但如果你不是绝对需要它在文本格式,那么为什么只是简单地复制/粘贴截图采取了一些工具,如Windows内置剪辑工具?


这是Sublime Text的另一个方法:

复制到崇高的文本 格式 复制为HTML 在Outlook中插入邮件

用Outlook 2202和Sublime Text 4126测试。