代码导航

wescode 的代码知识图谱(CKG)为大型代码库提供结构化导航能力,帮助你快速理解和定位代码。


CKG 代码知识图谱

什么是 CKG

CKG(Code Knowledge Graph)是 wescode 的核心差异化能力:

CKG 索引内容

元素说明
函数/方法签名、文档、所在文件和行号
类型/结构体字段、方法集
接口方法签名
调用关系A 调用 B、B 的调用者
实现关系哪些类型实现了哪些接口
包依赖包之间的导入关系

索引状态

在状态栏查看 CKG 索引进度:


调用图

查看调用关系

在项目概览面板中查看交互式调用图(D3 可视化):

Hover 信息

鼠标悬停在符号上查看 CKG 信息:

CodeLens

编辑器顶部显示 CKG 信息:

3 references | 2 callers | implements Handler
func (s *UserService) CreateUser(ctx context.Context, req CreateReq) error {

符号搜索

全局符号搜索

多种搜索方式:

方式操作说明
快速搜索Cmd+T按符号名搜索
文件搜索Cmd+P按文件名搜索
文本搜索Cmd+Shift+F全文内容搜索
AI 搜索在 Chat 中提问语义搜索

AI 驱动搜索

在 Chat 中用自然语言搜索:

"处理用户登录的代码在哪里"
"数据库连接池的配置在哪个文件"
"有没有实现 HTTP 中间件的代码"

AI 通过 CKG 理解语义进行搜索,不只是关键词匹配。


跳转导航

Go to Definition

Cmd+Click 或 F12 跳转到定义:

Go to References

Shift+F12 查看所有引用:

Go to Implementation

Cmd+F12 跳转到接口实现:


项目概览

三区域布局

项目概览页面(Activity Bar 中的图标):

  1. 项目统计:文件数、函数数、类型数
  2. 模块关系:包之间的依赖图
  3. 调用图:D3 交互式调用图

影响分析

AI 分析代码变更的影响范围:

"修改 UserRepository 的 FindByID 方法会影响哪些代码"

AI 通过 CKG 返回:
- 直接调用者:UserService.GetUser, UserService.UpdateUser
- 间接调用者:UserHandler.HandleGetUser, ...
- 影响的测试:TestUserService_GetUser, ...

文件浏览

智能文件树

左侧文件树增强功能:

面包屑导航

编辑器顶部面包屑:


使用技巧

大代码库导航

面对不熟悉的大项目:

  1. 先看 README.md 和项目结构
  2. 在 Chat 中提问 "项目的整体架构是什么"
  3. 使用项目概览查看模块关系
  4. 从入口文件开始,沿调用链深入

找到关键代码

"找到所有处理支付的代码"
"项目的入口函数在哪里"
"数据库迁移文件在哪个目录"

注意事项