I wonder why VSCode is at least name-dropped in these Python setup tutorials lately. VSCode is spying on you and sending back "telemetry" data.
Given the current situation in Python, where there is little development, the old boys have totalitarian control, and new contributors are smart enough to avoid that mess:
Try out Rust, Go, Elixir or Lua instead. It might save you a lot of trouble. Heck, if you are willing to put in a lot of time to create carefully written objects, C++11 code can look a lot like Python (if you are into that).
They've invested a ton into Python support in VSCode in recent years. It's really good.
The language server Microsoft built for type checking and completion (https://github.com/microsoft/pyright) is excellent. It makes Python feel like a first-class statically typed language, which isn't something I was able to replicate in Pycharm (tried this very recently). Meanwhile, it's just baked into VSCode, no configuration needed.
I use Jetbrains tools for several languages, but for Python and frontend (Typescript with React/Vue/Angular) VSCode is hitting the perfect notes.
I haven't touched Python in years, and just recently came back to it. I was very pleasantly surprised to see just how much Microsoft has improved the tooling in VSCode with the recent update (https://visualstudiomagazine.com/articles/2021/05/11/vscode-...). I've only tinkered with it a bit, but it feels on par with the JS/TS experience in VSCode, which is surprising since those are native and have a more robust static types community.
My experience is also that PyCharm is much more pleasureable to work with and on a safer side. I checked 1.5 year ago, so could be changed, for remote development on a server and had to download some 3rd party Rsync tools to be able to do so. For PyCharm is just works out of the box with a professional license.
VS Code experience has definitely improved a LOT in the past 1.5 years with the new python language server (pylance) and remote development being improved quite a bot. We use it daily in production in my company with almost zero problems so far.
Given the current situation in Python, where there is little development, the old boys have totalitarian control, and new contributors are smart enough to avoid that mess:
Try out Rust, Go, Elixir or Lua instead. It might save you a lot of trouble. Heck, if you are willing to put in a lot of time to create carefully written objects, C++11 code can look a lot like Python (if you are into that).