Skip to content

[perf-T3] 合并 macOS LSP 增量同步与诊断回灌 #493

Description

@1lck

父任务

#467 macOS 交互帧预算:声明式 UI 热路径与可调节表面

依赖

  • 依赖 perf-T1、perf-T2 和 perf-0。

不变量

一次编辑最多产生一次有序的文档同步批次和一次诊断/编辑器装饰刷新;旧版本的异步结果不得覆盖新文本。

范围

  • 核对 macOS -> Rust Core -> language server 的增量 didChange 路径。
  • 在服务器支持时传递 range-based change,无法安全增量时才回退全文。
  • 合并诊断、Code Vision、编辑器装饰的回灌,保留 operation/version/stale-result 语义。
  • 检查 LanguageServerSession 的事件消费是否在输入期间制造额外主线程负载。

明确不改

验收

  • 连续输入时没有旧诊断覆盖新文本。
  • 支持增量同步的服务器收到 range-based didChange
  • 诊断回灌不触发不必要的 Workbench objectWillChange
  • Java 文档同步和取消/切换文档测试通过。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

LSPproblems related to LSP servicemacossomething related to macos strongly

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions