I was fortunate enough to stumble into a free trial of PyCharm right at the glorious 3.0 release. There was a flurry of rants and raves running through the Tech Art community upon this release and for good reason. With 3.0, JetBrains released an Open Source “Community” version which is fully featured. After using for a couple of days, I was hooked and splurged for a commercial license through my company, though I was prepared to scrape up all the spare change in the house to afford the Personal version and use it for the rest of my life.
Pycharm has all the usual features you’ve come to expect from any decent IDE: highlighting, completion, etc. The hotkey/popup features are quite awesome. CTRL+SHIFT+R (Navigate -> File) is the fastest way to open files in your project. The CTRL+SHIFT+A (Help -> Find Action) is your shortcut to all other shortcuts and popups.
If you spend a lot of time pointing to your mayapy.exe and adding and removing paths from your workspace, you’ll appreciate how much more intuitive these dialogs are than PyDev’s.
The Perforce integration is almost too good. It tries manage the ‘Current’ or ‘Active’ changelist and will automatically add any file you start to modify to this changelist. It is a little annoying the way it tries to organize every file you have open amongst the changelists but once you get used to it, it starts to have its benefits. PyCharm also keeps a list of recently used changelists which is quite handy, actually.
‘Darcula’ is a beautiful color scheme which comes default. And when I say ‘color’ I pretty much mean the absence of it. Greys are where it’s at when it comes to staring at code all day. There’s the token oranges when needed as well, but you can customize all UI colors, per usual.
Oh, the auto-save will make you lazy (and fast) as hell, too.
PyCharm’s code inspection is the most thorough I have ever seen. It is so thorough that I turn off the strict adherence to PEP 8 standards as our company deviates from these slightly. I’m one of those “0 in box types” even in my IDE in that I always fix all code inspections. This has the added benefit whenever you open any file, you can immediately see if there are simple syntax errors by the code inspection color highlighting in the margins. In the process of examining all the inspection notes, there are fairly detailed explanations of what the issues are and it offers to automatically fix them whenever possible. It has actually been my secret teacher and made me a much better programmer.
Each language has its own style settings and the settings for Python are quite complete: indentation, spaces, wrapping, blank lines, etc. Every option is available. Then you just auto-format before you save and viola! You’re code looks perfect.
Still need Wing
PyCharm fits nicely into my arsenal of coding tools right next to Wing IDE. PyCharm’s debugging uses the Pydev module which doesn’t compare to Wing Pro’s built-in features. Wing is still the king for real-time debugging of Maya and MotionBuilder or other external python applications, especially with the Debug Probe feature. But I’ve always used two IDEs in my day to day routine: Wing for debugging and Eclipse w/ Pydev for my main coding environment. PyCharm replaces PyDev as my main coding platform now.
The best part of PyCharm is it’s feel. It feels awesome, fast, tight, professional, snappy, very little crashing. Wing always feels a little slow and lagging. Eclipse/PyDev feels tighter than Wing but still doesn’t compare to PyCharm.
Download is available for Win, OSX, Linux and the Community version is now free and does pretty much everything you need. Then when you get hooked, go ahead and save up for a license (they deserve the 10th of a bitcoin).
All of this just scratches the surface really. I’m sure you’ll find several little goodies that make your day to day workflow a whole lot easier (list them here in the comments if you have the time!)
Do yourself a favor. Go out and install right now. You’ll never regret it. Enjoy!!