-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Support for IDE Companion #2066
Comments
I have prepared PR for the changes required on the aider side. Happy to start the discussion about the possible improvements. Companion should introduce communication between aider and IDE, so there are additional open feature possibilities of using it in the future (e.g. adding a selected code to the aiders chat, invoking Refactor command on selected code...) |
This is an interesting and cool idea. I like it. It's a different spin on something I also just suggested to improve the workflow and adding files to the chat: #2068 |
There is a VSCode extension that already does this without a rest API. This could be a good way for Jetbrains IDEs and others, but it's generally not the best case solution |
@sengokudaikon I am interested in Paul's take on this and see what he thinks would be the best approach given his general overview and idea of aider's capabilities. |
I would also very much prefer to have aider provide REST endpoints for its commands. This would open up a few use cases and ideally extend its scriptability without the need to fork it or run it from python. |
+1 to this. The biggest issue using Aider vs. an in IDE solution like Cursor is the inability to "apply" individual proposed edits while looking at the file itself. Sometimes models end up rewriting too much of a file, or tweaking them unncessarily. |
Out of interest, is there a use case whereby the IDE's extension can't just use Aider's scripting? |
I'm writing a plugin that does exactly that. Compared to having an aider instance that runs as a sidecar and can be used on demand, there are a few downsides of calling aider with the message argument:
Especially 1. 2. and 4. significantly affect the ux an aider IDE integration can provide. |
@p-wegner Now I understand your use case a bit more, after also thoroughly looking at the PR. This is how I understand how you envision this:
An MCP server would fit this use-case perfectly. Both Aider and the extension can communicate via the MCP server. Workflow changes:
Thoughts: this seems to be limited to just the convenience of adding files to chat. I believe this would only be a start and visual diffs and other features would be added to the extension via the MCP server (we'd probably need some hooks to retrieve diffs before Aider commits) Would this fit the requirement? For reference, MCP Server progress is tracked here: #2525 |
In case anyone interested I have created desktop app built on top of Aider that can keep track of opened files in your IDE and automatically add/drop them from Aider's context (plus much more) -> AiderDesk. I am thinking about closing this issue as there has not been a word from Paul, if anything like the original idea of the issue is even considered. |
Motivation
When working with aider, users usually have IDE opened with the project code to see the changes and modify code parts manually. It would be very usefull to be able to automatically add files opened in IDE to aider context, so users do not have to worry about managing them via
/add
//drop
commands.Solution
Aider would fetch open files from IDE via Rest API provided by IDE's plugin or extension.
IntellijIDEA
I have created simple plugin that spins up Rest API server on localhost:24337 (port choosen as alphanumeric value of 'aider'). The API provides the following endpoint:
POST /open-files
Version and model info
No response
The text was updated successfully, but these errors were encountered: