fix(macos): move plugin management into IDEA-style settings (#813) - #928
Conversation
|
你要不把那几个图标都删了,就留一个已经实现的 PHP 的插件怎么样呢 |
好滴 刚改完还没来得及对比 |
…ugin-marketplace-ui
…ck/Lithe-IDEA into codex/issue-813-plugin-marketplace-ui
xiaoyumuxi
left a comment
There was a problem hiding this comment.
看了这一版,有两个行为边界建议确认,分别留在线上。
|
我这边看下来有一个功能性问题建议先确认一下: clean install 下 PHP Support 目前可能没有可达的安装路径这个 PR 里 与此同时,这个 PR 删除了 这样在 clean install / 本地尚未安装 PHP 插件包 的情况下,Plugins 页面理论上会是空的,而且用户没有 UI 路径把 PHP Support 装进来。PR 里的 建议保留现在“只围绕 PHP 展示”的产品方向,但至少提供一条明确可执行的安装路径,比如:
最好再补一个回归测试覆盖:PHP package absent + clean plugin store → Plugins 页面仍有明确、可执行的 PHP 安装路径。 另外一个小 nit:既然磁盘安装入口已经删除,这次新增的 |
1lck
left a comment
There was a problem hiding this comment.
按 lithe-code-review 对当前 head 6c714ff89d0f7dc60d0685ca65e386377cee3915 完成代码审查。未发现需要阻塞合并的问题;有 1 个 P2 建议:插件应用的异步任务结束时,应验证共享设置窗口仍属于发起任务的项目会话,详见行内意见。
验证:本地 diff、程序包只读、功能矩阵及测试稳定性静态检查通过。此次未运行 macOS 原生界面或完整测试;服务边界脚本因 Linux 缺少 PlistBuddy 未完整执行。下面的异步边界来自静态调用链分析。
* fix(windows): disable font ligatures in run output (#编号) (#959) * fix(windows): disable font ligatures in run output for literal log fidelity Geist Mono ships programming ligatures, so separator banners like '=====' rendered as solid double lines and '=>'/'!=' folded into single glyphs, which no longer matches the bytes the process actually emitted. Log viewers should stay literal: set font-variant-ligatures:none on the run output so every character is rendered individually. Copied text was always correct; only the display changed. * docs: record run and Maven output ligature verification --------- Co-authored-by: Lichenkang <2188718831@qq.com> * fix(macos): move plugin management into IDEA-style settings (#813) (#928) * fix(macos): move plugin management into IDEA-style settings (#813) * fix(macos): show only PHP in plugin settings (#813) * fix(macos): align settings background with workbench theme * style(macos): unify settings input control roles * fix(macos): align settings window behavior and control borders with IDEA * feat(macos): resize settings sidebars with bounded split handles * fix(macos): keep arrow cursor on settings controls * fix(macos): apply plugin drafts on settings OK and align focus styles * fix(macos): adjust settings plugin splitter bounds and drag style * fix(macos): guard plugin settings during apply * fix(macos): keep settings bound to opener and restore PHP install path * fix(macos): keep plugin apply bound to its settings session --------- Co-authored-by: Xiaoyumuxi <3075514079@qq.com> Co-authored-by: Lichenkang <2188718831@qq.com> * test(windows): cover Maven Run toolchain overrides and inheritance (#940) * feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * fix: 补齐 Maven 设置矩阵并修复保存重试、检测竞态及仓库回退 * fix(windows): 恢复 Maven 生效配置解析 * fix(windows): make Maven settings detection bounded and accurate * `fix: 以 Maven 设置作为 Windows Run 启动路径的唯一来源` * fix: 修复合并后的平台功能矩阵冲突 * `fix: 以 Maven 设置作为 Windows Run 启动路径的唯一来源` --------- Co-authored-by: Jay <jay@sztus.com> Co-authored-by: Lichenkang <2188718831@qq.com> Co-authored-by: Jay <fan_jie@sonadora.com.cn> * fix(macos): 修复壁纸模式编辑器右侧黑边 (#943) Co-authored-by: Lichenkang <2188718831@qq.com> * 优化 macOS 设置窗口布局、控件及全局按钮样式 (#944) * style(macos): align settings panels with IntelliJ UI * style(macos): match IntelliJ settings dropdown popup * fix(macos): stabilize settings popup and accessibility * fix(macos): localize settings breadcrumb categories * feat(macos): organize keymap settings as action tree * style(macos): refine keymap settings tree controls * style(macos): align keymap toolbar icons and search field with IDEA * style(macos): preserve IntelliJ keymap icon colors and tree glyphs * style(macos): remove pressed dimming from borderless buttons * style(macos): hide keymap gear menu indicator * fix(macos): expose selected settings option to accessibility * fix(macos): use shared context menus in keymap settings * ci(windows): bound workspace commit integration test at 30 seconds * fix(macos): allow settings select trigger to close its popup * test(macos): cover settings select popup click sequence * fix(macos): label keymap toolbar controls for accessibility * docs: remove duplicate settings verification steps * docs: remove duplicate settings verification steps * docs: remove duplicate settings verification steps --------- Co-authored-by: Xiaoyumuxi <3075514079@qq.com> * fix(windows): polish title bar and loading icons (#971) * fix(windows): align window and loading icons * fix(windows): use standard service rescan icon * fix(windows): unify refresh icon mapping * fix(windows): limit refresh icon overrides to controls * fix(windows): wire command palette window actions * feat(windows): 改进标题栏菜单交互与项目图标布局 (#976) Co-authored-by: lick <2188718831@qq.com> * fix(maven): 让 Maven 设置真正作用于 JDT LS,并修复 Windows 依赖面板(#970) (#977) * fix(maven): 让 Maven 设置真正作用于 JDT LS,并修复 Windows 依赖面板(#970) Windows 依赖面板每次都报 “Unable to load Maven dependencies”:前端 invoke 按手工白名单分流,漏登记的 maven_create_dependency_output 等 5 个宿主命令 被 platform_invoke 当作未实现拒绝,字符串错误又被 store 换成通用提示。 改为按归属规则路由并用 main.rs 契约测试锁定,宿主错误统一包装成 Error。 第三方 import 标红来自 Maven 配置到不了 JDT LS:保存设置只标记重载, 重载又是重启 JDT LS,而 JDT LS 对 pom 未变的项目不重新解析;生成的 settings 路径固定,JDT LS 按路径判断变化因此看不见改动。现在: - settings 副本按内容哈希命名,放在会话 -data/.lithe/maven/ 内 - 新增 lsp.updateMavenConfiguration,设置变化发 didChangeConfiguration, 重新加载发 java/projectConfigurationsUpdate,两个平台都不再重启会话 - profile 任务期间的配置变更会在完成后自动补跑 - Maven 工具窗口展示 pom.xml 解析错误并发可跳转通知,移除误导的 “Maven configuration applied” Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(maven): preserve settings snapshots and queued JDT updates Serialize settings preparation and publication, isolate staging files, retain snapshots until workspace cleanup, and create Unix copies with private permissions. Apply newer profiles after failed or drained timed-out batches, retain pre-ready reload requests, and add regression tests. Update contracts, Agent Notes, feature matrix, and worktree resource exclusions. --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix: 修复双端 HTML 浏览器打开与 Windows 更新状态 (#966) (#980) * fix: correct HTML browser launch and Windows update state (#966) * fix: address review findings on stale updates and missing HTML files * docs(readme): 顶部嵌入宣传片,产品截图默认展示 4 张 (#983) * docs(readme): 默认展示 4 张产品截图,其余折叠 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(readme): 在 README 顶部嵌入 Lithe 宣传片 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(editor): 统一双端文本判定并复用 Monaco properties 高亮 (#963) (#981) * fix(editor): unify Unicode text classification and properties support (#963) * test(editor): await original restore jobs in stale-result tests * fix(ci): budget Swift lanes for linked Core cold builds --------- Co-authored-by: dudylan <34180156+dudylan@users.noreply.github.com> Co-authored-by: arkleselect <166632698+arkleselect@users.noreply.github.com> Co-authored-by: Xiaoyumuxi <3075514079@qq.com> Co-authored-by: JayF211 <57852791+JayF211@users.noreply.github.com> Co-authored-by: Jay <jay@sztus.com> Co-authored-by: Jay <fan_jie@sonadora.com.cn> Co-authored-by: muchen <145200703+Mucheen@users.noreply.github.com> Co-authored-by: xtr-hub <3786329580@qq.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
关联问题
改动
LitheSplitPaneView/SplitHandleView:设置分类栏默认及最小宽度为 234 pt,只能向右加宽;插件列表默认 320 pt,可向左缩到 200 pt,也可向右加宽;详情区至少保留 160 pt,设置内容区至少保留 500 pt。按窗口可用空间限制最大宽度,拖动结束时保存宽度,重开设置后恢复。设置页两条线在悬停和拖动期间都不高亮,只显示左右调整光标。最新审查意见修复(
6c714ff8)AppModel一起绑定;切换焦点不会改变设置内容,另一个工作台主动重新打开设置时才更新归属和内容。窗口关闭时清理对应绑定,避免插件确认与关闭操作落到其他项目。验证
./scripts/build-macos.sh --configuration debug --triple arm64-apple-macosx:在最新 preview 基线上通过。./.agents/skills/write-stable-tests/scripts/test-stability-macos.sh -- --filter 'PluginManagementPresentationTests|AppLocalizationTests':19 项通过。./scripts/test-macos.sh --no-parallel:1589 项、186 个测试套件通过。此前并行运行出现无关超时,串行重跑通过;最后的描边和光标样式改动后,聚焦测试重新编译通过。./.agents/skills/write-stable-tests/scripts/test-stability-macos.sh -- --filter SettingsAppearanceContainerTests:5 项通过,含设置窗口所属工作台切换、普通窗口层级和外观检查;HTML 报告位于.artifacts/test-stability/index.html。./.agents/skills/write-stable-tests/scripts/verify-test-stability.sh、./scripts/verify-service-boundaries.sh、./scripts/verify-platform-feature-matrix-change.sh origin/preview HEAD、./scripts/verify-platform-feature-matrix.sh、git diff --check:通过。最新本地预览已目视确认:设置窗口初始和缩至最小均为 900×700;切换到 Plugins 后搜索框焦点边框消失;插件页仅有 PHP Support,显示
0 of 1 enabled;插件条目上的光标为箭头,搜索框与底部按钮使用细描边。两条分隔线分别进行了向右、向左越界拖动:原始宽度不能再缩小;放大窗口后可以进一步加宽,缩回 900 pt 时详情区仍保留可用宽度;关闭并重开设置后已加宽的设置树宽度保持。验证后已将两栏恢复为原始宽度、退出预览,并确认无 Lithe 进程残留。
按钮光标调整后,
./scripts/test-macos.sh --no-parallel再次通过:1589 项、186 个套件;矩阵变更门禁、矩阵一致性和服务边界检查通过。新预览中点击 Plugins 与 Installed 后,按钮光标均保持箭头;已关闭本次预览。本次分隔线改动后
./scripts/test-macos.sh --filter 'SplitHandleViewTests|LitheSplitPaneGeometryTests|SettingsAppearanceContainerTests':18 项通过;./scripts/test-macos.sh --no-parallel:1589 项通过。合并最新 preview 后,矩阵变更门禁、矩阵一致性和服务边界检查通过。审查修复后:聚焦稳定性测试 7 项通过,完整
./scripts/test-macos.sh --no-parallel1590 项、186 个套件通过;测试稳定性静态检查、服务边界、矩阵一致性及变更门禁通过。新预览实测亮色分段选中文字与多行编辑框聚焦边框;PHP 插件 Enable → 设置 OK → 重开显示启用,再 Disable → 设置 OK → 重开确认恢复禁用;待确认时设置 Cancel → 重开确认草稿清除。验证预览已退出。本次分隔线边界修正:在本机 IDEA Community 2026.2.1 和 JetBrains 社区版
PluginsTab.kt中核对插件页采用OnePixelSplitter;聚焦稳定性测试 14 项通过;合并最新preview后完整 macOS 测试 1626 项、188 个套件通过,矩阵变更门禁、矩阵一致性和服务边界检查通过。900 pt 最小窗口的新版预览实测插件列表分隔线可向左移动约 120 pt,分类栏向左拖动停在 234 pt;恢复默认宽度并关闭预览后无 Lithe 进程残留。本次审查修复(
c8dd6760):SettingsAppearanceContainerTests稳定性计时测试 6 项通过,新测试耗时 0.013 秒;完整./scripts/test-macos.sh --no-parallel1627 项、188 个套件通过。删除无调用方的安装 UI 方法后,插件与设置窗口聚焦测试重新编译且 8 项通过。测试稳定性静态检查、服务边界、平台矩阵及变更门禁、git diff --check均通过。本次审查修复:
test-stability-macos.sh聚焦 A/B 设置绑定测试和插件页测试共 4 项通过(新增测试分别 0.019 秒、0.001 秒);./scripts/test-macos.sh --filter PluginPackageStoreTests13 项通过,--filter SettingsAppearanceContainerTests6 项通过。测试稳定性静态检查、运行时包只读验证、服务边界、功能矩阵及变更门禁、git diff --check均通过。本次尚未做全新安装的手动界面验收,CI 正在重跑。审核阶段待人工检查
设置窗口异步归属修复(
4cf5fe2a)验证:聚焦计时测试 1 项通过(0.021 秒);完整
./scripts/test-macos.sh --skip-update --no-parallel1644 项、189 个套件通过;测试稳定性静态检查、服务边界、运行时程序包只读检查、功能矩阵及变更门禁、git diff --check均通过。此次尚未在原生设置窗口手动重现 A/B 切换。preview(7ba56adc)并重新生成矩阵视图,解决 PR 与基线的生成文件冲突。合并后完整./scripts/test-macos.sh --skip-update --no-parallel1656 项、190 个套件通过;聚焦稳定性计时测试 1 项通过(0.017 秒);Agent Notes、服务边界、运行时程序包只读、矩阵一致性和变更门禁、测试稳定性静态检查均通过。