即使保留语法突出显示,将代码从 Visual Studio Code 复制到 OneNote 也会丢失选项卡缩进

Posted

技术标签:

【中文标题】即使保留语法突出显示,将代码从 Visual Studio Code 复制到 OneNote 也会丢失选项卡缩进【英文标题】:Copying code from Visual Studio Code to OneNote loses tab indentations even though syntax highlighting is retained 【发布时间】:2017-11-12 19:24:02 【问题描述】:

这是使用粘贴选项将代码复制到 onenote 的方式:保持源格式

如果我选择粘贴选项:“仅保留文本”,缩进将被保留(语法高亮显示已按预期消失)

如果我使用粘贴选项将代码复制到单词:保持源格式,它会被完美地复制,同时保留缩进和语法高亮。

为什么只有oneNote会丢失缩进?

Office 版本 - 2013

VS 代码版本 - 2017 年 5 月(版本 1.13)

操作系统 - Windows 10 专业版

【问题讨论】:

【参考方案1】:

正如@rambler 所说,OneNote 会忽略粘贴的空格, 解决方案是使用以下方法将文档中的所有空格转换为制表符:

ctrl+shift+p

然后输入

convert indentation to tabs

现在您可以毫无问题地复制代码了,

如果您想将选项卡缩进设为默认值,您可以通过转到首选项并添加以下行来更改设置:

"editor.insertSpaces": false,

【讨论】:

【参考方案2】:

如果你将  fourspaces fourspaces从vscode复制到onenote

,onenote 会显示fourspaces fourspaces

vscode中的代码  fourspaces fourspaces是这样存储在剪贴板的

<meta http-equiv="content-type" content="text/html; charset=utf-8"><div style="color: #bbbbbb;background-color: #282c34;font-family: Fira Code;font-weight: normal;font-size: 15px;line-height: 20px;white-space: pre;"><div><span style="color: #bbbbbb;">    fourspaces    fourspaces</span></div></div>

Onenote 忽略空格,但制表符格式化为  &nbsp

一种解决方案是将所有缩进转换为文件中的制表符

一般情况下,您可以在用户设置中添加"editor.insertSpaces": false,; VSCode - How do I set tab-space style?

或者有一个名为 S.T.O.N.E 的 vscode 插件,你可以使用它。

【讨论】:

【参考方案3】:

您可以使用 Outlook 电子邮件或 Microsoft Word 作为占位符。

步骤:

    从 VS Code 复制并粘贴到 Outlook 电子邮件或 Microsoft Word 文档中。 从 Outlook 电子邮件或 Microsoft Word 复制并粘贴到 OneNote。

【讨论】:

以上是关于即使保留语法突出显示,将代码从 Visual Studio Code 复制到 OneNote 也会丢失选项卡缩进的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio代码是否不突出显示.pug文件?

Visual Studio 数据绑定属性突出显示 [knockout.js]

在 Visual Studio Code 中自定义语法突出显示

html 标记的语法突出显示在 Visual Studio 2008 中消失

如何在 .ntl 模板文件的 Visual Studio Code 中启用 HTML 语法突出显示?

如何在 Visual Studio Code 中自动设置语法突出显示的语言