The problem with systems that are really just frameworks for other to build on is they become reluctant to build stuff that plugins exist for. The philosophy becomes to depend on the plugins rather than built out needed features. This entrenches the spaghetti pile of plugins.
Plugins are great and necessary - Jetbrains IDEs have plugins. The difference is a philosophical one - are plugins there to provide core functionality, or are they there to provide uncommon use cases? VSCode uses plugins for basics, JetBrains builds basics in - with JetBrains you can never install a plugin and happily work away. With VSCode, the very first task you must carry out is to start managing your inventory of plugins.
Effectively, I don't care if I receive a batteries-included product where the batteries are pre-installed and on-demand loaded, vs one where they're permanently installed.
You seem to prefer opinionated, where other people like the fact they can pick and choose from various plugins to my their IDE their own, and if they do not like the default implementation of a feature there likely is another plugin that may work for them.
For example there are a couple of git plugins, all of them act slighty different based on the workflow of the users of that plugin, if MS came in and said "No this is how git workflow is in VSCode and no other way is possible" that would turn off alot of users
Further you stated another glaring problem, Jetbrians mikes IDE's plural, specialized for each lang they are targeting, VSCode needs to work with many lang, there is not a VSCode:Python edition, and VSCode:Powershell edition, etc et c etc
It is just VSCode and plugins add the Languages you need / want support for
Cheaper for personal use, and free for students.
https://www.jetbrains.com/idea/buy/#commercial?billing=yearl...
Consultants make at £400 day here, dotnet devs usually more.
If you are a hobbiest, it's cheaper.
And the costs decrease each year.
If you are saying £100, then it sounds like it would offer you money for value, so it's probably not for you.
microsoft already has an IDE like this for their core languages; it's called visual studio. it's kinda bloated, but it's still a great tool for languages that microsoft has deigned to grace with its direct attention. for anything else, you're SOL; the plugin ecosystem is pretty limited for VS. the more VSCode reimplements plugins "natively" (isn't it all JS anyway?), the less it has a reason to exist.
The big thing with Jetbrains is the cost. PyCharm is $9-$25/month and VSCode is free
And then, despite automatically identifying the local python venv, install the linter elsewhere so it doesn't work.
But it integrates it wonderfully when you install the linter yourself, or if you use the bundled pylance.
Unlike the FANG companies, Microsoft doesn't tend to rip the carpet out from under independent developers like that.
To avoid left-pad situations
No, they roll them into the carpet and sodomize them like they did with Keivan Beigi and at most just sheepishly say sorry after some public outcry.
This is really frustrating. Am I doing something wrong?
Note that a new extension, that works alongside the original python extension, has been developed by Microsoft: Pylance. It speeds things up based on pyright, a python type-checker.
For refactoring you can use rope [0] as a VSCode extension.
However, I was also having a lot of trouble with environment variables, especially PYTHONPATH. How do you solve that?
Also rope did NOT work well for me. When I tried to refactor (rename) a function definition, it also changed variables in unrelated scopes that had the same name and were not related to the function at all. So I did not gain anything from that which I couldn't achieve using CTRL+F replace.
I haven't used rope extensively, it's too bad that it doesn't work well. It's open source so I guess it needs more contributions.
“Rope is not installed. Install?” - so I need a package in my virtual env just to rename variables?
“Rope is installed. Refactoring failed”.
Careful with the Remote Development plugin. It does NOT have an open source license.
Absolutely everything we use has non-opensource components, unless you try to pursue the path of a purist.
The Microsoft Python one is excellent, as is the Remote development one.
I'm a fan of VS Code because in spite of it having a plug in system, there are great plug ins there. And that one single great plugin is all that is needed (for that specific purpose)