[Feature] macOS 项目 JDK / Maven 只保留 local.json 一份存储,移除 UserDefaults 副本
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- java, macos, typescript
- Lĩnh vực
- build-system, desktop, tooling
Hướng nghiên cứu
Trace macOS toolchain reads through Core runConfig.inspect, ProjectRuntimeService.adoptProjectToolchain, ProjectRuntimeSettings, ProjectLoadState.hasLoadedDocuments, and MavenService. Review the migration cases and existing tests, then run ./scripts/test-macos.sh and ./scripts/verify-service-boundaries.sh; done requires one source of truth, migration coverage, updated architecture notes, and real Mac validation.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
问题
macOS 上项目 JDK、Maven、Maven JDK 仍然存了两份:
.lithe/run/local.json的toolchain:运行配置实际使用,Windows 与 Core 也以它为准;- UserDefaults
lithe.project-runtime-settings.<项目路径>里的ProjectRuntimeSettings:设置页表单、Maven 进程环境、环境检查使用。
#809 定下了「local.json 为唯一真源,UserDefaults 只是副本」,靠一组同步规则维持一致:
- 运行配置读完项目文档后,
ProjectRuntimeService.adoptProjectToolchain以local.json覆盖副本; - 本机层从未保存过默认值时,保留副本,下次保存时写入;
- 服务编辑器保存写
savedProjectToolchain ?? 副本; - 设置表单准备完成前禁用,关闭时只在准备完成后保存;
- 运行文档未读完时不写
local.json(ProjectLoadState.hasLoadedDocuments)。
#809 审查中修复的问题,多数出在这两份数据之间的同步时序上:加载中保存空值、旧副本反向覆盖、编辑器写入空默认值、准备期间的修改被还原。只要还有两份,这类问题就可能再出现。
期望
- macOS 读取项目 JDK、Maven、Maven JDK 的地方(
javaHomeURL、mavenJavaHomeURL、mavenExecutable、设置表单)直接读local.json的toolchain(经 CorerunConfig.inspect),UserDefaults 不再保存这三个字段。 - 一次性迁移:
local.json没有toolchain、而 UserDefaults 里有值时,把它写入local.json,然后清除 UserDefaults 中的这三个字段。迁移只执行一次,失败时保留原值并报告。 - 迁移完成后删除只为同步存在的代码:
adoptProjectToolchain、savedProjectToolchain ?? 副本的回退、mergeImportedSettings中这三个字段的补齐逻辑等。 - 同时梳理
ProjectRuntimeSettings里的 Mavensettings.xml与本地仓库路径:它们和MavenService自己的本机配置也是两份,应明确由 Maven 本机配置持有。
风险
- 涉及 macOS 启动、Maven 进程、环境检查的 JDK 来源,必须在 Mac 上实机验证:运行、Maven 目标、测试运行、切换项目、首次打开未生成配置的项目。
- 迁移需要覆盖:只有 UserDefaults、只有
local.json、两边都有且不同、local.json损坏。
验收
- macOS 这三个字段只有
local.json一个存储 - 一次性迁移覆盖上述四种情况,并有测试
- 删除同步用代码,Run / Maven / 环境检查读取同一来源
- Maven
settings.xml/ 本地仓库路径只有一个持有方 -
./scripts/test-macos.sh与./scripts/verify-service-boundaries.sh通过,实机验证通过 - 更新
.agents/notes/implemented/architecture/2026-09-21-maven-settings-reach-the-language-server.md中的真源规则
背景
来自 #809(关联 #749)合并前的评审,属于长期可维护性问题,范围大于 #809,故单独处理。
- Ngôn ngữ chính
- TypeScript
- Star
- 1.8k
- Fork
- 151
- Merge trung bình
- 13 giờ 18 phút
- Pull request đã merge (30 ngày)
- 339
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của 1lck/Lithe-IDEA
-
area:editor bug P0 platform:macos review: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
1lck/Lithe-IDEA#1118 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] 修改路径排除逻辑,取消固定的不显示方案Có thể đã có người làm @1lck đã nhận hôm nay. Đang mởarea:editor bug issue-form:bug P0 platform:macos review: medium
1lck/Lithe-IDEA#1482 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] 设置里面的宽度不是百分比自适应的而是硬编码的Đang mởarea:editor bug issue-form:bug P0 platform:macos review: medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 48/100
1lck/Lithe-IDEA#1481 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feature] 增加搜索识别接口路由的功能Đang mởarea:editor enhancement issue-form:feature P0 platform:windows review: low
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
1lck/Lithe-IDEA#1475 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feature] Add Kotlin support plzCó thể đã có người làm @haloneko đã nhận hôm nay. Đang mởarea:language claimed enhancement issue-form:feature P2 platform:cross-platform review: low
1lck/Lithe-IDEA#1465 · 3 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của 1lck/Lithe-IDEA
Issue tương tự
-
VS Code extension: clickable file links in chat drop the :line suffix, never jump to the lineĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
MoonshotAI/kimi-code#4398 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Xiaomi Mimo语音识别服务异常Đang mởpending triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
package-lock.json : les binaires natifs macOS et Linux de unrs-resolver ont disparu depuis #1823Đang mởbug dependencies
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
AxaFrance/design-system#2064 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100