 Hi there, and welcome to another episode of Visual Studio Toolbox. I'm glad to have you. My name is Dimitri Lailin and I'll be the host today. I have a guest from the Visual Studio Code team. I have Sean with me. Sean, why don't you say hi? Hey, great to see you guys. Great. So Sean, what do you do on the team? Tell us. I'm a PM in the Visual Studio Code team. I've been with the team since before we launched the product initially, all the way through now, and I really work on all facets of the product. Hopefully today I'll give you guys a bit of an update about where we've moved recently and some of the things we're planning to do. Cool. Well, I think a lot of our audience probably know exactly what Visual Studio Code is, but for maybe somebody tuning in who's new, give us two seconds. What is Visual Studio Code? Yeah, Visual Studio Code is a cross-platform editor, code editor, so it runs on Linux, Windows, and Mac OS. The idea is it's really productive for a developer who wants to edit the code and have a rich interloop development experience between editing, but importantly debugging, and working and running their code. So Visual Studio Code goes above what you've normally seen in the editor landscape with a set of really rich language services, think IntelliSense, code completion, refactorings, and then also support for debugging, and I'll show you some of that today, but it's a code-focused editor, cross-platform, really easy to install on your machine and get going with. And supports lots of languages, really lots of things you can help with with it. Literally hundreds of languages are available for VS Code today. We ship in the box with really good support for TypeScript, JavaScript, and the Node runtime, but you can get C-sharp, C++, you can get Scala, you can get Java, F-sharp, really anything out there and Go is something that's very popular. Also things like PowerShell as well. So really we've got a whole marketplace of extensions, and I'll show the marketplace as well. All right, that's awesome. All right, so let's jump into this episode and take a look at some of the demos. Okay, cool. All right, well, I'm on my Mac here, and I think all code demos start with running the program. So I'm actually going to use something called Aaron Sider release, so code inside is full stop. Aaron Sider's release ships every night, and it's the same build that we use inside the team to work with Visual Studio Code. So I've cheated here a little, and so far as I have a little script, so I don't forget what I want to say. Yeah. And so, you know, first thing though, the inside is released, you can get it from our website. It's about 30 megabytes to 50 megabytes to download, so really within a few seconds you can get up and running. VS Code installs super quick. Like I loaded an e-machine in minutes, in a minute, basically. Yeah, and hopefully you saw it starts up pretty quick as well, and you can get straight into coding. So I thought I'd show you some of the things that we've done to try and make it really easy for new users of VS Code. So one of the things that we introduced recently was something called a welcome experience in VS Code. I'll just make this window a little bigger. And so this welcome experience is just a standard start page. You can dismiss it. But the idea here is obviously it helps you open files and folders that you've already worked at, worked with, get access to our help documentation. But maybe over here there's some cooler things. There's an interactive playground, and by clicking on this, you can instantly get a feel for some of the features in the editor. And these little areas are actually true editors. You can see color swatches to help with CSS. You can actually literally use these and do editing inside them. You can do things like IntelliSense. So right here, this requires a node module to work IntelliSense here, and behind the scenes, we automatically acquire the IntelliSense typings for that. So straight away I get great suggestion support. Right, so basically the extension for node is giving you that capability right in there. That's right, straight out of there. So there's a good way to learn some of the advanced features inside the product, whether it be how we refactor things, you can just go and rename symbols in here, how we can format code, how we can do multi-currency editing. So just a good little playground to quickly orientate you to some of the rich features of the product. Right, so that's one thing in the welcome experience there. Another thing is just to give people a bit of an overview of the interface. So if you haven't really seen BS Code today, it's a pretty slimmed down interface, but the idea is it's file-on folder-based, so you can always see a tree of files. But we have a great search, and in fact, one of the enhancements we've got in our current release is significantly improved search performance across the breadth of your project, both regular expression search and standard text search. Source code management, we ship with integrated support for Git. So you can do diffs, you can do commits, you can do merges, stage changes, all of those things directly within the product. But again, also with the release that's just coming out in about a week's time, from today, the beginning of April, we'll include a provider so that other source control systems can be plugged straight into just your code. So it's sensitivity is opening up for that, basically. That's right, and we've got people working on Perforce support, and of course TFVC, and a host of other things, so they'll be out there really soon. Debugging, managing extensions, and I'm gonna come back to all of those things in a minute. But the idea is it quickly can orientate you to the interface. So one of the things that people really like to do when they come to VS Code is they've used an editor or another product before. So one of the other things we've made it really easy to do recently is say, hey, look, I actually want to use keyboard bindings from Sublime or someone else. If I click others here, what you're actually seeing is a list of key map extensions, and what they do is they will map our existing key maps to the ones that you'd expect from Sublime in this case, and that way, you don't have to relearn any muscle memory you can get going straight away. It's one of the biggest things developers get used to, right? You get used to an editor, but mostly you get used to the hotkeys and where things are more or less. Those are the two big things. This can make it a lot easier, and this is all driven by JSON files behind the scenes that you guys have, so people can come in and change an individual one if they don't want it. It's not just only the extensions, they can change it. Absolutely, in fact, I'm gonna show you that just in a second. But the cool thing with these extensions is you can adopt all of them in one shot, and you don't have to make the changes. Someone's done that work for you. Yeah, somebody did the mapping, you just do it and switch back and forth. So maybe that's a good example. One of the other things we know when people use a Prodolab VS code is they want to be able to configure it, so it works the way that they want to work. And you just mentioned keybinding. So just jump straight there, preferences. And what we've added just recently, I showed you keymaps before, is a new editor for keyboard shortcuts. And so the idea here is it's very easy to find something. So let's say you're into folding. I love the search box at the top. Anytime you have a list of anything that is big, there needs to be a search box. Yep, that's right. And then we have a lot of keybindings. But this is a way that you can easily see all the folding commands. You can click on it in the icon and you can instantly edit and add your own ones. So if you want to customize ones that are there, whether they contributed from extensions, like additional commands, or if you want to just edit our defaults, it's very easy to do now. And we've done the same thing with settings. And I'm going to get on to code soon, but so many of these things for an editor are things that people really feel are important to get comfortable. So I'm actually going to go into our settings editor. So configure settings. I could go command comma as well. And again, you have a similar experience here where you can search. So say I wanted to do word wrapping. It'll instantly sort of show you the settings that are relevant with descriptions of what to do. These little helpers here will show you the valid commands and bring it across. So that's pretty cool. Yeah, that's pretty nice. And one thing that people get really keen about in things like editors is changing things like the theme. So we've always had this ability to sort of get additional themes from the marketplace, but also sort of change through themes and live preview them. So I'll choose the light plus theme at this point. I'm so used to the black with the editor. I see white, I'm confused. Well, watch this. I'm looking at this little code. We've got one of the things that we have just added in this Insiders build is the ability to start customizing the UI even more. And so I've got some keys here. They're actually going to change in the next release, but you'll sort of see the potential of this. And so people have wanted to be able to change the blue background here or the black background here. If I just comment out this whole section, see if my comment itself, you'll see that I really can quickly change the breadth of the UI. And it's not only themes that you don't have to do a manual like I just did there, you can obviously do it through the gallery. And so let me just actually make this more visible. I'll pop out the file explorer as well. So here I can go to a theme like Solarized and you can see that people really can change the breadth of it. Yeah, it's great. The real-time preview is awesome. So you keep going and typing some magic at the time. Maybe somebody's never used this thing before. What are you doing to get to those lists? Yeah, that's a great point. So one of the key features of Visual Studio Code is something called the command pallet or open anything. And so you can push F1, for instance, and you get access to all of the commands within Visual Studio Code. It's a great way to learn everything that's in there and see if having to go through all the menus. But you can also see all the keyboard shortcuts to the side. And so I can quickly refine that list of commands again. There you go. Now I can see there. And I can do many things like set some folder icons and you'll see that those are adapted on the side. Nice. So super powerful there. Some more things that people have been really keen to see. Yeah, what I found when I was learning VS Code for the first time, it's very familiar, first of all. If you're a developer and there's nothing so complicated here that you can't just click around and figure out. I love that we have more help now for that. I found that little search grid in the middle there was really awesome to get for the settings. And then the tool bar at the bottom, status bar, I guess, we have all of the, it's showing you what mode is it in, so it's showing you an instance in JSON mode in the bottom. Besides the little feedback button there, it's always good too. But you can see a lot of information right there and you got on the left, you got your branch information if you're using it or you got errors. I mean, it's all right there. It's very familiar. It's a VS developer, right? For me, this was like 10 minutes and I felt I could work within this editor. That's good. The hot keys is the harder part to remember all. So that's why those packs are there. And that's definitely something we want people to be able to do. Cool. Okay, so while I'm here, believe it or not, I'm just going to showcase a couple more features that people may or may not know. JSON is actually something that's really important through our settings experience, but through everything everyone does. And I just thought, I'd highlight that one of the most important features in a product like Visual Studio Code is, of course, IntelliSense. Oops. So you can see IntelliSense here within JSON showing in this case all of the available color attributes that you can set. And it's a great way to discover the breadth of an API. And my point here is it's rich in many places. So for instance, these are the theme names. You might not know the identifier for our theme names off the cross to top your head. But of course, IntelliSense does. Yeah. So these sorts of things are great editing assistants, really reduce errors as well. I'm so spoiled by IntelliSense when I don't have it. But once in a while, IntelliSense will start working somewhere in some product and I feel so lost. I'm like, oh my God, how did we work without this? That's right. It's so hard. OK, so I'm spending just a little bit of time on the settings here because these are set up the rest of my demo. So a couple of other common settings that people like are things like rendering indent guides. They provide little guides inside the editor. Rendering white space. And I'm just commenting these back out. HOTX is something we support. But there are some cool features in here that haven't been in all the builds recently. Drag and drop is now supported if you add in that feature. What can you drag and drop? Text. Text. Yeah, I'll show you in that right now. And obviously, a mini-map, just showing up on the right-hand gutter over here, that sort of 10,000-foot view of your code is something. The VS-like feature that we have. You have Sublime and Adam as well. And so I'm a little biased. So for the transparency to the audience, our friends here, I don't use Sublime, right? I've just never had the need for those editors. VS Code was the first kind of editor that I've used quite extensively. So I come from VS. Everything I compare is back to Visual Studio. But yeah, these features, I think, are very valuable. Yeah, these are great features. So drag and drop is just that. Literally, you can drag and drop a set of text. You can also copy a set of text by pushing the Alt key. And then I'll copy in there. Of course, I don't want to do that. And I just showed you a mini-map. So a whole host of little things there, but I think the most important thing is just really being able to improve the experience, make it the way that you want. That's one of our top feature requests. You're showing a preview build, right? So you're pushing forward. Some people like to stay in stable, can they run side by side to test out new features and go back and forth? So I can load stable right up here beside it. And yeah, straight away, it's working. Awesome. All right, so now let's actually look at some code. Yeah, let's do it. So I've got a little empty JavaScript file here. And what I thought I'd actually just zoom in to a little bit is the debugging experience in VS Code and really how rich and easy it is. So I'm going to cheat, oops. I'm going to put a bubble sort in here just to use a snippet. And so you can see the indent guides and the white space markers right there. And this is just very simple JavaScript code that will create a bubble sort. And so I mentioned that we try to make it really easy to sort of run and manage the inner loop. So I should just be able to hit F5. And boom, you can see the debug console. You can see the console right lines in the output. Nice. The array was sorted. OK, that's cool. Well, the first thing is, you know, you didn't have to configure anything to get that to run. But I wanted to bug. Yeah, I mean, the bottom right, it's telling us, look, VS Code knows this is JavaScript, right? So we already know we're in the right place from an editor knowing the IntelliSense and on the debugging experience, right? That's how we attach in. The one thing here, like just to point out, I know you said it, but I want to be very clear. The guides going up and down, the dotted lines going across. We enable that. This is stuff you could have turned off or could have kept off. I know some people are very keen about editors like these being super clean, as they call it, right? So we can be as clean as lean as they want, or people like me who love the lines and the grids. That's exactly right. Yeah, yeah, yeah. And you know, I want to make sure I keep one section in here. And right now what you're showing also is the fact that you can have lots of stuff open at once, right? So you can have multiple windows side by side. You can have the output console at the bottom. You can collapse the left side. Like I've learned working with this thing, like it's very much capable of showing enough that you're functional without having to open up multiple versions of code or something to look at those ranks. Yeah, so okay, so now I've set a break point in the same sort routine. I went because you said you like some people like minimal. I went back to my sort of minimal aesthetic. And so I'm going to now F5 again. And this time, boom, I hit the break point. The setting change I just did was something that is in here is another setting is showing live sort of inline debug values. And the idea here is obviously we support things like hovering over values to see what they are. We have a sort of local variables and watch area and a stack area and a REPL. So I can go A which is that sort of array object. And you can then expand it out. Or I can go A and X1, which would give me 203. So we have this sort of REPL where you can actually set and edit things. But these inline values allow you to sort of not have to do as much of that if you just want to see what's happening. Yeah, you often do, right? You have to hit a break point. You're like, are all the things that stay to expect them to be? When it's not too dynamic, this could be very useful. And then the bottom lets you drill in. Let's actually change the test value. So you want to say, hmm, this shows 34. But if I change it to 35, will it behave the way expected to? You don't have to restart, right? You use the console down there and you're good to go. That's exactly right. Cool. So I can continue playing through here. But as you mentioned, sometimes something could be going on that you don't fully understand. And so the other sort of rich debugging features is you can do things like edit these break points. You can put expressions in here. So in this case, I'm going to say that I want i equals nine. I could have a hit count. And these sorts of things, now I can, so you see I was five over here in the variables view. Now I go play and I'm straight to that point. And you can imagine in a really long running intensive process it's there. These are pre-standard debugging features, but absolutely not standard features for an editor. These features have saved my life so many times in the complex projects. Back when I used to code full-time, I would have a project that would just like literally, you couldn't put a break point. Like break points weren't useful. You needed a break point if a condition was hit or maybe a certain number of times, but these are like to me baseline debugging features. And it's awesome to have it here. Just like we have it in Visual Studio. Yeah, no, it's great. And we keep on enhancing the debugging experience. I won't demo these two features, but one of the other new things in this release is an improved exception view. I've got no bugs in my code, so there'll be no exceptions today. But that allows you to see much more detail about the exception that's come back in line. And the other thing we are supporting is async stack traces and stack debugging. So it's a very rich experience for the debugger. Yeah, async can get really, really nutty if you don't have support for that. So another couple of little things while I'm here that sort of I can bridge into. So that was a little bit of, I showed actually in the interactive walkthrough, the IntelliSense experience. It just works. I can show again maybe, you can see it there. But it will just work and it will work on your required or imported packages as well. Obviously things like debugging also support transpiled languages. So TypeScript to JavaScript or Babel or any of those things with source maps. We make that really easy. But while I'm here, what I wanted to do is show you just a little, a few other things that are in the product that you may or may not know about. So one of the things is there's this panel down here that I was using for the debug console, that REPL and the console logs that were coming out. But also in here you've got things like a problems view. So if there's an error, this is where you can sort of see those errors show up and linting errors will come through there. Things that will prevent the build from even happening that you can already see based on its context of the language. That's right, yep. And the terminal, we've got an integrated terminal here which people love a lot. You can create additional terminal windows and it's a fully featured terminal. This is working on all of the operating systems. So on Windows for instance, you can use the integrated git bash or you can use PowerShell or CMD. Very cool. But the terminal is an important part of that sort of developers in the loop and people really appreciate having that there. And we're always trying to make the UI a little better. So if you need to see it all, this is one of our most more recent changes as well. You guys ship on a monthly cadence, right? That's right. Yeah, it's crazy how many times I catch a new release and I'm trying to look for the new features. I always find something I like in there. But yeah, that's a nice addition there. That's right. Two point, we do ship every month. And so if I just bring up our stable version, one of the things that when you get an upgrade, we include the release note straight there in the product and you can sort of see. And they're really beautiful release notes. They give you guys lots of credit. This doesn't come easy, right? No, it does not. There's real work here. So you can see the mini map. It'll talk about the settings you need to change. And we try to make sure that we're appropriate. I hope there's not blinding people but we have animated gifs. Those can be either here or there. Sometimes they need people overpivot but I think you guys are more or less good. So yeah, so it's a great way to sort of see what's going on. Here's some of those other features I actually didn't demo but I can just show you the animated gif. We have like, for instance, copy paste with formatting so you can put your code into a Word doc or an email. And we respect all the theme settings and all the things that you set up. All developers copied their code into email. That's just if you don't do that, you're not working in a real teamwork in the project. That's right. It's amazing how many people want to print this stuff out. Let's do a code review. Let's print this module, all 50 pages of it. Okay, so a couple of other little things. I mentioned integrated gif support and maybe I'll just show you. So we do have integrated support and as I say, there's things like diff views. It's really easy to switch to inline versions of the diffs and accept those things. So we try and make all the things that you want as a developer for the tasks that you're performing all the time, coding and tele-sense, resolving errors, running things in the terminal like an MPN install or a TypeScript watcher, and of course, committing to version control. All of those things are there and we top that up with a debugger experience so that you can really get close to your code, cool. So let's see, I just wanted to show a few things. How did I go on my little list? So this- Let me talk about that. The editor customization debugging. This is a little gratuitous extension and what it does is it just turns my markdown file into a little presentation. I love the fade effect. We need more fade effects. That's right, to resume. I'm sure there's some rainfall or crazy thing. My daughter's been preparing slide decks for a school assignment and I did not realize the number of animations and PowerPoint. Yeah, I do. It's a bit too many. Yeah. Yeah, so cover all those things off. Minimack, drag and drop, copy, paste with formatting. HotX, it's something I didn't talk about. In HotX, it's this idea that you can have a whole lot of open files. They can be untitled files as well. You can be editing away in them. A lot of people use this for sort of notebook-style situations. Yeah. And you can just close the product in and we'll persist those. So next time you open it, they'll be there. That's one scenario where people really appreciate it. Another one is- So let me say you persist. You're saving without our saving state. You're presuming that the state is not, I guess, in the file. It's in VS Code. As long as you use the same machine, you open that up, you'll see the changes and then you can decide to save them or undo. That's right. And really another point scenario, we never crash, but imagine someone pulls the power cord out of your computer and you want to stay where you were and you didn't have autosave enabled. It's another good scenario. That never happens. Except when PowerFail is around here once a year, approximately during a storm. Then, yeah. I literally unplugged my colleagues' computer today by mistake. I one time, pretty recently, had somebody take my power cord from my laptop in the office. I didn't realize it. And I was working for a while. I'm like, why am I my power going down so quickly? Yeah, power is important. When you guys say you don't crash, that's a very bold statement, too, by the way. That's a lot of confidence. Yeah, I mean, clearly every bit of software has bugs and errors, but we really do. My software never crashed either. It just sometimes had features that were not considered. For the record, VS Code has never crashed on me. We make you fun here, but it's fair. We take it very, very seriously if it does. We try to get to the bottom of it as soon as we can. Guys are amazingly stable, I'll give you that. So in enhanced customization, I think the thing I just wanted to really ref count there was, you know, we're hearing the feedback from the community and they request a lot of features in the product. And so one of the things we try to do is make sure we listen to those. So from our help menu, you can search feature requests, take you straight to our sort of GitHub repository. And here you'll see many of the things that we're working through. And in fact, you know, status bar background color is one I just demoed that you can change. I guess you didn't explicitly say this in the beginning, but you guys are open source. Yes. You're building it in open. The code is available for the editor in the open. And therefore the list of the backlog and feature requests all go through on GitHub. That's right. And it's not only just our feature requests in our development process and you can build the product from source, but you can also get a feel by going across to our work key. What we intend to work on is we move forward for the next six months. So we have our roadmap here. My favorite ones were integrated spell checking. Yeah, I was looking at your extension that you built the well back for that. And it's not a healthy one. Yeah, and then it wasn't working right. Then I read the full comments for go, okay, I get it. It's called spell checker, not as easy as it sounds. So it's implement, cross platform especially. And now we publish our iteration plans. So if you want to know what we're working on, literally this iteration and shipping, this is the definitive guide and you can not only see what we're working on, but you can engage in the conversation around it as well by going into the linked issues. So we're an open source product. We build a copy every day, which is the copy that we use ourselves and you can use the insiders one you saw me using. And we ship a quote unquote stable version once a month, which has all the release notes. So I think I'm close to this debugging we spoke about as a single file configuration free debugging. Those two things are actually significant updates to our debugging experience. Yeah, I remember at some point it was more complicated. I didn't use debugging as much. I'm using VS code more lately. So I guess I'm taking advantage of the fact I'm on the latest builds. Well, you know, to just touch on that, like in our debugging experience, it's very powerful as well. So you do have the ability to create your own configuration file. And so this is the third one that we've got here, but within the configuration file, we have many different things that you can do. Now again, this is the node version, but if you're in C sharp, you'd get a set of C sharp choices. And so this allows you to say, debug an electron app or debug with Mocha tests or anything like that. And you just choose effectively these snippets. So there's Mocha snippets and you will just then ask to fill in the relevant bits. So we're really trying to balance out the total power of the text editor. You saw Jason experience for our settings and this configuration experience, but also trying to make sure that it's very approachable. If I should just work. Yeah, I mean, I find you guys super accessible from just configuration perspective, the fact that everything is in Jason file somewhere, you can get it open, take a look at it, change it, and you know, places will, there's certain places where you can do more, but I think you guys already have a top bar in my opinion in terms of having that. We're trying, we're trying. Okay, so the last thing I wanted to quickly touch on is extensions. So inside the product we have an extension gallery. And here you can really search for any extension you're after. So I just, my last query was the key maps that we saw from the intro guide, but say you're a developer who's working with, I don't know, I just making up some example, Flow or Scala or, and the point is there's extensions here that can help you really work with any of these. So for instance, this Java support by Red Hat, it uses Eclipse headless underneath to provide rich suggestion code help with the Java projects. And it supports the project systems for Java, all those things as well. Awesome. So yeah, the marketplace literally today has over 3000 extensions, over 400 languages, 400 themes for people who are into themes. And so if it's not in the marketplace, I'd be surprised. We're always working to get more and more there. But some people don't wanna go through and manually search for everything. And one thing I wanna sort of close on is, one recent thing we've added into our marketplace is this concept of extension packs. And we've got a category over here called extension packs. And what this is, so this is the web-based version of it is a single extension that bundles up all of these other extensions. Yeah, and there's a lot of great, great stuff in there just scanning the list quick. And you'd be sitting there for quite a bit of time manually installing each one, especially if you have to cross machines and configuration, et cetera. So maybe that's a nice little shortcut for you. Yeah, so you know, instantly even in the product you can see the same information, you can view through the dependencies. But you know, with a single button press here, what will happen is I'll actually end up with all of these extensions installed on my machine. And this guy's gone out and done the effort to make sure that I work well together. So it's one of the nice things that we have as well. Credit to our community. That's the power of having all these folks contributing. Yeah, the marketplace, a lot of people still don't know we have this marketplace, right? That's where we have all our extensions. We have them for Visual Studio. We have them for Visual Studio Code and VSTS as well. So it's like one step sharp. Absolutely, yeah, awesome. So that's yeah, extensions look soon for SC providers to be there as well. Oh, I guess I should just point out I did install about 30 plus extensions then. And you know, one of the nice things about Visual Studio Code is now they're all installed and running. Cool, yeah, and a lot of our VS Code always opens to the back to kind of the same state you were in. So I don't even worry about it to your point. Yeah, okay, great. So maybe quickly show people where they can find out more about the product. Yeah, let's do it. Okay, so Visual Studio Code itself is code.visualstudio.com. And here is the place to get the product. If you can see I'm on a Mac and you can also get the Insiders version just by this drop down here. This is where you find out how to use it. So there's a whole user guide and a getting started guide in here to help you configure it and sort of orientation. I find the documentation really good. I've used it multiple times to find something and I find that it's really not difficult. Great. I get there with no problems. Great, and of course, you know, if you wanna talk to us, well, one thing is Twitter and you'll see I am logged in as at code. So often you're gonna be chatting to me. Yeah. I'm a bit behind on notifications and messages today but I'll catch up. Yeah, it's always a lot. But yeah, Twitter's definitely a way to interact with us. And of course, I already showed you our GitHub repository but this is where we can really see the pulse of the whole project, the fun emojis that we're putting in that go along the way and the velocity of the project and the project is still under very heavy development and we really want everyone's feedback to make it better. So yeah, this is my sort of run down of VS Code. That's awesome. And evolve text editor. Yeah, well, I hope we can keep doing these episodes. I think there's gonna be always something you need to talk about. I find the release notes always have so much stuff in it and there's certain things I get excited about. I think some features are bigger than others. So hopefully we can keep talking. But yeah, any call to actually want people to do besides go download and try this thing? Download and try it. That's the most important thing. You know, reach out to us on Twitter if you have any problems. Let us know what we're doing good and bad. If you're interested, if you're a user of the product already, make sure you go and read the roadmap. Get an idea of where we're heading and if there are things that we don't do that you wish the product did. Make a feature request, help search feature requests. If you find a bug, tell us, we'll fix it. We're pretty good at that. That's awesome. Yeah. All right, well thank you so much for being on and thank you for joining us. We hope you learn a little bit more about Visual Studio Code and we'll try to do more episodes. There's lots to talk about. We have other ideas in the pipeline so hopefully we'll be back. Thank you very much for being our audience and thank you, Sean, for coming on. Yeah, thank you. Thank you guys. See you guys, bye.