Hi experienced devs , I am a beginner programmer. I mostly use code completion and go-to source , and rename function and objects, code-pretty. Other features not so much. What features do you use often And what features are not that useful in an IDE and can be considered bloat? P.S.- Which is that one feature that you can’t live without?( sorry for sounding like tiktok wannabe)
I’m reluctant to call much “bloat”, because even if I don’t use something doesn’t mean it isn’t useful, to other people or future me.
I used to code in vim (plus all sorts of plugins), starting in college where IDEs weren’t particularly encouraged or necessary for small projects. I continued to use this setup professionally because it worked well enough and every IDE I tried for the main language I was using wasn’t great.
However, I eventually found IDEs that worked for the language(s) I needed and I don’t have any interest in going back to a minimalistic (vim or otherwise) setup again. It’s not that the IDE does things that can’t be done with vim generally, but having a tool that understands the code, environment, and provides useful tooling is invaluable to me. I find being able to do things with some automation (like renaming or refactoring) is so much safer, faster, and enjoyable than doing it by hand.
Features I look for/use most often:
- Go to (both definition and usages)
- Refactor tooling (renaming, inlining, extracting, etc).
- Good warnings, along with suggested solutions. Being able to apply solution is a plus.
- Framework integrations
- User-friendly debugger. Ability to pause, drill in, and interact with data is immensely helpful with the type of applications I work on.
- Configurable breakpoints.
- Build tool integrations. Doing it on the console is… fine… but being able to set up what I need easily in the IDE is preferable.
Features I don’t use or care so much about? Is there much left?
- My IDE can hook up to a database. I’ve tried it a few times, but it never seemed particularly useful for the apps I work on.
- git integration. I have a separate set of tools I normally work with. The ones in my IDE are fine, but I usually use others.
- Profiler. I use it on occasion, but only a few times a year probably.
I do code in non-IDE environments from time to time, but this is almost always because of a lack of tooling than anything else. (Like PICO-8 development)