Skip to content

Split View #35

Open
Feature
@chrisdedman

Description

@chrisdedman

Feature Request

Description

Introduce a split view feature in CodeAstra, allowing users to open and edit multiple files or views side by side (vertically or horizontally). This would improve multitasking and productivity by enabling simultaneous work on different parts of the codebase.

Motivation

Split view is a standard feature in modern code editors, enabling users to reference or edit multiple files simultaneously, especially useful when comparing code, copying between files, or reviewing related components. It aligns with CodeAstra’s goals of flexibility and control, and will greatly improve the development experience.

Tasks

List possible implementation steps (use checkboxes for progress tracking):

  • Design the UX for initiating and managing split views
  • Implement horizontal and vertical split support using Qt6 layouts
  • Enable opening different files in each pane
  • Allow dragging tabs between views
  • Persist split view layout in session state
  • Write tests for edge cases like closing files or unsaved changes
  • Document the feature in the user guide

Acceptance Criteria

  • Users can split the editor pane vertically or horizontally
  • Each pane can independently open a file
  • Smooth layout resizing and interaction with tabs
  • No data loss or instability during split/unsplit actions
  • Optionally persists split layout between sessions
  • Feature is well-documented and configurable

Additional Context

Consider emulating the simplicity of VS Code's "Split Editor" or Sublime Text's multi-pane layout. Qt6’s powerful layout system and widget management can be leveraged to provide a smooth, performant experience (although building the feature from scratch without dependencies is preferred).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions