Using VSC, it’s so painful to code in python. Pycharm is starting to come along nicely.
Really? I find Pylance to be great. Pretty quick error checking, Pyright is fairly sound, and auto-complete/go-to-definition work reliable. When you have types of course - the biggest problems with Python development are still the communities disinterest in type hints, and the godawful tooling.
How do you comfortably set up different run targets with args for different scripts when developing a large project? I think the problem with one tool for all means you get basic support with plugins, not specialised support for one.
You can do it in
launch.json
. In fairness it easily the weakest part of VSCode - I wouldn’t call editing JSON “comfortable”. I tend to just use the integrated terminal instead.I think the bigger argument for Pycharm is refactoring. VSCode still has fairly weak support for refactoring, whereas in IntelliJ you can move classes and methods around, extract functions etc and it all works quickly and reliably (in Java at least; I dunno about Pycharm - Python is trash so it might not be possible to do refactoring reliably).
You can do it in
launch.json
.Exactly, what a god-for-saken horrid solution! I’m all for JSON configuration for really low-down dirty stuff, but for something as simple as this? Eugh, no! Refactoring in Pycharm is fine as far as I can tell, never had any issues with it.
VSCode/ium is fine for single-file python or other such simple stuff, but not for big projects and was an instant deal breaker for me. I hated pycharm when I first started using it, but as I get more used to it, it’s way more usable and has some nice little features, so I’ll stick with it for now.
I get VSCode from a product marketing point of view and understand why it was created, but I wish it wasn’t. One size fits all never works out in the long-term
I’m all for JSON configuration for really low-down dirty stuff, but for something as simple as this? Eugh, no!
I totally agree. But it’s difficult to see why that would be a deal breaker tbh. It still works… and Python is too shit to use for the kinds of stuff you just have a single “run” for anyway (e.g. desktop apps or games).