我可以粘贴富文本并保留格式吗?

我可以粘贴富文本并保留格式吗?

我有一张 Excel 工作表,我将文本粘贴到文本框中。我尝试从 Eclipse 复制粘贴源代码并保留语法高亮和制表符(代码格式)。

语法突出显示 - 使用以下方法可以正常工作:上下文菜单 -> 粘贴选项 -> 保留源格式。但是此选项破坏了我的代码格式,因为我可以看到 excel 会自动删除所有前导制表符,因此粘贴到 excel 文本框中的代码不再格式化。

有人知道如何在粘贴到文本框时保留代码格式吗?

答案1

我刚刚用 Visual Studio 测试了这一点,所以它可能与 Eclipse 略有不同。当您说文本框时,我还假设您指的是单个 Excel 单元格。在 Visual Studio 中,Excel 只允许粘贴文本。然后我将代码粘贴到 Word 中,这样可以保留格式和突出显示。从 Word 复制文本然后粘贴到 Excel 中似乎可以保留语法和格式。

我想说的是,虽然 Excel 可以做很多事情,但它可能不是处理所有事情的最佳工具。如果不了解您的具体情况,很难说,但另一种工具可能更适合保留代码格式。

答案2

因此,粘贴时似乎只有制表符会丢失,而空格符会保留。这与其说是一个答案,不如说是一个变通方法,它涉及将代码/查询移动到 Notepad++(或类似程序),执行正则表达式替换以将前导制表符转换为空格,然后将修改后的文本粘贴到 Excel 中。

  1. 将代码/查询复制到 Notepad++(或类似程序)
  2. 使用以下正则表达式设置 执行 REPLACE ( CTRL+ ):H
    • 找什么:**^(\s)*(\t)**
    • 替换为:**\1**...
      (其中三个点实际上是一系列空格您想要替换每个标签的内容)
    • 正则表达式(已选中)

您需要多次执行“全部替换”,因为每次运行每行只会替换一个前导制表符,因此如果您的代码有 4 个缩进,则运行“全部替换”4 次或更多次。

现在将修改后的文本粘贴到 Excel 文本框中,它将遵守(空格)缩进。

答案3

即使成功粘贴,TAB 似乎也无法在 Excel 单元格中显示。它似乎也无法插入单元格内(例如,按“Tab”键盘键):https://answers.microsoft.com/en-us/msoffice/forum/all/how-to-insert-a-tab-inside-a-cell/2f189cfe-ef90-4113-9d22-135ac010359f

使用“公式栏”作为代码预览是一种值得考虑的方法,因为它保留了 TAB:

公式栏

但是,通过将代码粘贴到一个单元格中,您会失去语法突出显示。

相关内容