Why does Teams always strip indentation when pasting text?

Occasional Contributor

It's fairly common to want to post code in teams (without using the special formatting for code snippets).

The markdown like syntax for code works pretty well when typing code and it preserves indentation. But when you past XML or JSON all the indentation is removed. Why?

Here's an example:

That XML was indented in the source. But whenever we paste JSON or XML we lose indentation. Unless we take the extra effort to use a code snippet. Or manually type it for small examples.

5 Replies
This is on macOS, colleagues tell me they don't have an issue on Windows.
Ok some more sleuthing:

If I copy from Visual Studio Code and paste into Teams (on macOS) this problem happens.

If I copy from TextEdit or Visual Studio and paste into Teams, the indentation is fine.

So this is weird interaction between Teams, the clipboard and Visual Studio Code.

But, I can copy from Visual Studio Code into TextEdit and everything is fine. Then I can copy from TextEdit and paste into Teams and everything is fine.

Anyone have a firm understanding of how the clipboard works and what app might be working incorrectly? Seems perhaps Teams is confused by meta data from Visual Studio Code?
Using this website I was able to examine the clipboard data from TextEdit and Visual Studio code.

The text/plain entries look identical, but the text/html entries are radically different. That seems to be a clue.
best response confirmed by ThereseSolimeno (Microsoft)


So I got to the heart of the matter. I used the Clipboard Inspector to inspect the contents of clipboard when copying the same text from two different apps. Both have two entries. One of the entries is text/html and one is text/plain. The text/plain as you might guess is identical. The html is quite different. I then copied the html and rendered.

This is what I see from TextEdit



This is what I see from Visual Studio Code



So this would appear to be an issue with my environment in Visual Studio Code (or even a defect in Code, I"m not sure)


This can probably be closed. I've added details to an already opened issue on GitHub: