Move the Git window to the main window, and wrap the editor window as a tool window - #324
Move the Git window to the main window, and wrap the editor window as a tool window#324firesahc wants to merge 10 commits into
Conversation
Rebased keeps Version Control in a dedicated central host, so VCS Log tabs must no longer compete with the File Editor host. Remove the obsolete VCS Log virtual-file and editor-provider path, migrate persisted editor tabs to the tool window on load, and normalize SHOW_IN_EDITOR to false. Keep tab restoration, actions, settings, and empty-editor shortcuts aligned with the tool-window content manager.
Keep Version Control registered for actions and shortcuts while routing its decorator through an idempotent CentralVcsHost. Normalize persisted state and ignore dock, float, move, auto-hide, and side-stack operations so the logical ToolWindow record cannot diverge from its central parent. Expose the existing editor splitters as a non-closeable File Editor tool window without changing editor ownership or disposal. Add regression coverage for the locked VCS layout and keep other tool windows on their normal behavior.
Allow ToolWindow EP declarations to override both bundled-plugin defaults and persisted stripe visibility. This lets product-owned tool windows retain stable entry points across upgrades while leaving unspecified registrations on the existing behavior. Cover both new and old UI registration paths, including a stored layout that previously hid the button.
File Editor is the route back to editor splitters when no files are open, so declare its stripe button explicitly instead of relying on bundled-plugin defaults. Use the folded-document file type icon in both legacy and new UI icon sets, and cover the extension declaration to prevent the entry point from disappearing again.
The Log content is now hosted by the Version Control tool window, so the SHOW_IN_EDITOR setting no longer controls its availability predicate. Keep the setting and migration state for workspace compatibility.
Editor-hosted Log UIs are no longer produced by the current layout, leaving the editor tab telemetry path permanently empty. Continue collecting metrics for the main and tool-window Log UIs.
Create the VCS Console Content only when it is first shown, matching the current ChangesViewContentManager lifecycle. Remove the permanent provider registration and cover close-and-recreate behavior with a focused regression test.
Keep the editor splitters under one platform-owned File Editor host and install a stable central VCS surface. Remove competing document-component reassignment and isolate central VCS state from ordinary tool window sizing, layout restoration, and side-stack handling.
Keep the fixed central Version Control surface out of XNext move and drag actions and prevent its contents from being moved into editor tabs. Ordinary tool windows retain their existing actions.
| displayText = "Android Studio Narwhal | 2025.1.1", | ||
| imagePath = "/studio-splash-screens/Narwhal-stable.png", | ||
| versionName = "2025.1.1.13", | ||
| versionName = "2025.1.1.13.2", |
There was a problem hiding this comment.
this is for android studio, which we don't touch in rebased
There was a problem hiding this comment.
I know, but I couldn't find exactly where to change the version number. I found this by searching for 1.1.13.
There was a problem hiding this comment.
The version number isn't that important. If it's not needed, I can forcibly push the changes for modification.
| @@ -1 +1 @@ | |||
| 262.SNAPSHOT No newline at end of file | |||
| 263.SNAPSHOT No newline at end of file | |||
There was a problem hiding this comment.
this is the upstream build number, we dont touch this either
|
There's still a bug where an SVG tab crashes, but this isn’t a problem caused by this update.
|
The implementation plan and specific levels were found by me, but the implementation details and some bug fixes were done by gpt-5.6-sol. |
|
this project doesn't accept AI generated code, sorry. see https://github.com/DetachHead/rebased?tab=contributing-ov-file#ai-code-policy |
|
Okay🥲, but you can install the release and try it out. I think from a user experience perspective, it's a really good idea. |





Changelog
Central VCS and File Editor hosting
CentralVcsController.EditorHostCoordinatorandEditorHostAdapter.FileEditorManagerImpl.mainSplittershas a single stable parent inside the File Editor ToolWindow.mainSplittersthroughToolWindowPane.documentComponent.Central VCS layout isolation
hideSidefrom deactivating the central VCS surface.ToolWindow entry points
VCS Log and Console
Release metadata
1.1.13.2.Validation and limitations
git diff --checkpasses.jnidispatch.dll.中央 VCS 与 File Editor 宿主
CentralVcsController管理的稳定中央 Version Control Surface。EditorHostCoordinator和EditorHostAdapter。FileEditorManagerImpl.mainSplitters在 File Editor ToolWindow 内只有一个稳定父容器。ToolWindowPane.documentComponent竞争性重新挂载mainSplitters的逻辑。中央 VCS 布局隔离
hideSide隐藏 Bottom 窗口时连带停用中央 VCS Surface。ToolWindow 入口
VCS Log 与 Console
发行版本信息
1.1.13.2。验证与限制
git diff --check已通过。jnidispatch.dll。