Skip to content

Improve Multiple folder workspace support #6897

@NaccOll

Description

@NaccOll

What specific problem does this solve?

Full-stack developers working in multiple git repositories need this feature more.
Add multiple folders to a workspace to perceive in vscode
While a task is in progress, switching between different folders will be less confusing.

Additional context (optional)

Currently, RooCode supports working in multi-folder workspaces, but it's not perfect.

The following are currently supported features:

  1. Sending messages

  2. References to files in different folders by droping

  3. Displays the task history for a folder based on the CWD when creating a ChatView

  4. Displays the codebase index status for a folder based on the CWD when creating a ChatView, supporting building separate codebase indexes for different folders

However, the following issues still exist:

  1. The CWD of a task changes with the current file. This can cause issues when sending messages, such as "Cannot find the file" in the dialog box, which can be confusing for users.

For example, I created a new ChatView in folder a and referenced several files from folder a by dragging and dropping. Now I need to reference files from another folder (this is normal, for example, if I'm writing a front-end page and need to reference back-end API files).

If I click Send, it reports that the file cannot be found due to I click the file of backend service, cwd had change.

  1. The files referenced from other folders by droping are absolute paths.
  2. Roo does not identify .roo folder in multiroot workspace #6720

Roo Code Task Links (Optional)

No response

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear impact and context

Interested in implementing this?

  • Yes, I'd like to help implement this feature

Implementation requirements

  • I understand this needs approval before implementation begins

How should this be solved? (REQUIRED if contributing, optional otherwise)

I'd like to address this issue in steps.

  1. In multi-folder workspaces, mimic the history and index status, binding the dialog to the CWD when creating a new ChatView. This will prevent CWD switching during a conversation and further confusion.
  2. Use references instead of absolute paths when dragging and dropping files.
  3. Enhance the search function to support searching other folders.
  4. Fix Roo does not identify .roo folder in multiroot workspace #6720

How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)

Create multiple folders and create different files in each folder. Add these folders to the same workspace.

Existing issues listed for each experiment

Technical considerations (REQUIRED if contributing, optional otherwise)

At the processing point of related functions, add the judgment of whether the current workspace is a multi-directory workspace and modify it based on the needs.
This will inevitably lead to more resource consumption, which is necessary. But it will not affect the performance of the single folder workspace

Trade-offs and risks (REQUIRED if contributing, optional otherwise)

At present, I don't think there are any risks that require special attention. It's just that the implementation of the function did not take into account the situation of multiple folders, and corresponding processing logic needs to be added.

Metadata

Metadata

Assignees

Labels

Issue - In ProgressSomeone is actively working on this. Should link to a PR soon.enhancementNew feature or requestfeature requestFeature request, not a bugproposal

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions