|
|
|
|
|
by WalterGR
4062 days ago
|
|
With previously working code above and below, I start
to declare foo. In the process I introduced unmatched
‘{’; '('; and '"', and am referencing the not yet
(fully) declared foo. This is routine editing, but it
causes huge problems to tools like
* typechecking
* go to source
* code folding
* autocomplete
* etc
Visual Studio and C# aren't without problems, but they are without this problem. This works fine.[1] I'd be quite surprised if it didn't also work in VS-supported languages such as VB.net, F#, and JavaScript - but I can't attest to it.[1] - I personally find it annoying that VS complains about unmatched punctuation the moment I insert the opening one. "Jesus, VS, give me a minute!" And there are other parts of VS and/or C# that I (and probably you) find annoying. But the above is a Solved Problem, if you choose your tools carefully. |
|
To me solving the problem has a higher bar - you should be able to open a large project for the first time and have usable intelligent editor support within a second. I'm even okay with the results of autocomplete being incorrect (to a degree) if they are fast.
I think IDEs make the wrong tradeoffs. They require you to use their build system and insist on parsing all the code in your project before providing anything useful. And guess what none of the IDEs that I tried for C++ provide something as basic as a fuzzy file finder by default. Most don't even have plugins for that and those that do have very bad and slow implementations.
For me something like Sublime Text with a few plugins works great. And before anyone goes yada yada about semantic autocompletion and all that - you can get that too at a very cheap cost - look at YouCompleteMe for vim. For project wide searching I find it easier and more reliable to use grep (or git-grep, ag, ST built in search, etc.) than relying on the IDE's find symbol functionality.