-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Feat/6001 file based editing experimental #6217
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
Closed
felixAnhalt
wants to merge
12
commits into
RooCodeInc:main
from
felixAnhalt:feat/6001-file-based-editing-experimental
Closed
Feat/6001 file based editing experimental #6217
felixAnhalt
wants to merge
12
commits into
RooCodeInc:main
from
felixAnhalt:feat/6001-file-based-editing-experimental
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…e-based-editing-experimental # Conflicts: # src/core/task/Task.ts # src/package.json # webview-ui/src/components/settings/ApiOptions.tsx # webview-ui/src/i18n/locales/ca/settings.json # webview-ui/src/i18n/locales/de/settings.json # webview-ui/src/i18n/locales/en/settings.json # webview-ui/src/i18n/locales/es/settings.json # webview-ui/src/i18n/locales/fr/settings.json # webview-ui/src/i18n/locales/hi/settings.json # webview-ui/src/i18n/locales/id/settings.json # webview-ui/src/i18n/locales/it/settings.json # webview-ui/src/i18n/locales/ja/settings.json # webview-ui/src/i18n/locales/ko/settings.json # webview-ui/src/i18n/locales/nl/settings.json # webview-ui/src/i18n/locales/pl/settings.json # webview-ui/src/i18n/locales/pt-BR/settings.json # webview-ui/src/i18n/locales/ru/settings.json # webview-ui/src/i18n/locales/tr/settings.json # webview-ui/src/i18n/locales/vi/settings.json # webview-ui/src/i18n/locales/zh-CN/settings.json # webview-ui/src/i18n/locales/zh-TW/settings.json
…for enhanced context
Member
|
Hey @felixAnhalt It seems like some translations are missing. I'm also working on something similar but I think losing the diagnostics is a big downside, do you have any thoughts about it? |
Member
|
Closing for now as this was already introduced as background edits |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
documentation
Improvements or additions to documentation
enhancement
New feature or request
PR - Changes Requested
size:XL
This PR changes 500-999 lines, ignoring generated files.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related GitHub Issue
Closes: #6001
Description
This PR adds file-based editing as an alternative to the default diff-based editing flow in Roo. The implementation introduces a new FileWriter class and an IEditingProvider interface, allowing switching between DiffViewProvider and direct file editing. Users can enable file-based editing via an experimental setting in
webview-ui/src/components/settings/ExperimentalSettings.tsx, which applies edits directly to disk without UI impact.Test Procedure
Automated testing:
Unit tests for editing logic and settings integration.
Manual testing:
Enable file-based editing in Experimental Settings.
Edit files and verify changes are applied directly, with no diff view.
Disable file-based editing and confirm diff view is used.
Do this while a task is being executed to see that the editing approached can be changed in-between.
Pre-Submission Checklist:
[x] Issue Linked
[x] Scope: Focused on the linked issue
[x] Self-Review
[x] Testing: New/updated tests added
[x] Documentation Impact considered
[x] Contribution Guidelines read and agreed
Screenshots / Videos
File-based editing in action:
Screen.Recording.2025-07-25.at.20.47.30.1.mov
Experimental setting:
Documentation Updates
Yes, documentation updates are required. Probably here for the supported experimental features.
Additional Notes
Feature is found under experimental as asked for here by @daniel-lxs .
There is an idea of an UI overhaul for all file editing related settings in #2955 which I would like to promote if the feature comes out of the experimental stage.
I intend to add translations for the other languages after the PRs code is formally accepted so it doesn't bloat up the PRs size. If there's a wish to get them earlier I can provide them.
Get in Touch
discord: icy_ice_pls
Important
Introduces experimental file-based editing feature with
FileWriterclass andIEditingProviderinterface, allowing direct file edits without UI impact.FileWriterclass andIEditingProviderinterface to switch betweenDiffViewProviderand file-based editing.ExperimentalSettings.tsx.Taskclass inTask.tsto useEditingProviderFactoryfor editing provider selection.applyDiffTool,insertContentTool,writeToFileTool, andsearchAndReplaceToolto useIEditingProvider.EditingProviderFactoryandFileWriter.fileBasedEditingtoexperiment.tsandexperiments.ts.settings.jsonfor new experimental feature description.This description was created by
for bfb9e16. You can customize this summary. It will automatically update as commits are pushed.