August 15th, 2023

My favorite features in Visual Studio 17.7

Mads Kristensen
Principal Product Manager

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.

Author

Mads Kristensen
Principal Product Manager

Mads Kristensen is a principal program manager on the Visual Studio team and has published over 150 free Visual Studio extensions. He blogs about anything related to Visual Studio and can often be found hosting various shows on the Visual Studio YouTube channel..

4 comments

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

  • Jim Foye

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

  • Portal User 2

    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...

    Read more
    • Portal User 2

      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...

      Read more
  • START

    hmmm