Effective PyCharm (2021 edition) Transcripts
Chapter: PyCharm Projects
Lecture: Navigation

Login or purchase this course to watch this video and the rest of the course contents.
0:00 When you're looking at your code,
0:01 one of the really, really powerful things that PyCharm does for you is understand
0:05 how the files fit together, how maybe this rps,
0:09 rock paper scissors game is using the shared lib 'ui_helper' right there and not just
0:17 one or two files, but many,
0:18 many files as I've said before,
0:21 But if you forget where to go to find out exactly what this is.
0:25 Again, this is a pretty simple example,
0:27 but think 20, 30 thousand lines of python,
0:30 maybe it's a new project you just picked up.
0:32 Where is this, where is this coming from?
0:34 Is this uh package they've installed?
0:37 Is this another file, a module?
0:39 Uh sub module in this application,
0:41 something like that. So there's a lot of cool things you can do.
0:44 One option would be to go over here.
0:45 So I want to know where this header is.
0:48 I can go to navigate and there's all sorts of cool stuff going on click implementation
0:54 or declaration and it's going to take us over here or is this navigate via command+v
1:00 So now I don't have to use that awkward.
1:03 UI I can just come over here and command B and it'll take me
1:06 here like Okay, great. Now I see where this header is coming from,
1:09 right. This is a file that I've created and it's this is a little breadcrumb
1:13 navigation bit to where the file is and you can actually navigate with these things as
1:17 well, like you can go between these these pieces.
1:20 So that's really cool. But what I prefer is on Mac to hold down command
1:26 and on Windows or Linux hold down control.
1:29 And then as you move around,
1:31 notice everything becomes a hyperlink. Random is a hyperlink,
1:35 notice it knows the file name,
1:37 even here's the UI helper, here's the library,
1:41 this header. If I click on this,
1:43 it takes me over there so cool and down here we have this random choice,
1:48 it's going to take us down well inside a Random,
1:50 not super helpful, but it does take us there to show its inside the random
1:53 package. Get role. Where is that?
1:55 I don't know. Oh there it is.
1:57 Take this down here, right?
1:58 So if we just hold down command or control all of a sudden everything everything here
2:03 like even where is this player to find?
2:06 Oh it's a parameter as opposed to say a global variable,
2:10 which could have also been used in exactly the same way.
2:13 So I strongly recommend that you cruise around your code using command. It's really really nice.