概述
Codegraph v1.6.2(2026-10-03 發布)延續 v1.6.1「更少錯誤連結」的主軸,把解析正確性從「代表性修正」推進到「每個語言都按自己的方式決定名稱屬於誰」。三大升級軸線:
- 語言作用域 (scoping) 解析:一個呼叫、import 或型別引用,現在以它所處語言的名稱作用域——imports、packages、namespaces 與所在 class——來解析,不再落到僅僅同名的不相關符號。
- Overload、
super與遞迴:呼叫到達引數符合的 overload;super呼叫到達父類別方法;同名互call不再誤判為自我呼叫。 - Windows 與背景 server:無彈出視窗、無隨機 crash、更穩的連線與資源釋放。
新增一:以語言作用域解析名稱
v1.6.1 修正了一批「同名符號誤連」的代表性案例;v1.6.2 把這件事一般化:名稱的歸屬由語言的規則決定。
具體行為(release notes 原文):「A call, import or type now resolves the way its language scopes names — through imports, packages, namespaces and the class it is written in — so it stops landing on an unrelated symbol that only shares its name.」
涵蓋語言:TypeScript 與 JavaScript、Python、Java、Kotlin、Scala、C#、VB.NET、Swift、Objective-C、Go、Rust、C 與 C++、PHP、Ruby、Dart、Lua、R 等。直接受益的查詢是 callers、impact(影響範圍)與 codegraph_explore——答案更可信。
新增二:overload、super 與遞迴
三個常見的誤判模式被修正:
- Overload 解析:一個呼叫會到達「引數符合」的那個 overload,而不是任意同名者
super呼叫:到達父類別的方法,而非子類別自己- 遞迴誤判:一個方法呼叫另一個 overload、或另一個物件的同名方法,不再看起來像在呼叫自己
Java 類別中 `serialize(String s)` 與 `serialize(int n)` 兩個 overload 並存,`serialize(42)` 在 v1.6.2 會解析到哪裡?
💡 想先看個提示?
回想「overload its arguments fit」這句原文。
新增三:更多框架路由進入圖譜
在 v1.6.1 支援的 Next.js / React Router / Vue Router / SvelteKit 等之上,v1.6.2 新增:
- Angular(含 Nx libraries)
- Vue Router admin apps
- Rails nested routes
- Flask 的
add_url_rule - ASP.NET FastEndpoints
- Play subprojects
- Vapor closure routes
- Expo Router API routes
兩個精緻化:NestJS 與 Laravel 的 route 以「請求實際路徑」命名;Spring 或 Laravel 測試以 URL 呼叫 route 時計為覆蓋該 route。
新增四:更多程式碼進入圖譜
- Vue Options API components
- Java 與 Kotlin 帶 body 的 enum constants
- Flow-typed JavaScript
- Kotlin infix 呼叫
- React Native native views 與 events
- Expo modules
- tag-based CFML
- Delphi
.inc檔案
Windows 與背景 server
Windows(release notes 原文標題:「no flashing windows, no random crashes」):
- 背景 server 工作時不再彈出 console 視窗
- 索引或關閉時偶發的 access-violation crash(exit code
3221225477)修復 codegraph upgrade可在 agent session 正在使用 CodeGraph 時運作
背景 server:
- 較新的 MCP clients(如 Antigravity)可再次連線
- Claude Code 能看到
codegraph_status的完整文字 - 失去共用 server 的 session 會自行重連
- 經
projectPath查詢的專案在閒置 10 分鐘後釋放
索引完成性:
- 大型 C/C++ 專案解析 references 不再 OOM
- 單一 COBOL 檔不再卡住整個索引
codegraph sync對多重定義的名稱保留每個 caller
隨堂總結測驗
小美的專案有大量 Kotlin overload。升級到 v1.6.2 且重新索引後,她發現 `callers` 查詢結果變了。最可能的解釋是?
💡 想先看個提示?
「結果改變」與「結果錯誤」是兩回事。
動手升級檢查清單
升級 v1.6.2:動手檢查清單
逐項勾選,確認你已完成升級必要的步驟(進度會保存在此瀏覽器)
延伸閱讀
- 官方 v1.6.2 release notes
- 上一課:
v161-navigation-and-call-conditions——v1.6.1 的導覽邊與 Flow 呼叫條件 - 版本紀錄:本主題的 Changelog 頁有完整的 v1.6.2 條目