6个版本
0.4.0 | 2024年6月11日 |
---|---|
0.3.3 | 2024年1月24日 |
0.3.2 | 2023年11月3日 |
0.3.1 | 2023年10月25日 |
0.1.1 | 2022年8月11日 |
#4 在 #navigation
每月下载28,251次
用于ra_ap_rust-analyzer
315KB
5.5K SLoC
SCIP代码智能协议
SCIP(发音:"skip")是一种与语言无关的源代码索引协议,可用于实现诸如跳转到定义、查找引用和查找实现等代码导航功能。
本仓库包含
- 一个SCIP的protobuf模式。
- 丰富的Go和Rust绑定,包括许多实用函数,以帮助在SCIP之上构建工具。
- 自动生成的TypeScript和Haskell绑定。
- 一个
scip
CLI,使SCIP索引的使用变得简单。
如果您想更好地了解SCIP背后的动机,请查看公告博客文章。
如果您想编写一个新的输出SCIP的索引器,请查看我们关于如何编写索引器的文档。还可以查看开发文档中的调试部分。
如果您对使用 SCIP 数据感兴趣,您可以使用提供的语言绑定之一,或者使用您语言生态系统的 protobuf 工具链为 SCIP protobuf 架构 生成代码。此外,请查看开发文档中的 调试部分。
使用 SCIP 的工具
目前有几个索引器会发出 SCIP 数据
- scip-java:Java, Scala, Kotlin
- scip-typescript:TypeScript, JavaScript
- rust-analyzer:Rust
- scip-clang:C++, C
- scip-ruby:Ruby
- scip-python:Python
- scip-dotnet:C#, Visual Basic
- scip-dart:Dart
- scip-php:PHP
有关索引器的更多详细信息(包括基于 LSIF 的索引器),请参阅 Sourcegraph 文档。
其他使用 SCIP 的工具包括 Sourcegraph CLI 以及本存储库中的 SCIP CLI。
安装 scip
CLI
您可以在 此处 找到 scip
CLI 工具的二进制文件。您还可以使用以下方法在本地编译二进制文件:
git clone https://github.com/sourcegraph/scip.git --depth=1
cd scip
go build ./cmd/scip
您可以通过查阅 CLI 参考 或使用 --help
获取使用信息。
贡献
我们欢迎提问、建议以及代码和文档的贡献。
有关提交贡献,请查阅 Development.md 以更好地了解项目结构和常见工作流程。
贡献者应遵守 Sourcegraph 行为准则。
依赖项
~2MB
~47K SLoC