Ask HN: How much better are AI IDEs vs. copy pasting into chat apps?
For context, I'm a heavy user of Gemini / ChatGPT for coding and Copilot. But I haven't used Cursor / Windsurf / etc..
Copy pasting into chat apps is a first world problem: it will do the work for you, but you have to give it all the context in the prompt, which for a larger project, gets tedious.
The issue with Copilot is that it's not as smart as the "thinking" chat apps.
This makes it clear why there's such a need for AI IDEs. I don't want to construct my context to a chat app. The context is already in my codebase, so the AI should pick up on it. But I also hear that it gets expensive because of the pay-per-use pricing, as opposed to effectively unlimited prompts for a thinking chat app if you pay the monthly subscription.
So I just wanted to get the lay of the land. How good are these IDEs on constructing your context to the LLMs? How much more expensive is it, and is it worth it for you?
139 comments
[ 3.7 ms ] story [ 198 ms ] threadFor writting code the old fashion way. You type the code the intellisense/auto-complete build in to the like of cursor AI is the most annoying thing i have ever seen in a IDE. You constantly sitting hitting the escape key try to get their auto-complete suggestion to go away. Most of the time is it guessing where wrong and is mostly useless.
The biggest issue is when you try to use a class that has properties. When you press the dot after the class name normally the IDE will list the public properties on the class.
Now you have to battle that the list now longer contains just the properties found on the class but also non-existing properties invented by the AI IDE. As clever as this AI autocomplete can be, i really hate it because I can no longer rely on that my IDE is telling the truth about what properties and functions there is exist on a class.
and if you are the type of programmer that like to put empty lines in your code for readability. Then moment you hit enter you now get an often completly irrelevnat code suggestion and need to battle that suggestion to go away. I just want an blank line for crying out loud.
PS: my AI IDE is cursor
With ChatGPT Canvas I’ve completed small projects like WordPress plugins, handy personal Python scripts, chrome extensions (my favorite use of ChatGPT) and most importantly debugged faster than any tool I’ve ever used. Sure, my customer-facing GPT API apps are burning credits like a rocket on full throttle but at least I’m billing them for it. The API speed is wildly inconsistent so you can’t rely on it for everything.
One key tip is you can’t keep a single chat going forever. It gets sluggish, especially when you paste long code blocks. My method is simple. I ask for the final clean code, then request a complete detailed summary of what we built and what the functions do. Then I start a fresh chat, paste the summary and code, and continue clean. Think of it like making a commit, just a very crude version.
To answer why I don't use chat at all for coding anymore, some benefits of IDE / CLI agents: Copy pasting into chat apps don't allow for agentic runs (ie run bash commands, edit code, validate with linting / testing before marking task as 'complete'). I can mostly just write my descriptive task (usually with code references if they aren't already there in clinerules / claude.md, etc.) and come back after a short walk or drinking some tea and check the code or just check at runtime to ask it to fix up the code. This is honestly very similar to "waiting for code to compile."
For reference, I've used the following to make production code changes:
- Cursor: which when Claude 3.5 was out seemed to be the best AI IDE, but the changes they've made around agent mode and 3.7 haven't really worked super well for me. Migrated to claude code after 3.7 came out.
- Claude Code: Very good, I generally just ran it in dangerous mode and it could accomplish tasks fairly well. Wrote a decent Claude.md file as well. Only con is that it got expensive quickly. On the order of $3-5 per session which would accomplish a single task.
- Cline with Gemini 2.5 Pro: Moved to it yesterday, it's been doing a good job and is effectively free right now using my own API key for Gemini. Seems a bit verbose at times although that might just be Cline's prompts.
I haven't tried Aider or Windsurf, but have heard good things about Windsurf's agentic mode. Although I might not move to Windsurf at all since Cline with Gemini works pretty well & is free to use.
I think the cost is/was a big factor preventing many from switching from Chat-based coding to Cline/Cursor/Aider.
For my hobby projects I don't want to spend 3 USD to get some assistance which I can get for free through a monthly subscription (and some extra pasting).
Google is smart to offer a free use tier on API-usage which seems enough for agentic coding.
The "context-in-the-codebase" thing for AI-based IDEsis overrated IMO. To extract the most from it, you have to remember to @mention the files.
If you don't remember to @mention specific files, the agent simply tries to perform searches (i.e., it has access to that tool) on the files and folders until it gets some results... and will usually keep broadening the search until it does.
It works well enough I suppose. But I still find myself beginning new chats (for example, per feature) because the model still loses its place, and with all the code/lint fixes it does, it starts to lose context.
Then you're right back having to @mention more files to ensure the model knows how to structure your front end, back end, etc.
(Please excuse any misnamed development terms.) :-)
What I do notice is that the AI systems seem to forget to pull in a lot of context as the project size grows. It's almost as if there's something of a limit to the amount of input data, either to manage costs or compute cycles or something like that.
When I start "vibecoding" it goes really well in the beginning but then when the project grows in complexity, asking it to do something relatively simple falls apart as the AI "forgets" to do that really simple thing in every applicable place (e.g., removing a feature that is no longer needed).
https://prompt.16x.engineer/cli-tools
You can install it in a few seconds, one line: curl 9ol.es/talker | sh
tell me what you think.
It has also shortcuts for instance fixing errors in the code by just selecting "fix with copilot". Its a bit hit or miss but for simple things work well.
It is very good and seamless. Cannot think of ever copy pasting multiple files of code to some web chats and back.
That, and the way it generates commit comments, I don't think I will write another commit message even again.
From your description of how this plugin works, I see why it works so well. It is basically just focusing on the essentials (populating the appropriate context) and then does as best as it can to get out of the way ( <- this part is really important I think)
I guess they try to do things to give better results: give the context a list of file names, give the context the full class graph of the Classes in the current working file (not sure about any specifics really) Reality is they don't do a whole bunch... but without doing what they do, it would be infuriating to figure that all out yourself , over and over and over for each thing you want to work on.
But dont worry, we just have to wrap layers of LLMs around layers of LLMs around loops of retrying and testing around loops of detecting when the censorship starts evolving and breaking until we finally just all decide to become farmers
>Read the Sqlite file in this directory and create an UX that would visualize and manage the data. The application should be responsive (so it can be use on mobiles) and should have some graphs when appropiate.
Edit : Sarcastic
VSCode/Cursor run natively under Linux.
Of course it also gets stuff wrong and everything needs to be properly validated, but it's a nice tool to try out.
- A custom vscode plugin to help me copy file contents from the tree view, along with file paths
- A chat based ide (LibreChat, but anything will do)
- An agent that syncs code back, once I'm happy with the conversation (https://github.com/codespin-ai/codebox)
Sometimes I add the agent right at the beginning. Sometimes I do that when I feel the code is ready to be written back. Another thing with the codebox agent is that it lets the agent run unit tests (even inside a docker compose environment, if you want integration tests); so in some cases it can be fire-and-forget.
However, I think it can be "vibe coded"these days.
Wrote about it: https://ghiculescu.substack.com/p/nobody-codes-here-anymore
The developers now have access to the license to the software, probably via their work email address.
I don't think the person you're replying to necessarily said that they are forcing their developers to use the tool.
I use both Cursor on Claude 3.7 and ChatGPT on 4o/o3. Cursor seems kind of "dumb" compared to 4o, but it's a good workhorse.
I let Cursor handle the basics - basically acting as a glorified multi-file autocomplete. I think through common problems with 4o, tough problems with o3, I copy all of Svelte's docs into 4o (https://svelte-llm.khromov.se/) to get good Svelte 5-focused feedback, I have 4o code-review what Cursor writes from time to time, I have 4o, sometimes o3, generate "precise" prompts that I'll give to Cursor when me talking off-the-cuff to Cursor doesn't get good results after a few attempts.
I don't consider myself an expert in these areas yet so I might be misusing Cursor, or not making enough use of its rules system, or something. I feel like I get good value for my ChatGPT subscription. I don't feel like I get good value for my Cursor subscription, but I also still feel like keeping it because $20 to type a lot less is still pretty nice. I would be upset if I only had a Cursor subscription and no access to ChatGPT. I am pretty hesitant to pay for AI à la carte. I feel much better about working within the limitations of a known subscription cost.
What do you mean by that? You can use 4o model in Cursor?
even if both companies use same model (OpenAI and Cursor), system prompt has a huge impact on results
Same experience. I'm in no need to let the AI write large, real working code. But it's amazing for fast refactoring, function signatures, boilerplate, etc. The real boring parts. I only wish it wouldn't be so eager to try to dump a 50 lines of bullshit code every time. But for small changes, super cool.
Engagement, after all.
As they have had for over a decade fast refactoring (extract method, boilerplate generation, change function signatures everywhere, suggested code refactoring due to language improvements, one click refactoring based on linting suggestions, etc.).
Without AI.
I'm just confused as the stuff you've mentioned already existed and doesn't need an AI to do it.
So can it do something more or are you using AI tokens to do something most decent IDEs can already do without AI?
To summarise the Agent Mode editors don't try to fill in their context gaps and be aware of the environment they operate it unless explicitly specified by the prompter to first review the codebase, understand it's structure and then proceed with implementing features.
Upgrade to a paid plan and you can use many of the same “thinking” models.
Honestly, your entire question is best answered by signing up for a free trial of one of these tools and using it. Not the free tier, a trial or a paid plan.
Copy and pasting into another app is extremely inefficient. You really need to try a tool that integrates your model of choice into the editor.
https://prompt.16x.engineer/
It is used by quite a lot of people. So the problem is definitely there.
The app supports API integration as well. From usage stats, still there are more people using the copy pasting flow instead of API flow.
I suspect it is because people are already have a subscription so they can basically use that for free, versus via API where they have to pay.
With that said, Cursor's $20/month unlimited usage is really too good to miss. I will wait for it to end soon.
With every update to the Copilot extension, I see less and less of a need to switch away from VS Code to some “dedicated AI editor du jour”.
Maybe I’m missing something, or maybe people aren’t keeping up with Copilot’s capabilities?
⁽¹⁾ https://code.visualstudio.com/docs/copilot/reference/copilot...
⁽²⁾ https://code.visualstudio.com/docs/copilot/chat/chat-agent-m...
⁽³⁾ https://code.visualstudio.com/docs/copilot/chat/copilot-edit...
VS Code is very quickly catching up to Cursor as well (added tab-driven completions).
Also you don’t have to be right on the edge of things. You can be, or you can wait for the dust to settle. Claude Code / OpenAI Codex and the agent modes are probably the edge now.
Also if you’re still using a terminal (who isn’t), try Warp. It’s improved a ton over the last year, support more niche shells like Fish now. It’s actually a really “fluid” AI chat integration, because it smartly figures out when what you’re typing is not a command but a prompt. (It’s probably also on the edge, I haven’t figured out how to tell it “you’re wrong” when it asks for a permission for example, I have to “cancel” the chat).
That being said, it is worth the price as it can be helpful sometimes. I pay $15 per month and haven't gone over the token limit yet. ChatGPT is still fundamentally more useful however.
Compared to Cursor with full codebase context where I can get away with less, so I typically fall back to the lazy prompting patterns of "not like that, do better". Which likely eats up more time than had I prompted well to begin with.
The big secret to success?
JetBrains IDEs have “compare with clipboard” - essential tool to verify what the LLM changed.
This is unlike most other companies, say Spotify, where if you get access to their source, there's still not much that you can do with it.
They are a pain to apply manually. I’ve tried several visual studio code extensions that apply patches from clipboard or provide an input for it, even saving them to a file and running command line tools - but they all fail
Anyone has a good system, extension or application to easily copy these diffs from ChatGPT and apply them to the code on visual studio (or some other editor)?
When I copy paste via ChatGPT I direct the model on what to do and retain responsibility and understanding of all code getting saved.
I do really like Cascade in windsurf because it does a decent job of parsing the entire codebase and finding the spot to make changes. But I think I’ll probably be most successful combining my approaches and using Cascade at a coding level not a “vibe” level
full files, JIRA tickets with is/should, DRY/KISS refactorings and root cause analysis are done this way
full files are usually just copy/pasted, everything else added for cursor as in insttuctions