Effective PyCharm Transcripts
Chapter: Why PyCharm and IDEs?
Lecture: Welcome to Mastering PyCharm

Login or purchase this course to watch this video and the rest of the course contents.
0:01 Hello and welcome to Mastering PyCharm. In this course, we're going to look at all the different features of one of the very best Python IDEs— PyCharm,
0:11 and see how you can make the most of this super powerful editor. Let's jump right into what we're going to cover.
0:17 First thing we are going to talk about is why do we want to use an IDE, what value does some large,
0:23 heavyweight application like PyCharm bring and why would we want to use it. You'll see there's many reasons and you'll definitely want to use
0:30 many of the features that are there, but let's talk about the various types of editors we can use and what the trade-offs are there.
0:38 When we're working with PyCharm, we're focused on this idea called projects, this is like a group of Python files and associated other
0:46 static and data files that all work together, there's many of the features in PyCharm that work at this level. We're going to start by focusing on
0:54 creating new projects and working with all the files and you'll see there's a bunch of configuration switches
1:00 we can set to make it be a little more effective. Then we're going to jump right into what I would say is the star of the show— the editor.
1:08 If you're writing code you need an editor, you want to be typing and manipulating text, of course, the editor has to be awesome,
1:15 we're going to focus on all the cool features that the PyCharm editor offers. We'll see that source control in particular, git and subversion
1:23 are really deeply integrated into PyCharm, there's all sorts of powerful things we can do including actual github integration,
1:30 not just git but github integration into github issues and things like that. We were going to focus on source control
1:35 and the features right inside the IDE that we can use for git and github and things like that. We're going to see that PyCharm is great at refactoring
1:45 this is changing our code to restructure it to maybe be structured in a different way, to use a slightly different algorithm,
1:53 but not actually changing the behavior of the code; we'll see there are many powerful techniques in PyCharm that you can use to do this
2:02 and because it understands all of your files at once, it can safely do this, it will even do this out in doc strings and things like that,
2:10 so we'll see how the tools that are working that's really quite amazing. There is some really interesting database tooling
2:16 and database integration in PyCharm, so you'll be able to interact with databases, SQLite, MySQL, whatever, you can connect
2:26 all the different types of databases, these relational databases and edit the data, edit the schemes and things like that,
2:33 and you'll even see that there's one really amazing feature that makes its way back into the editor
2:38 when you're working with SQL strings in your Python code. PyCharm is great at building web applications,
2:45 typically, this would be something like Django or Pyramid, or Flask or something like that, but it also builds other types of web things,
2:53 it has a full Javascript editor and environment in there, it could do TypeScript or CoffeeScript,
3:01 it could even do things like Electron js, so lots of really cool stuff in here. Then we'll talk about all the both
3:08 server side and client side features, on the web in PyCharm. You will see that it has a great visual debugger
3:14 so we are going to look at all the different features that we can use to debug and understand our application
3:18 including some really powerful breakpoint operations that typically editors don't have. In Python, we use the concept of packaging
3:27 to bundle up and share and reuse our libraries, we'll see that PyCharm has a ton of features to make and understand these packages,
3:36 so it understands the file structure of packages, how to do automatic imports, they also do things like automatically generate you a setup.py
3:43 so people can install and configure your package and not just copy the files over; so all sorts of good stuff there, we'll talk about that.
3:50 Profiling is really important if you want to understand how your code is running, if your application is slow and you want it to go faster,
3:58 you really shouldn't guess, you'll see that it's easy to look at code and think that this is the slow part and that's the fast part
4:06 but sometimes that's just not the case, and our intuition is often bad and so we use tooling, profiling in particular, to understand the performance,
4:14 you will see that PyCharm has some really great built-in visual types of tools for us to basically understand the performance of our app.
4:23 It has great built-in test runners for pytest, for the built-in unit test and a number of others that we're going to see,
4:31 so if you are doing any sort of unit testing or integration testing, that's built in and we'll explore some of the really cool features,
4:37 like for example, there is one feature you can turn on for auto test running and so if it knows that you are changing certain parts of your code
4:45 it will automatically re-run the test, just as you type in the background and tell you basically, on the side continuously,
4:53 "Your code is good" or, "Your code is bad." We'll see how to do that and a bunch of other cool stuff in the testing realm.
5:00 They've integrated Jupyter notebooks and a special data science view
5:03 with really cool documentation and all sorts of stuff to help you explore your data, we're going to talk about the data science tools
5:10 and how those appear in PyCharm. There is a couple of additional tools that don't really land
5:16 in any of these other categories that I have defined here, so I just made a "Here is the stuff that didn't fit in any of the boxes I created"
5:22 I threw this at the end, additional tools, so there's a few other really cool, handy things that don't really
5:28 classify themselves as fitting in with the others, so we'll talk about those. Last but not least, there's hundreds of plugins
5:34 that you can get for PyCharm to make it do other things, like for example do you want it to have like Vim key bindings—
5:40 great, go get the Vim plugin and plug it in and you've got Vim bindings for your editor, things like that.


Talk Python's Mastodon Michael Kennedy's Mastodon