My favorite features in Visual Studio 17.7

Mads Kristensen

Two of my favorite features in Visual Studio happen to share a similar origin story. They were both created in deep collaboration with you, the user, and went through multiple iterations before you gave your final thumbs up. This is the story of how they came to be and why they are my favorites.

Image DiffFiles command v1 optimized

File comparison

Visual Studio 2012 introduced this feature and used by the Team Explorer tooling for working with TFS. However, it was never exposed outside Team Explorer. The only way to use it was from the Command Window (View -> Other Windows -> Command Window) by typing the command name Tools.DiffFiles and pass in two file names to diff.

Over the years, several extensions exposed the file-diffing command through buttons in the context menu. And lots of other IDEs and editors, including our own VS Code, had this feature.

Still, there were different approaches to comparing and diffing. It wasn’t just files, but also selections in the editor, contents of the clipboard, Git branches and a lot more that could be useful to compare.

So, we launched an experiment here on this blog to better understand the interest and which of the features were the most important, so we knew where to start. After a month of iterating and collaborating with you, we had the first feature implementation ready.

I’ve used the File Differ extension for years, and I’m incredibly happy to see this now built in. I don’t use it every day, but when I need it, I really need it.

Though this feature has a long and somewhat strange history in Visual Studio, I’m happy it finally made it.

Copy and trim indentation

You’ve heard the term “death by a thousand paper cuts”, I’m sure. This feature eliminates one of these paper cuts I gave myself daily. In all its simplicity, it removes the indentation in front of copied code, so when you paste code from Visual Studio into Outlook/Slack/whatever it will look great every single time.

This feature idea is several years old and saw the light of day three years ago in the Tweaks extension for Visual Studio 2019. We knew there was some interest in this feature but had no idea just how much. That became clear when we ran the Copy with propery indentation experiment in collaboration with you.

Through the monthlong experiment, 3,000 of you helped us identify edge cases and new scenarios by using the open-source extension Copy Nice. I’ve shown this feature several times at conferences, and it always receives positive feedback and applaus from the audience.

What to me really sets these two features apart is the fact you helped design, test, iterate and sign off on them. So, thank you and let’s keep experimenting together going forward. Here’s a list of all our past community experiments in case you’re curious.


Discussion is closed. Login to edit/delete existing comments.

  • START 0


  • Portal User 2 0

    Hi Mads,

    It would help if you explained what the feature actually does.

    My daily headache is cutting code from Visual Studio, then pasting the code into say Outlook. I then look at the huge indentation of the code I pasted, which looks silly, so try to select-all and shift-tab it to the left. Of course this does not work in outlook. So I then delete it, go back to Visual Studio and do the shift-tab thing, copy again and paste back into outlook for the second time. Then go back to Visual Studio and CTRL-Z to get my code back to the way it was.

    I just tried VS 17.7 and it does not improve this scenario at all. Maybe I misunderstand the problem you were trying to fix?

    • Portal User 2 0

      I just clicked through to that “Copy Nice” link, which I noticed is something you put together. The image you had on Copy Nice helped explain it to me, so I understand now. For anyone else confused:
      – You start the cut without any whitespace on the first line, then cut to the end. It now trims the extra whitespace on the other lines.
      – Alternatively you keep the whitespace on the first line if you want it included in the copy-paste.
      This was not clear to me from Mads blog post, but his link to Copy Nice explains what this feature does.
      Thanks for this Mads and yes this will be useful!

  • Jim Foye 0

    My favorite feature is the WPF designer bugs were finally fixed. Oh wait…never mind.

Feedback usabilla icon