jacobdufault

cquery

一款基于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 等)的用户

快速上手

  1. 访问 cquery 维基 开始
  2. 按照维基说明进行安装和配置
  3. 在编辑器中配置 LSP 客户端指向 cquery

核心优势

  • 针对大型代码库(如 Chromium)优化
  • 提供准确快速的语义分析,不中断工作流
  • 几乎完整的 LSP 协议实现
  • MIT 许可证

系统要求

  • 操作系统:跨平台
  • 支持架构:x86_64、arm64
  • 额外依赖:libclang

注意事项

  • 项目已归档,不再开发。推荐替代方案:clangd 和 ccls
  • 内存开销较大,例如 Chromium 完整索引约需 10GB 内存

历史版本

排序