My only complaint is with the remote features, now with covid. I want to seamlessly work as if I was sitting in the office (I can ssh to the machine).
My current setup is to sshfs mount my remote code, install a conda env on my laptop mirroring the office one, and execute things in a terminal window. PyCharm then becomes an editor, autocompleter, refactoring tool, code navigation tool etc, but I don't do debugging within it.
There is some SSH and remote interpreter options but it's limited and hard to use. You can't directly work on the remote files, it uses a model of publishing your changes to the remote and keeps multiple copies etc. Several of us spent quite some time trying to come up with a good workflows for this but some rather use remote desktops or X forwarding because it's not straightforward.
With the remote interpreter, we use Docker, I can debug code that is running on our servers.
And if you set up deployment any changes on your files are automatically uploaded to the remote files, without multiple copies it just overwrites them.
Its a pleasure to work with, I can debug GPU-cuda issues on my macbook with PyCharm GUI!! It was a little bit convoluted to set up, we followed this guide: https://youtrack.jetbrains.com/issue/PY-33489
[1] Note, just a handful of top-level targets comprising 2%-3% of the whole repo. Indexing the entire monorepo at once is a non-starter.
There's a built-in CPU profiler, but given that you're a paying customer, just contact their support and they'll help you figure it out.
Indexing is required by so much of their software, even listening for XDebug connections with PHPStorm is not available while indexing. Can’t they let us set the indexing on a lower priority and let stuff work without the index too? (Even if we can’t jump to a specific function, XDebug protocol already has the file and line indicated.)
Otherwise I love their software!