Ask HN: What is your experience with Cursor?

22 pointsposted 3 days ago
by aliasxneo

Item id: 41508118

25 Comments

simonhfrost

20 hours ago

Amazing. I've tried co-pilot and tabnine extensively and I think it solves one of the major pain points both have: not having an easy way of inserting/modifying code it generates by providing an interactive patch style interface.

That, and the autocomplete is more accurate and faster (I think it has access to recent history and clipboard?)

HackerQED

3 days ago

Great, and the more you know about software engineering, the better it would perform.

IMO, the 1st law of SE is about creating a bounded context, to make any junior can work like a senior.

And Cursor is a really hardworking and smart junior.

muzani

2 days ago

It's also great with TDD if you have decent coverage and want to maintain decent coverage.

One thing I dislike about TDD is I sometimes think better in code than use cases. And stuff like mocks etc take far longer to write than a 5 line fix. Say, I have a repo where it takes variable from source A when X happens, and source B when Y happens.

Now I can do reverse TDD. I write the code first. I highlight my code and tell Cursor to write the tests. I tag all the classes and models and other things that I want Cursor to mock. It writes the test, the tests pass, green. Then I stage the code that I wrote, and those tests should fail, red. It also finds all the dumb things I missed out on like imports.

So there, I have a pair programmer that writes the 300 lines of tests while I write the 5 lines of functional code, no worries about hallucinations and all.

hitchdev

2 days ago

>And stuff like mocks etc take far longer to write than a 5 line fix

If you test from the outside in and build up a library of functional and realistic fakes then over time then this gets quicker and easier.

Ideally I think people shouldnt use mock objects at all, ever - only fakes of varying realism at the edge of the project, populated with realistic data.

One reason for doing TDD is that it compels you to match a realistic test with a realistic scenario. I tend to find people lose that when they do test after, and they instead lock the test in to the current behavior of the code instead. This is not just tedious work, it's also harmful.

mikeodds

3 days ago

Really this. It’s been great for me to dive into an unknown area with a new library from scratch.

Explanations of code work relatively well for smaller chunks of code.

When files get larger, I get more of a miss rate/bad suggestions unless I start tightening the scope.

prash2488

2 days ago

Tried cursor twice, gone back to VSCode. As recently as last month.

I had my workflow around VSCode, I am using `code` cli, devcontainer and many plugins. First time I tried, they didn't have devcontainer support (iirc last year). This time the devcontainer is there but the CLI support is nowhere to be found. And I am sticking to VSCode as I have some QoL customization in VSCode and around VSCode. Right now I am experimenting with programmamble workspace (Like adding and removing some directories in the whim of command).

I have some shortcuts, and some scripts which directly calls `code` with some arguments, all in WSL. I will go back to trying cursor if I can try `cursor` with `code`. Till then, for AI Assisted coding, I am happy with Aider...

darvid

3 days ago

i've tried cody, double, and continue - imho, nothing beats cursor right now in terms of frictionless, __fast__ autocomplete and larger context windows. as an example, it saved me a considerable amount of time today writing HCL (terraform/tofu), hopping between var files and resource blocks, autocompleting names and types, documenting them, etc.

i'm also frequently in large python codebases and it just works for actually mimicking patterns when i need to do some repetitive task like adding endpoints to an API, automagically being able to add imports at the speed of a <tab>.

kristianp

2 days ago

A related question, how have people found zed's new AI features? From my use a week or 2 ago, it seems they need more devs dogfooding on linux. Putting the OpenAI Api key in the configure tab did nothing. Starting with the environment variable worked around that.

vunderba

a day ago

I like Zed and appreciate that I can bring my own keys for the AI features. The only thing I don't like is that inline auto-completion seems to be strictly tied to GitHub copilot. Even if you supply Anthropic / OpenAI keys, that only supports the context and assistant features.

d4rkp4ttern

2 days ago

I am big fan. Its features are not immediately obvious, but it's a superpower to have. I'll mention just one - the ability to hit Ctl-Enter (MacOS) literally anywhere (in code editor, terminal, assistant pane) to get context-aware responses and code-diffs is super-useful.

I did try cursor but I'm just not into that whole VSCode feel (I am a JetBrains person, and zed lets you set the keymap to JetBrains-style, so most of my kb shortcuts still work in zed).

Zed is rust-based and extremely fast, and they are building it from the ground up instead of forking VScode like Cursor.

anachronox

2 days ago

I've had a good experience with it in Python and typescript but not so much with Go although I think that's because the models themselves aren't very well trained on some languages. That said, what I really liked was that I was able to attach other files in the context and ask out to write tests using the same frameworks and style from the existing codebase. The tab completion guesses are the most magical. For example converting single quotes to double. Do it once in a spot and it highlights the relevant next spot to apply.

FractalHQ

2 days ago

It’s like what copilot could/should be if Microsoft was even remotely competent at software.

No LLM is smart enough to implement novel features in a complex repo, but the inline autocomplete alone is leaps and bounds more powerful in its editing / diff capabilities, and smarter thanks to Claude and additional context.

Never going back to vscode + copilot.

That said, cursor blew up so many of my keyboard shortcuts, making it a pain to revert all of their stupid commands they try to stick on common shortcut combos that cause chat windows to pop up in random places. Chat windows suck and waste time because LLMs are brain dead if they try to come up with things themselves as opposed to just copying your existing patterns. Cursor will update and re-nuke a bunch of the un-fucked settings and commands, making it a pain in the ass.

Still leaves Microsoft’s stale tech demo in the dust. They dropped the ball after so much investment and let copilot rot in an embarrassing state. Cursor really highlights this.

hiAndrewQuinn

3 days ago

Stack migrator here. It's phenomenal, and comes with a 2 week free trial. I would definitely recommend trying it out and seeing if you like it better.

kristianp

2 days ago

> Stack migrator

What stacks are you migrating between?

jryan49

2 days ago

It's okay. It can handle some boilerplate for me. For example, the stuff you have to do to make a bridge in electron between renderer and main. I'd say it's better than co-pilot though. I asked it to pull up some state and it could do that correct sometimes. If I asked to it do something complicated it would just make stuff up and waste my time though.

allan666

2 days ago

For me, I think the best thing about cursor is that it understands the whole context above and then gives code in context. The biggest difference between writing a project and just writing a test demo I think is the context. If you're just writing a simple tool, it won't make much of a difference, but if it's an actual project, it will make a big difference.

mergisi

2 days ago

Cursor can sometimes modify existing code when making changes. I’m curious if anyone else has encountered this and how you managed to work around it.

wruza

2 days ago

Does it (or models under other similar projects) allow for character specification like in general llms?

heeton

3 days ago

I really like Supermaven, which lives inside my existing VSCode install. I didn’t love the idea of switching editors (even with extension porting) so I haven’t tried cursor.

Supermaven was miles ahead of Githhb copilot for me.

muzani

3 days ago

Both Supermaven and Cursor are miles ahead.

Cursor's advantage is it works with today's clean code style where you need to modify 14 files and add 3 tests to change a variable value.

Supermaven is fine for more compact codebases. It has a much larger context window, but Cursor is likely utilizing RAG or something and able to work with larger ones better.

Both are great at their own thing, I'd suggest everyone try them both.

ldjkfkdsjnv

2 days ago

It looks to me like the future of software engineering. Gone are the days of manually typing up for loops.

galileo48

3 days ago

It's great, but I use it 5% of time. Generates lots of verbose code using verbose frameworks.

marsh_mellow

2 days ago

To tag on to this, what are the most useful capabilities besides code generation?