Effective PyCharm (2021 edition) Transcripts
Chapter: Tool windows
Lecture: The TODO window
0:00 How do you keep track of the open work that you have to do on your
0:03 program. For large feature, something you might create a feature branch for and you might
0:08 have other people's input on you would probably create a GitHub issue or Ajira tracking
0:14 issue or your track issue one of those types of things.
0:17 But for smaller little things as you're building up,
0:19 your program may be tiny little code issues that are part of a larger issue or
0:24 whatever, it's very common to use code comments.
0:27 So let's go down here and check out this program from the profiling section.
0:32 There's a couple of things that we maybe want to do.
0:34 Remember we talked about how we might optimize this if we were allowing more interactivity and
0:39 running these searches more than once.
0:41 So maybe we'll come over here and go remember to explore if we use,
0:46 you know, more than one,
0:47 run something like that. Okay,
0:49 great. But there's a lot of source code over here and in this project,
0:55 if I'm trying to find all the stuff that's still open and for me to do
0:58 how do I find that?
0:59 That's not very clear. So we can come back here and we can use a
1:03 common way we could say 'todo' and check that out as soon as we say
1:09 'todo' in PyCharm, it turns yellow.
1:11 That's super. That means we get a nice visual reminder,
1:15 you know, comments are kind of subdued to do is stand out as oh my
1:18 gosh, something is on this page to be done here.
1:20 Right. That only helps if you actually go and explore the code again,
1:24 if we have many, many files as large projects do how do you find them
1:28 Well that's the 'todo' window.
1:30 So check this out down here in our 'todo' window.
1:32 We can say I want to see the 'todo's in the current file,
1:35 notice that the color both the color of the file to show that it is a
1:39 modified from what it was in source control and then down here the highlighted todo
1:44 and the line and column even.
1:45 That's pretty cool. We could do it in the project notice there's a bunch so
1:51 it's really handy to have things like this,
1:53 like maybe over in this data access section down here remember we wanted to add an
1:59 index. So if we have that down here,
2:01 when we were looking through our 'todo's,
2:04 go to our demos, let's go to the performance one,
2:06 you can see all of those that we might want.
2:10 And actually if, if we were in here we could say I want to,
2:12 if that was all collapsed, we could collapse it or we could expand it all
2:17 out real quick like this. That's pretty awesome and we can come in here and
2:21 say, okay, um we're going to add that index and we're going to do
2:26 that here, move our to do and soon as we remove our to do obviously
2:32 as you would expect it removes it from the project.
2:36 Now. That's super cool. And I definitely recommend that you may take advantage of
2:41 this. Right? Don't try to put a whole bunch of 'todo's to
2:44 manage large project work. Right?
2:47 Those are feature branches. Those are issues and your issue tracker and so on.
2:51 But as you're building it up like you know you want to maybe work on this
2:54 part but then you want to be sure you remember to come back here,
2:56 go ahead and make it super obvious by adding that as it to do one of
3:00 the thing. I'm sure you noticed as I was flipping through here is there's a
3:03 lot of 'todo's. There's a lot of stuff going down here over here in
3:07 the your turn we can expand at the wrong one over here.
3:11 We can expand that and those look like real issues.
3:14 Right? This is actually from performance app that you worked with on the your turn
3:17 section over there and we got some for testing and so on.
3:21 But notice from the transcript right,
3:23 this is the transcripts We decided to include those in the GitHub repo and over
3:27 here we just said the word to do.
3:29 That's cool. You don't care about that.
3:31 Right? There is not something you need to do.
3:34 So what we can do is we can go over to the transcripts folder mark directory
3:38 as excluded and then notice we have a whole lot fewer to collapse that with a
3:44 lot fewer. The transcripts section is gone here.
3:47 Right if you were to do but over here there's still some problems.
3:50 Check this out over in the virtual environment.
3:53 Remember we were opening these at different levels.
3:56 Sometimes I wanted to open the whole course set of demos and other times when we
4:00 were working on say packages, it was important that the package was the top level
4:04 of the project. So we open that separately.
4:07 So in here you'll see like in PyTest or Olympic,
4:10 they have some 'todo's left in their source code that got installed when we pip
4:14 install them. That's not ideal.
4:16 We don't want that. So notice also the color here.
4:19 This is not orange so it's not ignored.
4:22 We can come over here and jump to source by clicking this or just command down
4:25 or whatever your hotkey on your platform is.
4:28 We could exclude that one as well and there we go.
4:32 Now. We got our project into a good space.
4:35 We can expand them all out and kind of scroll through here and see what work
4:38 is left to do. Alright,
4:40 definitely be sure to take advantage of typing these keywords like to do and stuff and then use the 'todo' window to make sure that you have addressed them all