My feelings stems a bit from what I experienced a while back.
I was helping my friend with his project (a Java project with a testing framework, forgot the name of it).
I told him to try vscode because it's lighter and flexible!
While trying to setup his environment, we could barely get the whole project up and running, the tests could barely run and there was always some kind of hidden issue with the environment and he had no idea how the tests worked under the hood because his IDE did all the work.
He just had to press a green play button to run the tests and the IDE did everything.
I don't want to experience that, I want to have full control and know what does what.
Exactly this. C# (and Java but I have less experience there) was designed for an IDE, otherwise one spends a lot of time editing metadata files). That's why to use C# productively, one essentially has to learn the IDE (VS or Rider).
But once you do, the IDE gives you a lot of stuff for free. Project-wide refactoring, artifact management, project-wide type-checks/completions, impeccable visual debugger, visual form designers, etc. You can do all this from the CLI but it's just a pain.
(caveat: my experience was pre-.NET core. .NET core may have simplified all of this)
I was helping my friend with his project (a Java project with a testing framework, forgot the name of it).
I told him to try vscode because it's lighter and flexible! While trying to setup his environment, we could barely get the whole project up and running, the tests could barely run and there was always some kind of hidden issue with the environment and he had no idea how the tests worked under the hood because his IDE did all the work.
He just had to press a green play button to run the tests and the IDE did everything.
I don't want to experience that, I want to have full control and know what does what.