LSPServer

Hawa Code 已经默认支持集成 LSPServer 能力,只需要使用安装相关开发语言的 LSPserver 即可以使用。使用 LSPServer 可以提高 Hawa Code 探索代码的速度,同时可以节省 token 数量。

Hawa Code 支持如下 LSPServer 能力:

  • goToDefinition: 查找符号定义的位置
  • findReferences: 查找符号的所有引用
  • hover: 获取符号的悬停信息(文档、类型信息)
  • documentSymbol: 获取文档内的所有符号(函数、类、变量)
  • workspaceSymbol: 在整个工作区搜索符号
  • goToImplementation: 查找接口或抽象方法的实现
  • prepareCallHierarchy: 获取指定位置的调用层次结构项(函数/方法)
  • incomingCalls: 查找调用指定位置函数的所有函数/方法
  • outgoingCalls: 查找指定位置函数调用的其他函数/方法

支持 LSPServer 列表

Language LSP Install
Go gopls go install golang.org/x/tools/gopls@latest
TypeScript/JavaScript vtsls npm install -g @vtsls/language-server
Python pyright npm install -g pyright
Java jdtls npm install -g @redhat-developer/vscode-java
C/C++ clangd npm install -g clangd
C# OmniSharp npm install -g omnisharp
PHP Intelephense npm install -g intelephense
Kotlin kotlin-language-server npm install -g kotlin-language-server
Rust rust-analyzer rustup component add rust-analyzer
Ruby Solargraph gem install solargraph
HTML/CSS vscode-langservers npm install -g vscode-langservers-extracted