[MUSIC].
>> Hey there. My name's Kara Weiss.
I am a PM on Visual Studio,
and I work on performance,
solution load and large solutions.
Today, I wanted to show you guys
a feature called solution filters.
I wanted to show you how we're using
it and how we hope that you-all can take
advantage of it to improve your workflow in large solutions.
First, what are solution filters?
solution filters are feature we've built
that allow you to selectively load the projects you want.
You have access to the entire solution,
but you only need to work with the projects that you need.
This allows users to have
a more manageable workspace
and to be more fluid with what's loaded and unloaded.
Then you can also save these subsets of projects and have
multiple solution filters and
work with them how you would any normal solution.
Now I'm going to show you what that looks like
and I'm going to walk you through, first,
how to create a solution filter,
and second, how to use an already created solutions filter.
You're going to start by opening up Visual Studio.
I'm using the 2022 preview.
Then you're going to go over to open a project or solution.
Once you click on the solution you want,
instead of clicking Open,
you're going to hit this check box down here that says,
"Do not load projects".
What that's going to do is that's going to load
your entire solution with zero projects loaded.
If you look over here in the Solution Explorer,
that loaded almost instantly and
there's zero of 160 projects loaded.
Had I taken the time to load this entire solution,
it would have been a lot longer.
The next step is, you're going to
choose the projects that you want to load.
We've offered a couple of things.
You can either load individual projects,
just one at a time,
and you do it by right-clicking and doing reload project.
You can also reload multiple projects at once.
You can multi-select and reload those projects.
Then the other thing that's really cool is you can
load projects with their entire dependency tree.
If I do reload with dependencies,
let's see, now four projects are loaded
even though I only clicked two projects.
You can do that for any amount of projects.
You can have the entire dependency trees or
you don't need to have any, it's up to you.
But we wanted to give users
the flexibility to create the filters they
need and so that when they're making
changes they can make it in all the relevant projects.
The next thing that's really cool about solution filters is
you don't have to
continue scrolling through an endless Solution Explorer.
You can hide the projects that are unloaded.
If you right-click on the Solution node and come down here,
you can say, Hide Unloaded Projects.
Now I just see the projects that I have loaded.
This is what we're talking about when we say manageable workspace.
You might not need to access all 160 projects,
so we want you to focus on what is important.
The next thing that's really great is that you
can actually save this subset as a solution filter.
If I right-click on the Solution node and
do save a solution filter,
I'll say, DemoTest,
and it will save with this file type as a.slnf.
This is really similar to
an SLN file built on top of a solution file,
but it's much simpler.
It's just a list of paths to the files you have loaded.
Now I've saved that filter.
I can come in and open that filter as well,
and it will show up in my Recents,
it'll show up in the start Window.
Now I've opened that filter.
The cool thing about this is,
now, let's say, I'm working,
I'm going to show the unloaded projects,
so I've all these projects unloaded,
and I'm like, wait, I need to add this project to my filter.
If I reload this project,
you'll get a little info bar that says, Update Solution Filter.
Now the solution filter has
five projects instead of four projects.
Visual Studio knows when you're
working with projects that aren't in the filter.
On the flip side, you also don't have to load
those projects into the filter if you don't want to.
Another really cool thing about the solution filters is that
up here in this menu bar,
there's this button that says
switch between solution and available views.
If I click on that,
I can see all of the different solution filters that I have saved.
As you can see, I have quite a few,
and I could easily switch to this solution filter,
which is really great if you
have multiple people working on your repo,
either each have their own solution filter
or you can have different options like,
say, one solution filter has all the tests projects,
one solution filter has no test projects,
you could separate them
by this solution filter has front-end code,
this solution filter has back-end code,
this solution filter is a smaller subset for
new developers on the team so that they can get
used to the code base without hundreds of projects.
There are a bunch of different use cases.
We are also continuously improving
solution filters and want to learn
how folks are using them so we're looking for feedback as well.
That's everything that we have and wanted to
show you guys first solution filters.
Thanks for going through this feature with me.
I hope that this will be useful. Thank you.