What I Like about Pycharm

Things I like about Pycharm.  (This post is an apologia for some of my whining posts.)

Easily run Pycharm as a very minimal editor: a single line at the top for tabs with no other distractions, but it is easy to get to things you need: projects, console, history, debugger.

Nice git integration.  Always best to learn from command line and be able to do most operations from the command line, but once you know that, Pycharm makes it easy.  I still need to play with my remotes from within Pycharm to be fully comfortable but I'm confident it will work sensibly.

Great, live editable diff displays.  Much easier to understand atomic changes than almost any other diff view I've seen.

Easy to have useful projects with very little overhead.  I really don't like Pycharm creating new project directories, but it doesn't matter.  When my existing directories contain the right files, including a .git directory, Pycharm is very happy.  I haven't created any project specific settings as yet: I am only working on 2 concurrently and they can use the same settings.  But, this could be very useful.

Nice to be able to edit CSS and html as part of web projects.

Really nice debugging.  Really terrific to debug web2py and see the whole stack.  Just running the entire web2py stack via Pycharm as a web2py project is incredibly handy.  Project support and debugging make web2py development really easy.

Opening a project is a teeny bit slow-it's doing a lot to stage the project-but Pycharm's nice and fast once loaded.

Refactoring across a project really does work. One has to be very careful with naming conventions–I had a class and method that only differed by capitalization (really bad idea on my part) and so when I renamed, I renamed some things I shouldn't have.  But, that was a nice learning lesson and all my fault.

Local history is really nice.  I had some trouble with Dropbox being out of sync with my local file system, but that turned out to be caused by Dropbox's horrendous 48 hour outage recently.

Search in dialog boxes is really useful. It's not wonderful that there are so many preferences in a big flat list, but searching for items means it really doesn't matter.  You find what you are looking for pretty much immediately. Takes the pain out completely.

I am not in love with every aspect of the UI: too many menu commands with seemingly overlapping use or meaning; too many keyboard shortcuts (realize everyone loves these and we each can have our own), too many icons for controls in some tool windows.  This is really pretty minor and is mostly overcome with increasing familiarity.  I mostly live in the editor and the primary tool windows (let's see–where else could I be?) and Pycharm is very productive.  

Pycharm is a bit big.  It has to carry around its own Java and Swing runtimes and probably an internal copy of Python (?).  But, this is really just aesthetics.  There is no negative impact on my ability to run and use Pycharm.  It is big compared to Pyscripter, which was written 5-6 years ago in Delphi and does less.  Pycharm is NOT big compared to Visual Studio or Eclipse, which are more relevant comparisons.  OK, Pycharm is not big.

What do I wish for most?  In the structure browser I'd like to be able to collapse class properties, but that is a really small thing.  I wish the ipython console looked like ipython natively. I wish the python console worked in-line instead of in 2 pane mode (commands, output),but this is minor.  It would be nice if the graphics of matplotlib could display within Pycharm (but that is not going to happen because matplotlib is dependent on QT).  I've setup an external command to run iPython QT and I'll experiment with how easily I can launch recently edited code into it from Pycharm.  If that works (still tbd), then that's just as useful as being within the Pycharm parent window.

The best thing is that Pycharm just works.  It just works.
1 comment
Comment actions Permalink

I'm eager to learn of your success in "integrating" iPython's Qt console with the editor in PyCharm.  I'm a big fan of PyCharm as an editor and it would be vastly enhanced by the integration of iPython's Qt console.  Will you please share your experience – including configuration details?



Please sign in to leave a comment.