Community Update: Python Software Foundation with Dawn Wages
Published October 23, 2025
This video features Dawn Wages at DjangoCon Europe 2024 in Vigo, Spain.
Workshop: Supercharging your Python Development Environment with VS Code and Dev Containers by Dawn Michelle Wages
https://pretalx.evolutio.pt/djangocon-europe-2024/talk/3UZAE7/
Dawn Wages presents VS Code as a flexible, extensible Python editor whose usefulness depends on deliberately configuring its settings, profiles, keybindings, extensions, and workspace files. She explains how Python support, Pylance, debugging, testing, Jupyter notebooks, Ruff, Black, Data Wrangler, SQL tools, GitHub integrations, Live Share, and browser-based Python fit into the environment, while noting that Django IntelliSense still has gaps compared with PyCharm. She also describes development containers as declarative, reproducible environments and Codespaces as those environments running on Azure in the browser, with examples relevant to Django projects and open-source contributors. Wages treats GitHub Copilot as useful but requiring experienced review, and emphasizes that the accompanying guides, profiles, and examples are intended to help people build an environment suited to their own workflow rather than prescribe one editor.
Summarised automatically from the transcript.
Automatically transcribed, so expect mistakes in names and technical terms.
Speaker 1: And I can also see the online notifications, so I will not ignore you. I'm waiting for a response from the online friends if you can tell me if you have audio. Cool, it's working. Awesome. Um so we were gonna be in one um documentation Part thing um this whole presentation. This is originally designed to be in a three-hour workshop at DjangoCon US So you have tons of resources. You also know me now. Um, so if you ever have any questions, comments, or concerns about Um keep them nice and civil, please. Um about Microsoft and Python or VS Code in Python.
Speaker 1: Um I know the people who care very, very much about it. I too care very much about it, and I'm happy to try to help you get answers on any of the things that you want. So my name's Don Wages. I'm the Python community advocate here at Microsoft. Not here, over there. I'm here. Over here, I'm actually on my free time and I'm just doing this for fun. So that shows you how much I actually really enjoy VS Code. This part I'm not actually getting paid for I also, and because they're not not paying me, I also have an agency command lines. I started with um some friends, Chuke and Marietta. Some people know them in the room. And um, if you also have Python needs and you just don't want some cool people to work on some Python code for you.
Speaker 1: Um we've been doing that. You have our first client this summer, so you could be our second. Um anyway, so let's jump into the tutorial. Anybody want this up for a little longer? There are there is some interactive portions of it. I will be asking for like voting and things like that. And there's a Slido that you'll see like you're voting live. So if you could get on there, you can vote live and we can see it. Okay. All right. So the premise of this whole talk is really we're going to start out with the functionality of VS Code. We're going to get into it. There's uh one of the tricky parts about VS Code is that it is an extensible editor. It is free as well. So one of the reasons why we've had an explosion of popularity is because we also invest so much time in the developer experience.
Speaker 1: But it's also there's a lot of fiddly bits. So people don't understand or don't think it's intuitive, rightfully so, to know what to do with your VS Code out of the box to suit your skill sets I have a couple other talks that are a little bit more poetic, a la Daniele, but I will never reach that level of poetry. That more so talk wax poetic about um investing in your developer experience, making yourself feel at home, getting nestled in, and then figuring out all of the bits and bobs that make you really feel happy and healthy and productive. And I um really think that is part of the flavor of what you can get to do with VS Code. So if you take the time to be intentional with it and learn all of the ins and outs, you may find a really cool developer experience that helps you and does not prevent you from using Emacs or Vim
Speaker 1: if you want to. you argue amongst yourselves which one's the best. Okay. So VS Code, as I mentioned, it is the code editor. It also is what powers dev containers and code spaces. Can I get a raise of hands? Who here uses VS Code actively right now? Okay. And Everyone who raised their hand, because it was like a lot of people, but everyone um everyone who didn't raise their hand if you're not using VS Code actively, is someone on your team using VS Code or someone close to you using VS Code and that's why you're curious Okay, cool. I'm just trying to um get a get a sense of who I'm trying to win over. Um I also like PyCharm. I was a PyCharm user as well and dev containers and code spaces are also just extensible tools that you can use on other editors as well. So I'm not trying to push you to use anything that you don't want to use.
Speaker 1: But it is heavily VS Code focused. So if you're not interested in VS Code, this may not be the best session for you. So as I mentioned, it is a 50-minute workshop. I hopefully will not go five minutes over, and there's a three-hour kind of guideline on there too. We'll start with what's VS Code and what is dev containers and how to get into code spaces. Can I get a raise of hands on who knows what dev containers are? Cool. And then what about a show of hands of who's knows or uses code spaces? Okay, cool. So I got some I've got some educating to do. That's awesome. So VS Code is inside dev containers and code spaces, and it's just a way for you to travel anywhere with your code.
Speaker 1: Uh dev containers is under the hood a lot of Docker, so all of your information that you've used with uh Docker virtual environments uh containers. is transferable, but it also gives you an ability to set your environment declaratively and also have your editor in it. So it is a dev container. You are going to have two parallel containers, one for your production. one for your development life and testing lifecycle. You are going to share dependencies across your development lifecycle through the through that container. And then Hypothetically, I typically don't do this because it ends up getting messy, but hypothetically you can copy some of the base container image for your local development and then do a production on the same image I use GitHub Actions. It doesn't actually use work apples to apples. I'm pointing it to the same bullseye image, but it's it's not always the same.
Speaker 1: Okay, so that's theoretically. So then we're also getting to the VS Code guide. I get into the nitty-gritty and I talk about AI and copilot. There's a portable mode, there's a Zen mode, there's a screencast mode. We can dive deep into AI if people are interested, but if this is not an AI-interested audience, it doesn't have to be no one's paying the video. Then we'll have a we have an opportunity for glue group exploration and so I have some scenarios that you can pick for um pick some of And then if we want to, we can take a vote or I can just keep going into it and we can take on items we want to talk about. But you have the opportunity to just explore on your own and then we can come back and talk about the things that we've explored and I can give context or we can answer questions or I can take public complaints. I'm I have broad shoulders and it's totally fine.
Speaker 1: And then we'll talk about div containers and code spaces. And then the last part is on your own. All right. So let's jump in. So this question uh this workshop can be self-directed as well, so you can have this and I will continually update it. But I would love to know uh if you have feelings on your development environment. Take out VS Code, take out any of the technology tools that I've talked about. You just have words and feelings on your development environment. Can you share them? I want to get vibes of the audience. How do you feel? Is it like hairy? Yeah, we can say I'm a lot.
Speaker 2: So I I use PyCharm. Okay.
Speaker 1: Okay.
Speaker 2: Yeah, I feel like I've set up my shortcuts for opening the terminal and the virus like those things.
Speaker 1: What's your shortcut? I'm actually curious. Which one do you use?
Speaker 2: Command two for turn one.
Speaker 1: Command two, okay.
Speaker 2: Yeah. Um and so you know like it has a lot of shortcuts, of course, as it does VS code. I use it sometimes when I do
Speaker 1: Yep. All right, all right. Well I will try to win you only over only and everybody else can make their own decisions. But you, I got you. All right. Okay. Any other thoughts? You can just say it out loud too. But you I would love to have the word cloud if we have some. Let's say competitive. Uh is this working? Why did it do that? Okay. All right This is also the first time I've done hopefully welcoming. I love that. Anymore? Some people can say them out loud. Hideous, maybe
Speaker 1: Confusing? Okay. I wouldn't keep you over here. Okay, cool. So if you have to have any questions as we go through this, you can also uh put some questions in the QA QA and we'll be revisiting this afterwards, not this week question. Also if you have yes. Yeah. Yeah, you can write right here. Oh yeah. So this one is in the second tab for polls. Um you can just write your vibes. All right, I don't want to spend too much time on this because we only have 15 minutes, but um so it's free, it's built on open source
Speaker 1: It's built off of the PyRight, and then it also has some extra goodness on top. Some of people's concerns about VS Code is they don't want people watching them. you can turn off the telemetry and so there is this uh I think it's VS Codium is an is a fork of VS Code. Use it if you'd like but you're also missing out on some of the newer features that come every day So there's uh VS Code uh stable and then there's also insiders. So insiders have nightly releases. Let's think about it as the uh well we have the Windows Insiders program. But think about it as people who are on the bleeding edge and who are kind of testing and those are our most avid users. But you also have monthly stable releases. We have a release coming out and release notes coming out this the end of this week and we have May release as well
Speaker 1: You can have them living on your computer side by side. One has a green icon, one has a blue icon. Also, we have Python in the browser. And so people might think, oh yeah, it's just an editor in the browser. But for those who may know, like this staff that it takes to put Python in the browser is a big deal. Some of our team members have invested heavily in figuring out how to make sure WebAssembly and Python in the browser work. So it starts in the browser, it does all of the work in the browser, and then it outputs from your terminal, and that's pretty cool. And we are adding to giving back to the ecosystem so some people may know what canon who is a CPyCon core contributor and also Eric Snow. Both of those people work at Microsoft and are heavily involved in it and they get some of their time paid for the contribute to CPO.
Speaker 1: So we also actually have a team called the Fast Working Python team, and they're they 've got five people whose hundred percent of their time is devoted to making Python faster. We also collaborate with Facebook and other teams. It is not the a secret cabal by any means. They're just like nerds and very quiet about it, but we're trying to get them a little bit more noisy to share the work that they do because they're very proud of it. I also have a release videos and streams every second Friday of the month. It will not be because I will be here, but it will be the third Friday this month. It's called the Python Pulse. And that's one of our friends, Marlene. She's a she works at Microsoft now too. And I have um an episode with Ling Chain about Lang Chain with Marlene.
Speaker 1: So we don't have to keep doing the interactive part, or it's really just to be fun. Like we can. But I wanted to know what are you most interested in learning about today since we 'll General VS Code settings. I also see that we're like winning people over. What about VS Code collaborative features? Our last uh talk with Tobias and uh Kenya was talking about uh collaborative programming there is live share. There's also uh Copilot, which is a AI care programmer. There is a video in here that I went deep, I did a deep dive. I also broke a little rule and I published a video that's not live yet on my personal channel so people have to get it today.
Speaker 1: So if you want to see and rebuild an entire Django app in 45 minutes with a GitHub Propilot It absolutely underscores the things that Kenya mentioned where if you are not experienced with programming, I've been a Django engineer for about eight years. Content is going to be very hard. And so you're not going to have all of that context or be able to tell whether or not it's really good code. Um but Django is really good, especially from getting from zero to maybe like sixty. Um because you all you do have the ability to have the the error messages that Django provides. Django's really good at kind of telling you like something's broken and where to look to fix it. So I'm gonna say I'm interested in communicators and that's my
Speaker 1: top priority. And then I also want to collaborate Cool. Seems like other people are agreeing with me. That's some that's some things that we're looking to get into. It also seems like some people are interested in GitHub Copilot, but we're gonna spend less time on that and so I'll let you all just do that on your own. So just contain it. Yes. I went to World of Tony Wallace
Speaker 1: Yeah, that's something. I would love to connect with you and keep keep that on um on something that we can we can tackle and anyone else interested in doing that. So I there is an episode of the Python Pulse where I interview our senior engineer tech lead for VS Code and Python extension team. And for those who don't know, most of the functionality always lives in an extension. This is something that's part of the talk, but like I'll just talk to you a little bit Um so they all live in extensions. Um that's just a design decision that we've done. So there are extensions that are managed by Microsoft and then there are extensions that are managed by the community. But that means all of the APIs that we have open for our own extensions are available for all of the personal extensions that anyone wants to make for themselves.
Speaker 1: like in TypeScript, which sometimes ends up being hard if you want to build a Python thing and Python is your um bread and butter and you're writing in TypeScript. Well now we have a new extension template where you are writing more in Python than you will need you in TypeScript. We have not eliminated it, but there is more Python. And there's a really cool extension that's just fun. It's called VS Code Pet. Does anyone know this one? It's so cute. So what you have, I don't have a picture of it today, but you just have a cute little virtual icon on the b on the bottom. It's a whole square and there's sometimes there's backgrounds and you just have little animals hanging around with you and there's been contributions people love to get their Octoberfest uh t-furts based off of PS
Speaker 1: code sets um and we'll just like add little fluffy animals a squirrel a snake there's a bunch of them Anyway, but that's an example, and I'll direct you to that particular project and others like it to be able to just kind of get into contributing to VS Code. So the um dev containers. So it is an open spec. Dev containers also exist in um deck brains and IntelliSense. um products as well. It is a development, pardon me, it is a development container. So that means you have you are sharing your dependencies, your compilers, SPKs, libraries. build tools and other utilities but between your inner loop uh your kind of your small solo um programming needs and your outer loop where it would be also your teams But it's also keeping consistent that operation on the OS, your runtimes, and your shared library,
Speaker 1: where you are able to uh have it declaratively. So even if you don't decide to use the same image um or share file structures uh between your your dev container um docker image and your production container. Um you also have all of that listed explicitly Uh sugar some more quick links or you don't mind. There are so many quick links. This is truly just me digesting all of the. information from all of the places over the last few years that I've been working in in VS Code, and this is what I wish I had when I first started Um we don't have to fill this out now because we're running low on time, but if I uh just like I mentioned to you, friend I'm willing, I want to make relationships.
Speaker 1: Django is already my community. I really enjoy making friends here. So if there are tools that you are bringing to VS Code that we're not supporting to the level that you'd you'd like please let me know. We just integrated support for Hatch and Pixie development environment um uh tools. So and I don't use Hatch, I started using Hatch because we uh we support it now So please let me know. But that is not one of our golden paths. So if that's, for example, something we'd like to invest more time in, please let me know Code Spaces. So Code Spaces is dev containers, but you're using Azure Compute. You start out free and you can pick your RAM and I think the size of your memory
Speaker 1: and then uh you can also pick the location um that you're you'll use as you're as you're picking there's also default options so you can just hit the green button on your GitHub project will spin up a container and now you have VS Code in your browser and it's exactly the same tool that's running VS Code. dev and you are able to program like that You'll also still have some of that declarative, the declarative structure in dev containers where you are now you can have the post-create command, for example, so you can open up a Linux instance and then you can have that it will create uh uh install all of your requirements and then start your Django project for example And so that's really uh Dev Containers when I speak about it
Speaker 1: to mostly to open source contributors because that's where I feel like it makes the most sense. Because if you are trying to have a project that may have high-level complexities, maybe it's a a Python project, but for convenience, you are an expert in React and you put React in your project, but you don't expect your end users to have any um TypeScript or JavaScript experience, you're able to run certain commands on the background for them and able to just so they can just start committing or playing with the code, for example. And so it's a really cool sandbox. Hands are also welcome. So what you have on this left side, you have your code editor, you have your desktop in your browser, JetFrames, your command line, LPG. We're you know, we're not trying to push you anywhere. I don't, you know, uh, but it will talk to your Azure instance that we've allocated for you in the cloud.
Speaker 1: We do have a limited amount that you can have per month and it resets per month, and then you there are paid plans. But you can get a lot with what they have now. And you know, you should get in now because it's a new tool and we like to give you like three good layers now. And then we start keeping like it's like that. Yeah, yeah. Um we already talked about this, uh it seems like a good number of people had not heard of code pieces before this. So I'm really excited to be able to share that with you. It's really fun. You can answer it, you can not answer it. So this is the guide. This actually gets pretty tedious. And so I'm also using one of the non-Microsoft
Speaker 1: creative tools. This is why it's definitely a moment for the project. But this is a Canva instance, it's interactive, it's really like kind of made to be shared among teams in order to get kind of buy-in, but it's also made to be fun. So here are some extensions that I think are really, really fun and lovely. There's an extension pack called the Python extension pack. It includes uh Django snippets. Snippets are not as popular now because we are leaning towards the AI path, right? So if you want a little code chunk that is common and usable the boilerplate for example, um you would not uh we're encouraging use to use backslash i and we'll start a bit of code spaces excuse me, GitHub Copilot. But there is snippets if you're just like I'm
Speaker 1: agnostic on the AI, you have the snippets and it's Very, very similar to what we all use snippets for, like Django snippets, the Carlton's Django Snippets website. We also have Jupyter, uh, Jupiter notebook in here. We have Data Wrangler, Docstrings, other things like that. We're also supporting Ruff. Ruff is actually one of the extension, default extensions in the Python profile. I'll also go into what a profile is profiles solve the problem of I don't know what to do. I just started. So you go into the bottom left hand corner of your your uh VS Code. I can show you but you go into the bottom You go into the bottom left-hand
Speaker 1: corner of your VS Code instance. This is actually me working on this project right now. And you'll go to the settings. And you can see that I'm in my VS Code Day profile right now. I have so many profiles. I'm not good at naming just like the rest of you all. Maybe some of you are better than me. But um I have some for my presentations. So that means I'm like doing times four X so people can see what I'm doing. I have some that are specifically um colored in a particular way. Like what's a program that I was working on that's pretty recently. Yeah, we don't need to get into this too much. But this has been a really uh fun way to kind of color code certain things that I work on and how
Speaker 1: how I enjoy it. But then there's also this way that you can edit profiles, show profile contents, you can create one. So when you want to create a profile, you can start from Python. You can also include all of these things and decide whether or not you want to include these things or not, and then you will create. I'm not going to do that right now because I want to show you my settings in my current profile So I'm gonna go to my settings. And this is how, and I also have this in um able to be copied in the same repo. But these are some of my settings. I usually use the JSON, but you can also use the interactive UI for all of these things. And this I have it, and you could have this, but this doesn't exist necessarily.
Speaker 1: This is my opinion, so I'm also giving some of you you all my opinions that I think work really well. So I have my terminal settings I don't have particular things for Django because most of them in the settings are just Python generically. I opt into all experiments. One because that's my job and I'm going to be testing on all of the new things that come out. They do come out daily on the Insiders program and monthly on the regular release schedule. But you also get really cool, fun experimental things and we like ramp up the experimental experiment level So we can see what the test case and whether or not we get like rage clicks or things like that. That is one reason why having the telemetry on is good for us because we can tell if people are having a really bad time
Speaker 1: But if you don't want to be watched, don't be watched and you can turn it all the way off. And here are some of my default Python settings. You can auto auto-import completions and things like that. Okay. That was just like off the cuff. Getting out. Okay. There we go.
Speaker 3: Excuse me, how do you open this? I think because I only has has them in my projects. Okay.
Speaker 1: So there's there's two ways there's actually several ways you can open up your settings. You can go from the top Oi, you can go from the top and look at the menu bar. Okay. I don't have my mouse This is great. Okay. You can go to your settings down. Nope, it's always down here. I don't usually do settings over here. Settings is in here somewhere. Settings is definitely in here. I think it's here. It's in one of these drop-down menus. Apologies, I don't know exactly where it is on this one. You can also do a control com a comma or command, comma, if you're on a Mac, and then you can also just press this button.
Speaker 1: So then when you go here, I have mine set to default to JSON settings, but if you press this little icon right here, it'll switch between The UI settings and the JSON settings. So this is what the UI settings look like. There's also a so since we're on it, there's also the difference between user and workspace settings. I have it in the frequently asked questions We're just gonna talk like humans today. Um, but um so people like to commonly ask what trumps what. So you have your user settings If I go to my user settings and then I switch this over, you'll see that my user settings are underneath my app data. This is for my project. But then I go back and I go to my workspace settings
Speaker 1: These settings are going to be within my project. So I don't have any specific workspace settings for this one, but these are going to be committed with your code and shared with the rest of your team. So if they're also using um VS Code, it's non-intrusive. I mean you could just like not you can just hide them if you don't want if you don't like seeing that VS Code uh directory. But it will automatically suggest extensions for you and you can hit yes or no whether or not you'd like to use those extensions. And one of the cool things about that, most of the time I would not put that on it on people because it's intrusive But like if you're doing things, there's a cool um ex uh extension called uh SQL tools. And what you're able to do if for your I've done
Speaker 1: And you can look at the columns of your entire database. There's also another cool one called Data Wrangler. It is now it was in preview. It's now generally available. It's in GA. And that one's a really cool one because you are literally wrangling your data. It's doing a lot of the cleaning for you. It has this cool bar chart at the top and it lets you kind of figure out where the outliers are visually. So certain things like that when it might be integral to your team's workflow depending on what you're doing. You may want to suggest especially to newer team members, and if you're onboarding a lot, or if you're a consultant, or you hire consultants a lot, this is helpful And just like this is an extension pack, you can make your own extension pack. There are some famous companies that like work with us and we help them optimize their VS Code solutions.
Speaker 1: Facebook and we um have options to um do things and you have you have all of the same resources we just kind of like provide um some of the the the flavor for it Black is really popular, it's a formatter, and we have an extension for black and we maintain it. There's SQL tools. This one is the one that you're going to use for cockroach DB in Postgres. And this is the one that will allow you to do all of the other ones. I think it's just like the driver for it. There are also GitHub extensions. So you're able to do all of your GitHub through your editor, which is I think a common experience. I think they also have that in PyCharm where you're able to do that to your editor as well This is uh code spaces.
Speaker 1: I'm gonna be honest, I don't use the code space extension, but it's available and there are some integrations and that make code spaces easier easier on your VS Code instance on your machine. I don't know why. I literally just go to GitHub and press the big green button and start my code space instance. There's also GitHub Actions and there's GitHub Copilot. And actually when I made this there was uh there was not GitHub Copilot chat and now there is. Getting more into this, here is the anatomy of VS Code. So here's where you're going to find some of the questions that we just asked. Some brave people raised their hand on where to click. But you'll have the activity bar, your editor, you'll have where your drop-down menus are selected, your command palette.
Speaker 1: So your command palette is control P and that's one of the ways you can get a really cool um bar at the top and you can just type code or type words that seem similar to what you think is going to happen and they'll have uh suggestions on what you can do. So you can literally choose not to navigate to any of any of the buttons and not know any of the things and you just type in like new feature or Python something and I'll give all of the suggestions that are coded um tagged for Python So I'll let you guys go through this. This is an infographic I made myself. So if you think it looks gross Sorry, I'm not a designer, but it was really helpful for me. So this goes through the settings sync.
Speaker 1: So if you have VS Code on any machine, it will sync um again amongst your machines. shareable profiles which is that link that I showed you. You can also so we had that drop down menu that up menu and I We created a new profile from that same menu. You can share a profile, then it will give a link, and then someone else can take that link and it will open and it would either open your profile on your machine or in the browser. Um, so I'll show you that later because I have some you could do it through the UI. And here are the uh files that are in your directory that we use as references on building your Python environment. These are artifacts of Python. So it'll be your your Pyproject. toml will use or we'll look for your requirements, we'll
Speaker 1: look for your manage dot PY, and that will help whether How we do your settings for your debugger, for example, or your uh your testing UX. Alright, so that's that. There's some more goodies. I'm telling you, I spent a lot of time on this because I care We talked about key bindings. That's a kind of a mission for some people. They don't like to touch their mouse. You have all the options to do set up all of your key bindings and there are also ex extensions that will have opinionated keybindings for you and there are also pie charm keybinding extensions. So someone out there was like I have all my extensions out of the box from PyCharm and I want them to be the same in VS Code and they made an extension for it and now you don't have to think about it. And then you can change where you feel
Speaker 1: uh feel necessary and then you can uh remember that I said it goes user experien uh profiles user and then workspaces on what trumps you each other there you go shortcut keys and these are all the the ones that I was mentioning do do do Uh are we getting close on time? We're really close on time. Um, okay, so let's go to Oh, go actually doing three. Okay. So we're I'm gonna zoom through this. Here's a checklist on things that you can customize. Here's that settings. json that I mentioned, the opinionated one that I have. So I just gave you my cheat code. And then here's the link, the list of profiles. And I showed you my VS Code day one.
Speaker 1: But if I wanted to just try out this GitHub extension one, these are all related to episodes of the Python Post. It opens up VScode. dev in the browser and then it shows me all of the options here. And I can look to see what's involved involved in each of these. in these sections before I decide to accept it. Snippets in the UI state, and here are some of my extensions. And I can say I don't want black and I don't want dev containers. and I don't want Docker, but I do want something else, and then I'll create profile. Or I can create in Visual Studio Code or I can create it right here.
Speaker 1: Go anymore. Oh yeah, and that was what tramp settings strong is what. Okay, so this is the one that I wasn't really supposed to show, but I'm going to because I like you all. And uh this was the 45, it actually took me in real life um an hour and then we edited to 45 minutes, so I want to be real honest. It took me an hour to build a Django app and I have um it's a recipe apps and we go through the entire um MTV of it all um and it does all the crud and we're using um We're using uh class-based views for CRUD, so it makes it really easy. But I am prompting it, you know, seeing me live and going um um um on the video because I'm just you know reading and talking and I'm debugging and I'm like, oh shoot, that doesn't work. And so then I ask Um co-pilot, why doesn't that work? And it gives me
Speaker 1: help on it. But I've been an engineer for a while and so this why was able I was able to know where to look and what um and how. It is not magic and I would not let it make decisions for me. Without review. I also think it's important to note that there is significant energy usage with every call for every use of ChatGPT, and we should be conscious of that, and there should not a lot of conversations on it. There's spin mode, screencast mode, and portable mode. These are also just different ways to improve your development experience. I also have a shareable guide for dev containers. And this explains some of the things I discussed before, and it has some less good graphic.
Speaker 1: But this is also my words. So this is explaining it. This is an example of the declarative case on it. It's hard to see , but I also have examples on it, and I also have some videos on it too, and they're linked Some people may know Sarah Kaiser. She's the beast news. She's so great. I love working with her. We'll have a video on the button also. Here's a really cool and some people may know Pamela Fox. She's kind of a legend. And so we have a video, I'll make a video soon. smaller horizontally but there's a video on uh doing Postgres uh with dev containers and code spaces so it goes over all of those things and then we also get into SQL tools um where I get to show you the
Speaker 1: the clicking through the rows and and looking at data and things like that. Uh IntelliSense. So this is one of the ones where Excuse me, where I do not, you know, I do not think we have the same level of support as PyCharm does, uh, where the Django and Python IntelliSense works And it's just we all upsel in different ways and I really appreciate that it's something we're working on. So if you do have specifics on like errors that Or uh errors that fitting the errors where you should be able to dive down the rabbit hole and have the clarity to go to definition and it won't work Opening up a GitHub issue is the best way to get in contact with us. You also know me. So sometimes I follow through the prax, but if you want a personal, it goes through the plaques with me, but if you want a personal
Speaker 1: text, you can always reach out to me Um linkers are important. I talk about linkers and linkers 101 and then how it works in DS code in this video. We support um pilant as our as our primary. Um there's also um if you support like Wi-Fi, but Pilant is our primary one. And then there's also the community contributions left in Wi-Fi. And Charlie R. Marsh and Ashton team do a fantastic job keeping left up today. These are some activities that you can do. I have examples of debugging Jake and there's also release news that happens every month in my face on my video every time. So there's there's things on that as well.
Speaker 1: Oh, and this is my launch. json that I use for having my custom um debuggettings on Jode. But it walks you through this. The only difference I particularly made is I do auto start browser is true and it usually doesn't come with that out of the box Things like that. I don't know what time is that. Excuse me? All right, we have some accessibility tools. Let me update that those links. Oh uh exploring your database is a fun one. Okay. There should be a video that pops up here. There's also Data Wrangler is a really cool tool. And there's a video for that.
Speaker 1: And if it's not there, then I'll add it after this meeting. And I'm going to be in a team member. I haven't changed from markdown to RST, so there is something for this system marking. Oh, here's the Data Wrangler one. So there's a video on data wrangler if you want to learn a little bit more about how it and how it works without union. And then Jupyter notebooks Our Jupyter New Book support is a truly um second to none. It is one of our first class um extensions. And we like add so much in the kitchen season to Jupyter notebooks. And honestly I I prefer using Jupyter notebooks and PS Code, even if I'm not like doing anything else, just Jupyter notebooks and VS Code. Claywright is a testing um
Speaker 1: testing framework. It's built off of PyTest, but it also is kind of apples to apples to Selenium. Um and if you're interested, if you're itching for a new um uh end-to-end testing solution checkup uh button right, there's not a lot of matter about Python and Playwright in particular, just not a lot of content, but it's pretty intuitive and of the conversations that I've been seeing happen, everyone's really excited to from Selenium it's just kind of been out there for a while. Um but give me feedback if you like it. And I should be creating videos on that soon. But that's So there's also some features on user testing as well. So for example, you're able to create a development environment with
Speaker 1: dev containers, code spaces, and just regular VS Code. um where you can open up a port and we'll have so I don't know if anyone's used Ingroc before. I was paying for Ingrock for a while. So I could have a little server to point to a URL and I can share it with a friend so they can review a feature visually. And VS Code has that out of the box and that's free. So have everybody's lunch Um port forwarding, for example, that's the name of it. That's the tool. There's also live share, and then we have code base. code spaces and dev containers. We also have other remote options as well for engaging. So you can do SSH or other types of remote containers if you have support for those at the varying levels.
Speaker 1: Oh that was uh that was the Zoom through experience and I hope that you all enjoyed this little guide because really the goal is to give you the resources and then we can just open up discussions. I don't know, I didn't want to blame through a project if we all come with different levels. But we have projects on our VS Code documentation site. You can spin up a Flask instance and then play around with Flask and then we also point out the ways that it helps you with your Flask project, for example. We have a Jingle one and we also have a Flask API one. Um
Speaker 2: So I've always got always obvious code Like it was like the time I'll do the mock.
Speaker 1: Like
Speaker 2: open it and it's like I 've not even saw this. Yeah, I'm not created. What do you mean you will have something Yeah by the school at the time.
Speaker 1: Yeah. Okay Very fair point. So this is where you start. This is just opening up a new VS Cloud instance. And if you want to I think on in general we it can put this to feel more pared down in spirals. I'll tell you feedback right now. Do you think this feels a little bit digestible digestible than when you're looking at full code and kind of clicking around It's but still you would like even less. Yeah. Yeah. You're not the only one who says sex. I absolutely think that makes sense. Um more thoughts than that, I'm I'm I'm welcome to it So one of the things is when you install different packages, um excuse me, extensions, we start showing you uh
Speaker 1: walk part of this. And these are going to be able to get you through um It'll show you very slowly how to create your Python file, running debug, keep it foring, and then open market is done and then you can go into something else And the hard things with this is that it assumes a certain level of expertise with Python. When you make a different level of Python or your project, it's certainly an hours different version we need to start at one-on-one on VS Code but not necessarily one-on-one on the Python part. So if you have ideas on better ways that we construct with this, um we're so open, I'll make a video about it. I mean true for a team of like Another port that I mentioned.
Speaker 1: Okay. So really, really great feedback. So you can do Control Shift X and you can hit your extensions. And this is the marketplace, and then you'll start just like typing things in. The first thing that you're going to want to do is you're going to go Python. And that'll be the Python. You're gonna want to do the Python extension managed uh managed by Microsoft One of the things about this, you'll see a bunch of other ones. But this is actually an explosion pack. So it comes with Pilance and Python debugger. And that is truly the entirety of what you need for just a basic Python experience. And we're adding more and more best functionality into So just to keep it simple, that's what you have to do.
Speaker 1: If you want to debug, which is a common. We'll start wanting debug, but I always like to start with a configuration file And then they give you you they go through the command, and that's the command palette, it's always the command palette at the top. And you just kind of start poking through and they give you like a WYSIWYG editor or WYSIWYG option on it. So do Python U Editor. Connection all my office figures. I'm doing this on the fly. So a possibility. Oh there's an automatic one.
Speaker 1: Oh, I'll just put this one. There you go. That's what I'm looking for. Python debugger, and then I select Django. And then I'll select it found my manage. py And then I'll set up the configuration file. And then I'll show you the configuration file because I want to know what it made for me. And then it starts running a server for me. And I have an issue because I have a file name. My Windows Settings module is always named something stupid. So anyway So that's how you do it. So that's really starting from the very beginning. You get your debugger, you want your testing suite, and that'll also do that same WYSIWYG editor and you want your expedition and then you're kind of like off to the races. And then all the other things are just
Speaker 1: experience trial and error kind of given to the zen. And that's one of the reasons why I also created this checklist. You can remember the things to look at. You want to I, you know, maybe I start with visuals because I want to focus on vibes first. You could do themes and icons. But then you can go into your settings, which I gave you an example up below. You can also tweet your terminal, your snippets, members, formatters, and environment settings. So that's one of the reasons why it kind of helped with this checklist. That's a really, really good point. I really don't want to skate over that. And so if you have more feedback on where it should be improved, you can take it back.
Speaker 1: Oh really? Okay. Um I want my uh Yeah. But
Speaker 4: I'll get about my family using the critics. I think what stuff can do back to Yes.
Speaker 1: Yeah. Yeah, so I usually do profiles based on activity and then workspace based on that particular project. There's no this just my personal rule of thumb. I like the profile is basically I'm doing so it's been fun for um the VS Code um YouTube series I do, the Python polls, is every episode we have a profile of the things that we're doing. And so if you're just like, I want to share um this purple layout and a few of the extensions that I think this particular friend would enjoy send that over, right? Um you know there's a Nicholas key icon something one
Speaker 1: in there. So you can get serious things in an profile and you can send that over. But workspace would be more like if I know that I'm using SQL tools on this particular project, um if I know that I need I'm using these snippets on this particular project. particular thing or um it's a little bit harder when you get into the the actual nitty-gritty world we know what your use cases are but they'll be more um project based. Does that make sense? Yeah
Speaker 2: okay
Speaker 1: More thoughts, questions, concerns? I think I could go deeper in the dev containers if you wanted more time or I can talk about AI.
Speaker 2: Yeah, yeah, I asked you that uh in relationship with the basic company.
Speaker 1: Yes, but
Speaker 2: as uh
Speaker 1: yes, so uh
Speaker 2: new links with a thing
Speaker 1: yes yeah yeah I've not played with the voice and one that I have the video for is chat um And it is in the section supercharged conservers. Cool. I'm gonna keep it on mute and I'm just gonna kind of rub through it on how this is. Okay, this only at the beginning. Um So this is what the chat looks like and this is me asking questions. I start out with like why is Jungle cool? Um while it's do anything. I also go through this and create environment at the beginning, uh which is cool. So I start with my command palette. Okay. So I start with a profile, I show you what my profile is doing, and some
Speaker 1: changes. I'm scrubbing through. I talk about Django while it's in my virtual environment for me. It installs all my uh my version and my requirements and this is me checking the requirements This is me having that issue because for some reason I always want to keep these video settings model module named to something wrong. But anyway, um create that project Um and this is what in for opening and closing chat if it's using it closing for a while. And then Oh, this is okay, so this is me doing the backslash I and I'm prompting it from inside my editor. But you can also just have the chat open as well
Speaker 1: Yes, it does have context of the files, but one of the things that is how full is it to explicitly say. Um and I I mentioned that too. I'm like can everything in my models, can we create a oh yeah. Oh my gosh, actually that was interesting. I said, can you create all of these views? I need a create, delete , delete, greet, something, something, off of my models. py. And so if you specify that, then Wonder when I
Speaker 2: project I could not understand the book visit disorder according. How can I throw once as well as I Uh how can I how can I tell you script to the 90% environment or something?
Speaker 1: Yeah, so so it'll work just so it ba it bases it off of it. Uh very good question. It will not reference any of your PyCharm artifacts, not unless you have some type of extension that the community is maintaining and supporting and helping that information. I don't know of one, but there's there probably is there's tons of them. I also have like a visual aspect that makes it look like quite fun too. But if you go to this VS Code file and then you look at that uh Very busy infographic. I'm of two minds on whether or not it's good. But over here, here are all the artifacts that we reference in creating our environment Right. So if you have a requirements.
Speaker 1: txt or a pie project. coml, we'll also look at your get more or your environment. yaml. And so when you're creating your environment, it'll reference some of these things and we hopefully make it really intuitive to some of the business logic that happens in the background in order to decide what takes precedent and um what to create for you. seems a little bit like automagic, but the code is open and we're we communicate over uh GitHub all the time, GitHub issues all the time. Because anything acts out of scale Just like yeah. Does that answer your question? Yeah. So the short answer is no, we don't really support that workflow. Someone in the community might, but here are the the um part
Speaker 4: of that. uh John 's just environmentally in the virtual environment.
Speaker 1: Oh yes, the virtual environment. Okay, so yes, these these as well, and then it would also be just run in debug. Um Yeah, it'll be this running debug and it'll um reference that uh manage that PI and it'll start that. And then you can also create so I'll do my command colour so I'm hitting control uh and I'm opening that and I can say create environment or I can select my interpreter. I think this is the one you're talking about. So it's control shift E you select your interpreter and then it'll give you a list of so some of them I've gotten from the Microsoft store, some of them I've installed my own, and there are also different places because I don't know, chaotic like that. And then you can select them here. Cool, awesome
Speaker 1: questions. This is so good. Okay, cool. Um anything else? Are we running out of time?
Speaker 4: Is there a one way to have
Speaker 1: Yeah is
Speaker 4: a went and see what we should
Speaker 1: Yes, there is. Short answer is yes, there is. And so it could be so sometimes when you're writing code, and I don't have like good code to show you right now, but When you're writing code and you do F12, you click on it and you hit F12 and it'll go to definition. Sometimes it'll go within your code. There is a setting where it will also go all the way down into your um into your packages as well, right? You'll you'll have an import signal go into your your import inputs, right? There's also this search functionality. Search one place page so I can get out of my um and there should be so control shift There should be a feature where
Speaker 1: you can also include that. You can include, I think if you put here, I'm not quite sure, so I'm going to tell you the one thing But you can put in your uh virtual environment and also include all of those site packages. You can go with site packages or something like that. Um but it'll also be in control swift or So I guess I could just search and it would be like headings I think it would be find in files hmm. Something along this lines, right? That's how I would debug
Speaker 1: that. But I don't have the exact answer. I could find it though, that's a little different. More questions? It's been a blast chatting with you. I do if you include all of you all as my friends now. And if you ask really hard and good questions, you make me look good. So when I say I don't know and I get to go find it figure it out It makes my job better. It makes me lost happy. So ask me hard questions. All right. Thank you.
A dev container is a Docker-based, declaratively defined development environment that includes your dependencies, runtimes, compilers, libraries, and tools. It keeps development and testing consistent across operating systems and teams, while allowing the editor to run inside the environment.
Discussed at 6:35Yes. VS Code lets you disable telemetry completely if you do not want usage data collected; VS Codium is also mentioned as a community fork with telemetry-related differences, though it may not include the newest VS Code features.
Discussed at 10:46Codespaces provide a VS Code development environment running in your browser on Azure compute. You can choose the machine size and location, and a project’s dev-container configuration can automatically install requirements and run setup commands, such as starting a Django project.
Discussed at 18:41Profiles let you create separate sets of settings and extensions for different projects or uses, such as presentations or Python development. You can start from a Python profile, modify its contents, and share the resulting profile with another person or open it in the browser.
Discussed at 23:02User settings apply to your personal VS Code installation, while workspace settings live in the project and can be committed and shared with the team. Workspace settings can also recommend extensions for the project.
Discussed at 26:37Install Microsoft’s Python extension from the Extensions marketplace. It includes Pylance and the Python debugger, providing the core functionality needed for a basic Python development experience.
Discussed at 44:22Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025
Published June 13, 2025