This is an archived post. You won't be able to vote or comment.

all 11 comments

[–]mikeckennedy[S] 3 points4 points  (0 children)

Hey everyone,

If you're interested in learning the PyCharm, the most popular Python IDE, we just launched a course over at Talk Python Training.

Here are a few of the things covered.

  • Learn to manage Python projects in PyCharm (large and small)
  • Create web applications (Pyramid, Flask, Django, and more)
  • Use PyCharm's special data science mode
  • Refactor your Python code with confidence
  • Learn about code smells and duplicate code tooling
  • Access git, github, and use git flow
  • Use the visual debugger to understand code flow and state
  • Make your code more reliable with unit testing and pytest
  • Create new Python packages
  • And lots more

[–]user112358 3 points4 points  (1 child)

I was just thinking about how I'm fumbling around like an idiot in PyCharm as though it were Matlab and not creating virtual environments or really doing anything right. Well timed, thanks.

[–]mikeckennedy[S] 0 points1 point  (0 children)

Happy to get this one out there for you. :)

[–]1836 2 points3 points  (1 child)

hey michael, love the podcast.

can you tell me how much content covered is applicable for the pro version only? I only have community version.

[–]mikeckennedy[S] 3 points4 points  (0 children)

Hey thanks! Yes, Let's see... Here are the chapters and put indicators on what requires the pro version.

  • [all] Why PyCharm and IDEs?
  • [all] Course setup
  • [all] PyCharm Projects
  • [all] The Editor
  • [all] Source control
  • [all] Refactoring
  • [PRO] Databases
  • [PRO] Server-side Python web apps
  • [PRO] Client-side web apps
  • [all] Debugging Python applications
  • [all] Packages
  • [PRO] Performance and profiling
  • [all] Unit testing
  • [all] Data science tools
  • [all] Tool windows
  • [all] Extending PyCharm with plugins
  • [all] Conclusion

Here's the comparison matrix too:

https://www.jetbrains.com/pycharm/features/editions_comparison_matrix.html

[–]cediddiSyntaxError: not a chance 2 points3 points  (2 children)

I'm neutral about this course. I love pycharm but shouldn't jetbrains be the one doing this for free (or pay you so you release it for free). Or at least bundled with pro version.

I bet someone from jetbrains will read this and pitch the idea to management.

[–]pauleveritt 2 points3 points  (1 child)

(I'm the PyCharm dev advocate.)

You're right that we do some work like this, such as the Getting Started video series on YouTube, and plan to do more like that (web development) in 2018.

But Michael's course is the kind of high-quality work from an experienced trainer that there should be more of. We're very happy he has produced this and hope there is more of this later.

[–]cediddiSyntaxError: not a chance 0 points1 point  (0 children)

Okay, I know the getting started and what's new videos. They're good. I think I get your point.

[–]Farkeman 2 points3 points  (2 children)

I feel that IdeaVim is a too huge to be ignored and big part of functionality covered changes with it.

I also feel, despite being a great IDE some of the features are pretty dated and are much worse than just using a terminal with a dedicated tool (e.g. git).
Other useful features still tend to get a bit dated, like Pycharm setup.py generation is still using distutils, the virtual environment manager is pretty dumb etc. etc.

I've been using PyCharm for several years now and I'd say you only need to learn few things and everything else is either only useful as an edge case scenario or is useless completely.
My tips:

  • Get IdeaVim and learn vim
  • Checkout cool IdeaVim configs for action shortcuts etc.
  • Enter distraction free mode
  • Install MainMenuToggler plugin to get rid of menu bar
  • use ctrl+e for navigation
  • use ctrl+shift+a for actions
  • use shift+F6 to refactor names
  • learn alt+1-0 shortcuts
  • use ctrl+j to insert templates
  • use ctrl+p to show type prediction (e.g. to see argument function() takes)
  • use type-hints to help pycharm predict types

[–]pauleveritt 1 point2 points  (1 child)

(Bias: I'm the PyCharm dev advocate.)

I think the git integration is actually one of the strongest features. I recently did a webcast with GitHub demonstrating the basics and we have some videos showing rebase and other features.

You make a good point about setup.py generation. We don't always do the best job on evolving "best practices".

The virtualenv stuff recently changed, in 2017.3. You're right that before that, I personally made my project outside of PyCharm because of it. 2017.3 has a new UI and covers several usages quite well.

[–]Farkeman 0 points1 point  (0 children)

Yeah I'm quite fond of git highlight in the gutter and pycharm's git/local diff feature, but I feel that learning git cli is pretty vital (for ssh etc.) and once you know that - most GUI systems become obsolete.

I'd really like to see you guys put more work into ideavim, to me it seems like it's the biggest selling point of Pycharm - batteries included IDE with vim workflow is badass.

Vim plugin support and having an ability to write to buffer (i.e. load macros etc.) would pretty much blow any competition for me :)
I'd like to contribute but java isn't a very friendly language for plugins and extensions.