Switching from GPT-5.5 to GPT-5.6 Made Me Less Productive
I pay for three Codex subscriptions at $200 each, and for the past week they have mostly bought me waiting. Since I…
I used GitHub Copilot from early 2022 to mid 2024 and switched to Cursor at the beginning of 2024. I've tested Sourcegraph Cody and Supermaven along the way. Currently, I use Cursor exclusively for all my development work, powered by Claude 3.5 Sonnet (New). I'm also planning to incorporate Aider Chat into my workflow, and keeping an eye on Zed Editor once it supports Windows.
GitHub Copilot revolutionized coding with its AI-powered autocomplete. Despite critics dismissing it as "just a fancy autocomplete," it was exactly this simplicity that made it powerful. The magic wasn't just in saving a few keystrokes - it was in eliminating the constant context-switching between coding and documentation/StackOverflow searches.
Copilot excels at:
// do xyz with accurate implementationsWhen GitHub later added features like chat and other integrations, they felt bolted on. I installed them but found myself gravitating toward dedicated chat services like ChatGPT and Claude for those use cases.
Cursor emerged as a comprehensive solution that changed how I approach AI-assisted coding. Its killer feature? The Ctrl+K command. This simple shortcut enables powerful code modifications:
While Cursor initially included "Copilot++" as their autocomplete solution, I found it disorienting - it would suggest multiple changes across different file locations simultaneously. I stuck with GitHub Copilot inside Cursor (which is possible since Cursor is essentially a VSCode fork).
The autocomplete landscape has evolved significantly:
Cody offers similar functionality to Cursor but as a VSCode plugin. While feature-complete, it falls short in two key areas:
Created by the team behind Atom and Tree-sitter, Zed looks promising with its built-in AI capabilities. However, it's currently unavailable for Windows users.
My current setup is streamlined:
Two tools are particularly interesting for the future:
Cursor Composer shows promise but needs refinement:
Aider Chat is an exciting CLI alternative:
Cursor's Tab feature is their solution to code autocompletion, replacing their earlier Copilot++ implementation. Unlike GitHub Copilot's insertion-only approach, Tab can modify code around your cursor position, including editing existing lines. It works within a range of one line above to two lines below your cursor.
You interact with Tab suggestions by:
The system watches your keystrokes and cursor movements to make contextual suggestions, though it will sometimes determine no suggestion is needed. This helps prevent noise in the editing process.
Ctrl+K (Cmd+K on macOS) serves two main purposes:
The command opens a prompt bar where you describe what you want to do. After generation, you can refine your request with follow-up instructions. The changes are presented in a diff view that clearly shows additions and deletions.
By default, Cursor tries to include relevant context like related files and recent views, which you can supplement using @ references to specific files or code sections.
The chat interface lives in the AI pane opposite your primary sidebar (toggle with Ctrl/⌘ + L). Each chat maintains its context and history, which you can revisit through Previous Chats (Ctrl/⌘ + Alt/Option + L).
The chat's context system works through several mechanisms:
Generated code in chat responses can be applied directly to your files through an "Apply" button, with changes shown in diff format.
In Cursor's terminal, Ctrl+K provides natural language to shell command conversion. It considers your recent terminal history and command context. Commands can be accepted with Esc or executed immediately with Ctrl/⌘ + Enter.
Aider operates as a command-line tool that creates an AI pair programming environment in your terminal. You start by pointing it to specific files: aider <file1> <file2> .... These files become part of the "chat session", allowing the AI to see and edit them.
A key principle of Aider is to only add files that need editing - it automatically pulls in context from related files in your repo through its repository mapping system. This keeps the context focused and efficient.
Aider uses a / command system for operations:
/add: Add files to the chat session/drop: Remove files to free up context/diff: Show changes since last message/run: Execute shell commands and optionally add output to chat/undo: Revert the last AI-made git commit/commit: Commit external edits/ask: Ask questions without making changes/architect: Discuss high-level design before making changesThe tool supports both Emacs and Vim keybindings (activate with --vim flag), and allows multi-line input through several methods:
/paste command for clipboard contentGit integration is core to Aider's workflow. Every change the AI makes is automatically committed with a descriptive message. This creates a clear history of AI-assisted changes and makes it easy to revert modifications if needed. The /undo command is specifically designed to roll back the last AI commit.
Aider works best with GPT-4 and Claude 3.5 Sonnet but can connect to almost any LLM. It provides different chat modes for different tasks:
code: Direct code modificationsarchitect: Proposes solutions before making changesask: Questions and analysis without code changeshelp: Tool usage guidanceThe architect mode is particularly interesting as it uses two LLM calls - one to design the solution and another to implement it, which often produces better results despite being slower.
The key difference between these tools isn't in their capabilities - both can effectively modify code with AI assistance - but in their approach and workflow.
Cursor integrates directly into your IDE. Its features are always available through keyboard shortcuts, and the AI assistance feels like an extension of standard IDE functionality. This makes it particularly suitable for developers who:
Aider takes a different approach, treating AI assistance as a focused terminal session. This works better for developers who:
Both tools handle codebase context differently:
Copilot's core functionality is its autocomplete system. When you type, it shows suggestions in ghosted text that can be accepted with Tab, rejected with Esc, or ignored by continuing to type. You can cycle through alternative suggestions using Alt+[ and Alt-] (or Option+[ and Option-] on Mac).
The suggestions come from analyzing your current file, open editors, and project context. What works particularly well is using comments to get specific implementations. Writing // validate email or // parse json response typically gives you sensible validation or parsing code that matches your project's patterns.
If you want to see multiple suggestions at once, press Ctrl+Enter when a suggestion appears to open a new tab with several alternatives. For more granular control, you can use Ctrl/Cmd+→ to accept suggestions word by word, which is useful when only part of a suggestion matches what you want.
In practice, the autocomplete works best for incremental coding - adding new functions, implementing interfaces, or writing standard patterns like data validation. It's particularly good at matching existing patterns in your codebase, which helps maintain consistency but can also propagate existing anti-patterns if they're present.
The chat functionality can be accessed in several ways in VS Code:
To use chat commands:
Alternatively, you can right-click selected code and choose Copilot > Explain or Copilot > Generate Tests from the context menu.
The chat understands context in several ways. It automatically sees your current file's content and can understand selected code. For larger changes or questions about multiple files, you'll need to explicitly share the context through selection or by having relevant files open.
Unlike Cursor's chat which feels more conversational, Copilot's chat is more task-oriented. It works best for specific requests like explaining code, suggesting improvements, or generating tests, rather than open-ended discussions about architecture or design.
Copilot integrates with GitHub's web interface in several ways:
For pull requests:
For issues:
For exploring codebases:
These integrations work best when exploring unfamiliar code or trying to understand complex changes. The PR summaries can be particularly helpful for quick code review context, though you'll still want to review the actual changes carefully.
The CLI works through GitHub's command-line tool. First, you need to:
gh extension install github/gh-copilotThen you can use:
gh copilot suggest "your request" - Get command suggestionsgh copilot explain "command" - Get explanations for commandsFor example:
gh copilot suggest "find large files in current directory"
gh copilot explain "docker ps -a"
When Copilot suggests a command, you can either:
The CLI integration is particularly useful for complex shell commands that you use infrequently, like specific git operations or system administration tasks.
Copilot works across multiple IDEs through plugins. In VS Code, everything is accessible through keyboard shortcuts or the command palette (Ctrl+Shift+P). The JetBrains implementation uses their standard shortcuts:
Visual Studio uses Alt+/ for inline chat and maintains a similar UI to VS Code but with Microsoft's standard keyboard mappings.
Neovim integration requires configuration in your init.vim/init.lua and provides basic commands like :Copilot enable and :Copilot disable, with mappings you can customize.
When writing code incrementally, Copilot's autocomplete is more predictable than Cursor's Tab feature. It suggests code that follows your project's patterns and rarely tries to be too clever. Cursor's suggestions can be more aggressive, sometimes trying to modify multiple lines when you just want to complete the current one.
For larger changes, Copilot falls short of both alternatives. While you can use the chat to request changes, there's no equivalent to Cursor's Ctrl+K command. You end up copying the chat's suggestion and manually applying it, whereas Cursor shows you a clear diff and lets you apply changes with one click. Aider takes this even further with automatic git commits, though it requires switching to the terminal.
Context handling varies significantly between the tools. Copilot works with whatever files you have open - there's no explicit way to tell it "use this file for context but don't modify it." Cursor's @ references give you more control, letting you explicitly point to relevant files or functions. Aider's approach of explicitly adding files to the session is the most straightforward but requires more setup.
The choice often comes down to your specific needs:
Each tool pushes you toward a different workflow. Copilot encourages writing code incrementally with lots of small completions. Cursor works better when you plan larger changes and use Ctrl+K to implement them. Aider works best for focused programming sessions where you explicitly want AI assistance.
Give Vroni a GitHub issue, bug report, spec, or rough idea. It reads the repo, plans the change, writes code, runs checks, and works toward a review-ready pull request.
Take a look at vroni.com
Dankesehr! Sehr hilfreich, um sich im Wust der AI-IDE-Tools zurechtzufinden!
One drawback of Cursor seems to be, by hear-say, that it uses a lot of context for all inquiries, so eating a lot of energy, and, in case one doesn’t use a local model, eventually money (say with popular OpenAI models like ChatGPT).