即使保留语法突出显示,将代码从 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;&nbsp;&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 数据绑定属性突出显示 [knockout.js]
在 Visual Studio Code 中自定义语法突出显示
html 标记的语法突出显示在 Visual Studio 2008 中消失