But Cursor's tab-autocomplete is actually really useful. It feels like it very much knows what I'm up to.
Example (web dev): hit cmd+k --> "this is a two column layout. make sure the columns are the same size". It just does it. To do that myself I would have had to switch to a browser, google flex box, go to that classic flexbox cheat sheet that we all know and love, tweak around with the different values of justify-content and justify-self, realize that was the wrong approach, then arrive at the correct answer of making sure each column flex-grows identically. two minute task, now 10 seconds.
hit cmd+k -> "flow these columns one-after-another on smaller screens" done. thirty second task, now 10 seconds.
hit cmd+k -> "enable or disable the rendering of this component via props" done. new prop added, prop is flowed through to a `display` css property, easy.
The autocomplete is pretty good, but can get annoying. You definitely have to get used to it. However, the cmd+k quick fix thing is insane. Its literally made me at least 200% more productive, and I think that might grow to 300% as I learn to use it and it gets smarter (they just added Gemini 2.0 Flash; can't wait to try that out).
I don't know if I'm ready to use it as a daily driver, but there are certain kinds of tasks—especially large refactors—where its ability to rapidly suggest and accurately make the changes across a file is incredibly valuable. It somehow manages to do all of that without ever breaking my sense of flow, which is more than I can say for Copilot's suggestions.
And yeah, I'm with you that autocomplete is the way to go. I think chat is a red herring that will have long-term negative effects if it's used extensively in a codebase. Autocomplete keeps you in touch with the code while still benefiting from the co-pilot, and Cursor's UX for that is far and away the best I've seen.