Friday, June 8, 2018

My Visual Studio 2019 Feature Wishlist

In this MSDN blog post, John Montgomery announced that the next version of Visual Studio is going to be 2019 and they have started planning for it. As I am very excited about this news, I couldn’t help myself from thinking about what features I would like to have in Visual Studio 2019. What could Microsoft add to VS that will make my job easier? So friends below is a list of features that are on my wish list.

1. Support for integrated terminal

Have you seen how snappy VS code is? It is light weight, fast and responsive. We need that kind of support for integrated terminal inside of Visual Studio 2019. The current option of right-clicking a node within Solution Explorer and clicking on open command prompt here is not ideal.

2. Auto Save

Alright, now you will say, “Mitul, you are saying copy all features from VS code and put in VS2019”. No. Not all the features but some things are really good in VS Code. I like auto save feature of VS Code and it just works. Can we have this in VS2019. Please…

3. Being able to easily add new files

When you hover in VS Code, you can see icons to add a new file, folder, refresh, and collapse all. This feature is very useful as it makes adding new files so much easier. I use Ctrl+F2 to invoke Add File Extension written by Mads Kristensen and this is one of my favorite extension but having this icon from VS code would be nice.

image

4. Command Window, Ctrl+Shift+P

In VS code when you hit Ctrl+Shift+P, you will see a command window appear and you can execute any command from there.

image

In VS, things are scattered around for doing these type of things such as,

1. Ctrl+Q

image

2. Ctrl+D

image

3. Command window

image

Can we have command execution workflow like VS code. You should be able to type command in english language instead of remember edit.somecommand.

5. Auto Download Next VS Update

We all appreciate the fast release cadence of VS but the yellow notification icon when it pops up every few days, it annoys me. When I see it, I want to update it. And this is good but I don’t like waiting for download. So can we have a setting where we can specify, “Always download new updates and prompt for update when done”. Download should happen in the background when new updates are available. I wish one day we can have silent VS updates in the background just like Chrome. I know this will be lot of work but may be some day in future. VS2019 may be..

6. Multi-cursor support

I have seen in some roadmap of VS2017 that multi-cursor support is coming. If it is not then we need multi-cursor support in VS2019.

7. Debugging - Support for Dump()

What is this Dump() method? If you have used LINQPad, then you will be familiar with Dump() method. In LINQPad you can put . after anything and call Dump() method and it will display the entire object in a nice format. It is so much easier to quickly hack up a script and get going. Let me show you something. In the image below, I called Dump() in many places to inspect different values and in the Results panel below you can see after each iteration those values were printed. “But Mitul how would this work in VS?”, you might ask. So let’s say if .Dump() was available then we can have it display these values in the output window. I imagine you could have an extension method in the Diagnostics assembly and display in output window.

image

8. Make animations and actions feel lightweight

Alright, this is highly subjective and you should remember that this is my wish list, so you might not feel the same way. What makes VS code light weight or feel light weight? When moving document to left or right it feels fast. There aren’t many animations in VS code whereas shifting documents within VS to left or right feels heavy. It would also be nice if there was keyboard support for docking documents within VS to left right or to next screen.

That’s all I have for now. We don’t want to list 10 features just to please OCD gods.

So what do you think about these features? Please leave a comment below and if I think of other feature ideas I will blog them again.

Enjoy day dreaming!