Skip to content

v1.1.13

Latest

Choose a tag to compare

@firesahc firesahc released this 18 Aug 14:49

Changelog

Central VCS and File Editor hosting

  • Introduced a stable central Version Control surface managed by CentralVcsController.
  • Moved File Editor ToolWindow registration to the platform-level IDE module.
  • Added EditorHostCoordinator and EditorHostAdapter.
  • Ensured FileEditorManagerImpl.mainSplitters has a single stable parent inside the File Editor ToolWindow.
  • Removed competing reassignment of mainSplitters through ToolWindowPane.documentComponent.
  • Preserved editor ownership, disposal, split layout, navigation, and state persistence.
  • Added regression coverage for stable editor host ownership.

Central VCS layout isolation

  • Normalized persisted VCS state to a fixed central presentation.
  • Prevented VCS from participating in ordinary docking, floating, windowed, auto-hide, moving, SideStack, and layout conflict handling.
  • Prevented the central VCS decorator from writing its size into the shared bottom ToolWindow weight.
  • Prevented VCS activation and layout restoration from reading or applying unified Bottom weights.
  • Prevented VCS maximize and stretch operations from resizing unrelated Bottom ToolWindows.
  • Prevented hiding a Bottom ToolWindow with hideSide from deactivating the central VCS surface.
  • Preserved a stable central surface during VCS unavailability, unregistering, and project shutdown.

ToolWindow entry points

  • Added explicit support for product-owned stripe button visibility.
  • Ensured the File Editor ToolWindow remains available on the stripe.
  • Preserved explicit stripe settings across both legacy and new UI layouts.
  • Removed VCS movement and drag actions from the XNext toolbar.
  • Disabled moving VCS content into editor tabs.

VCS Log and Console

  • Continued the ToolWindow-only VCS Log presentation.
  • Removed the obsolete editor visibility predicate from VCS Log content creation.
  • Stopped collecting telemetry for editor-hosted Log UIs that are no longer produced.
  • Continued collecting telemetry for main and ToolWindow Log UIs.
  • Restored lazy VCS Console content creation.
  • Removed permanent Console provider registration.
  • Added regression coverage for closing and recreating Console content.

Validation and limitations

  • Added ToolWindow, VCS Console, and File Editor host regression tests.
  • git diff --check passes.
  • Full test execution is currently blocked by a local Bazel symlink-forest permission error involving jnidispatch.dll.
  • SVG/JCEF image-provider failures are not addressed in this change range.

中央 VCS 与 File Editor 宿主

  • 引入由 CentralVcsController 管理的稳定中央 Version Control Surface。
  • 将 File Editor ToolWindow 注册从 VCS 插件迁移到平台级 IDE 模块。
  • 新增 EditorHostCoordinatorEditorHostAdapter
  • 确保 FileEditorManagerImpl.mainSplitters 在 File Editor ToolWindow 内只有一个稳定父容器。
  • 删除通过 ToolWindowPane.documentComponent 竞争性重新挂载 mainSplitters 的逻辑。
  • 保留编辑器所有权、销毁、拆分布局、导航和状态持久化逻辑。
  • 新增编辑器宿主稳定性的回归测试。

中央 VCS 布局隔离

  • 将持久化的 VCS 状态统一归一化为固定中央呈现。
  • 阻止 VCS 参与普通停靠、浮动、窗口化、自动隐藏、移动、SideStack 和布局冲突处理。
  • 阻止中央 VCS decorator 将自身高度写入共享的 Bottom ToolWindow 高度。
  • 阻止激活 VCS 或恢复布局时读取、应用统一 Bottom 高度。
  • 阻止 VCS 的最大化和拉伸操作误修改其他 Bottom ToolWindow。
  • 防止使用 hideSide 隐藏 Bottom 窗口时连带停用中央 VCS Surface。
  • 在 VCS 不可用、注销和项目关闭期间保留稳定中央 Surface。

ToolWindow 入口

  • 增加产品自有 Stripe 按钮显式可见性的支持。
  • 确保 File Editor ToolWindow 始终可以通过 Stripe 访问。
  • 在旧 UI 和新 UI 中都保留显式 Stripe 配置。
  • 从 XNext 工具栏移除 VCS 的移动和拖动操作。
  • 禁止将 VCS 内容移动到编辑器标签中。

VCS Log 与 Console

  • 继续采用 ToolWindow-only 的 VCS Log 呈现方式。
  • 删除 VCS Log 内容创建中已经过时的编辑器可见性 predicate。
  • 停止收集当前不会再产生的编辑器内 Log UI 遥测数据。
  • 继续收集主界面和 ToolWindow 内 Log UI 的遥测数据。
  • 恢复 VCS Console 的懒加载内容创建。
  • 删除永久注册的 Console provider。
  • 新增 Console 内容关闭后重新创建的回归测试。

验证与限制

  • 新增 ToolWindow、VCS Console 和 File Editor 宿主回归测试。
  • git diff --check 已通过。
  • 完整测试目前被本机 Bazel symlink forest 权限错误阻塞,具体涉及 jnidispatch.dll
  • SVG/JCEF 图片 Provider 闪退问题不属于本次更新范围。