Visual Studio Installation and Customization
Nov 30, 2020 23:02 · 3415 words · 17 minute read
There’s lots of customization tools within VS itself, but did you know you can also start customizing everything you want just at the VS install stage? Learn more on this episode of Visual Studio Toolbox. [MUSIC]. Hi, everyone. Welcome to Visual Studio Toolbox. I’m your host, Leslie Richardson. Today, I’m joined by Soojin Choi who’s a Program Manager on the Visual Studio Acquisition’s Team. Welcome, Soojin. >> Hi. Great to be here. >> Great. So today we’re talking about all the cool things that you can apparently do when you’re just installing Visual Studio, right? >> Yes, exactly. >> Sweet. So yes, I always thought you just hit “Install” on Visual Studio on the pop-up, and then you let the magic happen, and then you can just get started and that was it. But apparently there’s more to it. >> There’s a little bit more to it than that.
00:55 - There’s some tips and tricks that I wanted to go over with you guys today. There’s also some advanced topics that I wanted to discuss with you guys, some of the tools that our enterprise users can utilize and then some of the core development tools that we’re developing, and that’s in data. >> Awesome. Well, I’d love to see more. >> Yes. So let’s actually get started. I have a deck prepared. So we can start with the basics, what are Workloads? Which one or which ones do I install? To briefly define Workloads, it’s a package of SDKs and tools needed for a specific development purpose. For example, if you wanted to develop a web application, you can install the asp.net and Web Development Workload, which includes tools like, IS Express, SQL Server database, as well as some of the commonly used project pamphlets.
01:52 - Basically, we want to help our users get started on a project quickly. This is what you talked about earlier. I’m just click “Install” and you’ll be good to go. Now a lot of the questions that we get is, do I have to install Workloads? No, you don’t necessarily have to install them, but you really won’t be able to run or build your applications locally without the necessary tools. We’ve implemented this guard rail thing, let me show you here. If you try to click on “Install”, but you haven’t selected any workloads, then we show this dialogue to you, reminding you to select the workload, and to do so so that you can actually develop within Visual Studio. >> That is pretty neat.
02:41 - Yes, I always got overwhelmed at first with all the different workloads, and I was like, I’m just new, I don’t really know where to start. Yes, anyway to make that process easier is great. >> Exactly. Yes. This way you don’t have to go through all the components and figure out which ones you need to select and all that stuff. You can actually learn a little bit more about each of these workloads in the link shown here, visualstudio.Microsoft.com/vs. >> Awesome. >> Yes. Let’s talk a little bit more about some of the things that you can do under Visual Studio Installer.
03:19 - There are folks who also ask us, what if I want to use preview features? You can actually see in my screenshot here that I have multiple instances of Visual Studio installed. This is actually not a special feature for internal folks. If you didn’t know already, you can actually install multiple instances of Visual Studio. To use Visual Studio Preview version, for example, or just to try out different versions of Visual Studio using the Visual Studio Installer as the management system. Yes. Did you have question? >> Oh, no. I think it’s safe to say that everybody who works on the Visual Studio Teams Installer looks like this. >> Exactly. >> [inaudible] please don’t mind. >> Oh, yes.
You can actually also do this even 04:10 - if you’re not developing Visual Studio for using Preview channel, like I described earlier. Or if you don’t want to have separate Visual Studio’s installed on your machine, you can actually click “Preview features” on the ID itself by going to Tools options in the ID, to try out preview features. So yes. You can also install older versions of Visual Studio. By going to the link shown here. We actually don’t have the capability to allow our users to say like, roll back and update that you just took. It is actually one of our top feedback items and we’re definitely looking into how we can provide that, but it’s just not available yet.
05:01 - But as an enterprise and professional Visual Studio user, you can actually install older versions of Visual Studio by going to this link shown, or you can actually do this on my vs.com as well. This is actually pretty difficult to find by searching online, which is by design, but it’s not a secret. You can go there to install older versions if you want to. >> Good to know. I’ve seen a couple suggestions come my way sometimes where it’s like, can we just roll back to? >> Oh, yes. >> Now the thing is, and it’s like I don’t know what to tell them because I actually was unaware of this link. So that is good to know. >> Yes, absolutely.
05:41 - Something exciting for the Visual Studio Installer itself. Yes, we’ve heard your suggestions. The dark theme is finally coming to a Visual Studio Installer near you. We’re actually gradually rolling this out to our users. We’ve rebuilt essentially our Visual Studio Installer in WPF from the current one which is built an electron. You’ll know that you have the new version once you see 2.9 on the screen or higher.
06:15 - Now with a WPF Installer, users will actually notice better performance, minor reliability fixes, accessibility fixes and all that great stuff. Speaking of accessibility, the installer will now support Windows Narrator, which we’re very happy about. >> It didn’t before? >> No, unfortunately we couldn’t do it. >> Wow. >> But now we can support it because it’s written in the Windows Presentation Foundation. >> That is exciting. >> One other behavior that you will notice is that you don’t have to be an admin to launch the Visual Studio anymore.
06:54 - Just when you perform operations that require elevation like modifying or updating Visual Studio, this way you can view installation details and export configuration files without having to elevate or update the installer. >> Cool stuff. >> Yes. >> Dark theme is the best now. >> Dark theme is the best, it is. One more thing, the installer actually will be one-seventh of the size of what it is today. A much smaller footprint on your machine. >> So that means I can’t go for a coffee break while I’m waiting for VS to install now? >> They get, unfortunately no. >> Darn why? The worst. >> Yes. So I can roll in a little more what I’m calling advanced topics for the day, but it really isn’t. First is.vsconfig. This is something that we built because it was really highly suggested by a developer community, but it’s really not used as much.
08:05 - We found out that it’s because many of our users actually don’t know that this exists. I’m here to evangelize. We built this because we used to get, and we still do get a lot of questions around like, can I share what I installed on my machine to a new hire on my team without literally having to list out all the components that they have to install with Visual Studio? So with vsconfig, the answer is yes. You can actually import and export these configuration files across your teams and organizations. You can easily do this in the installer. You can both import and export it. Then also if you actually include your.vsconfig file in your solutions root directory, Visual Studio will actually detect which components are missing the next time a user opens a solution, and then it’ll prompt them to install those missing components. >> That is nice. I can confess, I just learned about VS config like a week ago.
09:07 - >> Yes, it’s not very well-known, unfortunately. But I know it has a lot of use cases, and so we’re here to tell you guys a little bit about it. >> Yes. I like having new options. >> Oh, yes. For sure. Then the next one that we can offer is what we call an Offline Layout. Now you can actually use a command line for more options of installing Visual Studio. You don’t have to use the UI if you don’t want to.
09:34 - But in cases like a Visual Studio Administrator, you might actually have to use the command [inaudible] if you don’t want to. What they use is they would use something called a offline network layout to basically deploy and maintain these Visual Studio installations on client machines. It’s pretty easy. First, they would create this offline network layout using this – Layout Perimeter, which they can use to specify a directory to create the offline install cash. Then if you actually omit everything starting from – add right there, it’ll actually create a full Visual Studio offline layout. But you can create a partial offline layout to make it go faster, or if you don’t want people to use a certain workload, for example, for some reason, then you can actually use the – add perimeter to specify exactly which workloads to install or to specify which language locales, for example, using the – lane.
10:40 - But you can see all those command line parameters from our docs and to get into the nitty-gritty stuff today. Once you created an offline layout, users copy that to a network share. Here I have an example using x copy, but you can use robocopy, if you want to. Then at that point, the admin can actually deploy Visual Studio on current workstations, even if they’re not connected to Internet. >> That is good to hear, especially nowadays when sometimes my Wi-Fi decides it’s not having it. >> Yes, exactly. It happens a lot.
11:14 - This is actually mostly for our enterprise customers, but you could use it personally as well. >> I think that works just like from a remote standpoint, like since everybody in enterprise including, is elsewhere, as I’ve heard from the normal office base, I’m guessing so. >> Yes. Updating is just as easy as well. There’s two ways to do it. One way is to pretty much repeat printing the layout or there’s another way that I have here, which just use a minimal offline layout tool, which is actually a lot better and faster in my opinion. Unlike a full Visual Studio layout, a minimal layout would only contain the updated packages, so it literally takes the difference. It always is smaller and faster to both generate and deploy. >> Great. >> Yes. Cool.
Then one more topic for our advanced topic today, 12:25 - which is using containers for remote build scenarios. Now, you can actually install Visual Studio build tools into a container and to quickly introduce build tools for those folks who are unfamiliar with it, build tools is a standalone installer that only lays down the tools you require to build your projects, without installing the Visual Studio IDE. You can imagine there’s different build tools for.NET, C++, Python, TypeScript, and so on. It only includes things like SDKs, compilers, headers, and wait for it, build tools. >> Yes. >> Yeah. If you wanted to use this by itself, you would build your Visual Studio projects from a CLI.
13:18 - Now, what you can actually benefit from installing the build tools into a container, is that it’ll allow you to package a consistent build system that you can use, and when you publish that container into your, I don’t know, Azure Container Registry or other internal Docker registry, then you can use that image for your CI/CD workflow by having your servers pull from it. Obviously, this diagram is grossly oversimplifying this. You can find out a little bit more about it in the link shown below. >> That is very exciting. I will simplify diagrams like that too, I was just like, “That’s it.” Then you go in to the actual docs and it’s like, “I have to do all that stuff.” But it’s totally worth it. >> This one is. Totally worth it.
14:08 - >> This one is a lot more complex than most of our other capabilities, but it’s worth it. >> What’s that meme that goes around, where you have Gru from Despicable Me with the white board? It’s like, okay, first we write the code, assuming there’s no problems, and then we publish. That’s it. >> That’s it. It’s as simple as that. It’s missing a few steps in between, but that’s it. >> Yeah, that’s okay. We don’t need the extra steps in between. >> Cool. Then we can talk about maybe Codespaces. How this works in a development environment in the Cloud. >> Yes. >> Yes, I think you talked about GitHub Codespace already in Visual Studio Toolbox.
14:59 - I don’t know how much I need to explain in this episode, but to just briefly go over, it’s basically a complete development environment that’s in the Cloud and it host your project and the development tools. What this means is that for an individual developer, you can develop from anywhere and it can be accessed from Visual Studio, VS Code, and even from your browser through a GitHub directory. But what I’m more focused on and what my team is focused on is really for development teams, to help those development teams and team members contribute to their projects without complicating all the local setup so that we can help them to be more agile and easily scalable. For using GitHub Codespace on Visual Studio, it’s in Beta, so you have to sign up for it using the link shown on this screen. But if you’re using Visual Studio as your access point to Codespaces or as a client for GitHub Codespaces, we’ve created what we called a tailored installation journey, which will actually make it super simple for you to install Visual Studio and ready to be connected to your Codespaces.
16:19 - Remember the Workload Selection screen that I shared earlier. You won’t even need to go through all the installation details to select all those workloads or components. We do that all for you. This means much quicker first time installation of Visual Studio, which will happen in under five minutes now. >> That’s really cool. Where’s the rest of the rest of that footprint going if it’s only taking like a seventh of the time to fully install VS? >> Yeah. All the compute power, the compiling, the debugging, testing, running, all that is now happening in the Cloud.
16:54 - so all those tools are in the Cloud and you’re basically accessing it from your client machine. >> Neat. Yeah, still slightly bitter that I can’t have my caffeine break, but I do appreciate the faster installation times. >> Yes. That’s what we try to do. I know the Visual Studio installations can be really big, so narrowing it down and refactoring as much as we can is what we’re trying to do now. >> Yes. It seems like that makes sense for Codespaces too, just conceptually anyway, since if the idea is you can develop from whatever machine that you have, including your not so stellar personal laptop, then having a small footprint for the install for VS is pretty nice and not bad. >> Exactly. I can use my little sister’s who in middle school, her laptop, to do development.
17:48 - It doesn’t have to be a heavy duty development machine. >> Awesome. >> Yes. Exactly. >> Just totally steal your sister’s laptop just do this. >> My laptop has a lot more important things to do than that. I’m kidding you. Some of the things that we’re developing on our team, actually, there’s one thing that I really wanted to introduce here today, which is the Devinit. We’ve all been there. Even after you clone your repo on your machine, the time it takes you to actually get that project to build and run takes a really long time, hours if not like a whole day, because oftentimes, you really need to install additional dependencies like SDKs, compilers, and even external tools like Redis and RabbitMQ.
18:40 - Devinit essentially takes the VS config a step further. We’re really trying to solve this, “It works on my machine problem,” that we tend to face a lot. With every project having a lot of dependencies, this means your Codespace environment also needs to be not only just created, but it needs to be configured. This is where Devinit comes in. To put it simply, it’s a tool that helps you define and configure your development environment. You can think of this configuration as how you would customize or configure a VM for a specific repo and this configuration information will now live with the source code, so that the next time someone clones a repo to a codespace, it’ll set everything up for them so that all they need to do is type in devinit in it, in the Terminal, and press F5 and it’ll be like magic. It’ll just work. >> That is so exciting.
19:44 - Seriously, it’s always such a waste of time when you clone the repo thinking it’s going to work and then you spend hours just trying to get F5. >> Yes. When you finally get it to work, then the new Managers will be like, “It might be a good idea for me to write a long wiki or documentation on it,” and then it never gets updated. >> Which I have had to do before. >> Yes, you do. [inaudible] you look at it and you’re still the author. >> Good stuff. >> Yes. I can go a little bit into Devenit if you like. Would that be something that you’re interested in? >> I would, but I think we’re actually short on time. For people who would like to learn more about it, where can they go? >> Yes, if you want to learn a little bit more about it, you can go to ak.ms.
/devinit/docs 20:43 - and there you will see some of the examples that we have, the tools that you can use with devinit as well. >> Sweet. Yeah. Plus.NETConf, which just ended did a full scenario on Devinit and went into depth with it too, and it was pretty cool. >> Yes. You can totally optimize your Cloud environment and all that stuff. It’s pretty cool stuff. >> Devinit just deserves its own episode in many respects. >> Yeah, that’ll be a good one too. >> Yeah. Sweet. Thank you so much, Soojin. I had no idea there were just so many different things you can do just while VS is installing, and even that time, the time it takes to install is even shorter. Yeah.
it’s not just a one and done 21:36 - thing with that installation desk dashboard. You can keep coming back to it if you want. >> Yes. >> Good stuff. You already mentioned that people can go to the devinit site and stuff, but are there any other resources that people should go to in the event they want to work? >> Yes. Actually, Devinit, we actually built it for Codespaces, but it is available locally on our preview channel. If you wanted to try that out, you can try it out on our Visual Studio Previews, and then if you have feedback, which we take very seriously, you can actually give us some feedback by going to ak.
ms/devinit/feedback, 22:19 - and we would greatly appreciate that. >> Great. Well, thanks once again. I hope everyone goes and installs VS if they haven’t already because there’s a lot more to it than you think. With that, happy coding. [MUSIC] .