一款基于libclang构建、支持千万行级代码库的高扩展性C/C++/Objective-C语言服务器,实现LSP协议,提供跨引用、补全、诊断和语义高亮等功能。
- v20180302
- 发布于
- 2018年3月2日
- 2,360
- 星标
- 6,030
- 下载
- 同步于
- 10 天前
最新版本
v201803022018年3月2日 15:18下载慢?可在上方随时切换镜像源
项目说明
项目概述
cquery 是一个高度可扩展、低延迟的 C/C++/Objective-C 语言服务器,已在 Chromium 等大型代码库上测试和设计。它几乎实现了完整的语言服务器协议(LSP),并提供了一些额外功能。
主要功能
- 代码补全(含签名帮助和代码片段)
- 查找定义/引用
- 调用(调用者/被调用者)层次结构
- 继承(基类/派生类)层次结构
- 符号重命名
- 文档符号和工作区符号近似搜索
- 悬停信息
- 诊断和代码操作(clang FixIts)
- 预处理跳过区域
- #include 自动补全、未定义类型插入、include 快速跳转
- 自动实现无定义的函数
- 语义高亮,包括彩虹语义高亮支持
适用人群
- 处理大型 C/C++ 代码库的开发者
- 使用 LSP 兼容编辑器(Emacs、Vim、VSCode 等)的用户
快速上手
- 访问 cquery 维基 开始
- 按照维基说明进行安装和配置
- 在编辑器中配置 LSP 客户端指向 cquery
核心优势
- 针对大型代码库(如 Chromium)优化
- 提供准确快速的语义分析,不中断工作流
- 几乎完整的 LSP 协议实现
- MIT 许可证
系统要求
- 操作系统:跨平台
- 支持架构:x86_64、arm64
- 额外依赖:libclang
注意事项
- 项目已归档,不再开发。推荐替代方案:clangd 和 ccls
- 内存开销较大,例如 Chromium 完整索引约需 10GB 内存
历史版本
排序