Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Jul 21, 2025

Implements file-based editing mode that allows users to bypass the diff view and apply edits directly to files.

See issue #6001 for details.

Changes:

  • Created IEditingProvider interface to abstract file editing operations
  • Implemented FileWriter class for direct file system writes
  • Updated Task class to use the interface
  • Added fileBasedEditing setting to global settings and UI
  • Updated all file editing tools to use the new interface
  • Added comprehensive tests

When enabled, file edits are written directly without showing the diff view.


Important

Introduces file-based editing mode for direct file writes, bypassing diff view, with new interface, class, and settings updates.

  • Behavior:
    • Introduces file-based editing mode, allowing direct file writes without diff view.
    • Adds fileBasedEditing setting in global-settings.ts and UI components.
  • Interfaces and Classes:
    • Adds IEditingProvider interface for file editing operations.
    • Implements FileWriter class for direct file system writes.
    • Updates Task class to use IEditingProvider instead of DiffViewProvider.
  • Tests:
    • Adds tests for FileWriter in FileWriter.spec.ts.
  • UI and Settings:
    • Updates settings UI to include fileBasedEditing option.
    • Modifies webviewMessageHandler.ts to handle fileBasedEditing setting changes.
  • Misc:
    • Renames diffViewProvider to editingProvider in multiple files.
    • Updates i18n files to include new settings descriptions.

This description was created by Ellipsis for 4bac5aa. You can customize this summary. It will automatically update as commits are pushed.

- Created IEditingProvider interface to abstract file editing operations
- Implemented FileWriter class for direct file system writes without diff view
- Updated Task class to use IEditingProvider interface instead of DiffViewProvider directly
- Added fileBasedEditing setting to global settings and UI
- Updated all file editing tools to use the new interface
- Added comprehensive tests for FileWriter class
- Updated existing tests to work with the new interface

This feature allows users to skip the diff view and apply edits directly to files,
which is useful for users who prefer to review changes in their own editor or
version control system.
@roomote roomote bot requested review from cte, jr and mrubens as code owners July 21, 2025 11:06
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. enhancement New feature or request labels Jul 21, 2025
- Added fileEditing section to navigation menu in all languages
- Added complete fileEditing configuration translations
- Maintains consistency across all 17 language files
- Fixes failing translation check in CI
@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Jul 21, 2025
"language": "语言",
"about": "关于 Roo Code"
"about": "关于 Roo Code",
"fileEditing": "File Editing"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new fileEditing key (and its subkeys) is still in English. For a proper localized user experience, please translate these strings into Chinese. For example, replace 'Enable file-based editing mode' and 'Show diff view' with appropriate Chinese translations.

Suggested change
"fileEditing": "File Editing"
"fileEditing": "文件编辑"

This comment was generated because it violated a code review rule: irule_C0ez7Rji6ANcGkkX.

"language": "語言",
"about": "關於 Roo Code"
"about": "關於 Roo Code",
"fileEditing": "File Editing"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new fileEditing key (and related labels) remains in English. Please provide Traditional Chinese translations for these file-based editing mode texts to ensure full localization.

Suggested change
"fileEditing": "File Editing"
"fileEditing": "檔案編輯"

This comment was generated because it violated a code review rule: irule_C0ez7Rji6ANcGkkX.

@daniel-lxs
Copy link
Member

To be implemented by @felixAnhalt, closing

@daniel-lxs daniel-lxs closed this Jul 22, 2025
@github-project-automation github-project-automation bot moved this from Triage to Done in Roo Code Roadmap Jul 22, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Jul 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants