使用说明
飞镖LSP MCP
一个模型上下文协议(MCP)服务器,为Claude Code提供Dart语言分析功能。该工具使用Dart语言服务器为Dart项目提供实时诊断、代码导航和符号搜索。
特性
- 实时诊断:从Dart分析器获取错误、警告和提示
- 转到定义:导航到符号定义
- 查找引用:查找符号的所有用法
- 悬停信息:获取类型信息和文档
- 文件符号:列出文件中的所有符号
- 工作空间符号搜索:在整个项目中搜索符号
先决条件
安装
- 克隆此存储库
- 安装依赖项:
uv sync
用法
作为MCP服务器(用于克劳德代码)
添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"dart-lsp": {
"type": "stdio",
"command": "uv",
"args": ["--directory", "D:\\GIT\\BenjaminKobjolke\\dart-lsp-mcp", "run", "python", "-m", "dart_lsp_watcher.mcp_server"]
}
}
}
作为CLI工具
观看Dart项目进行诊断:
# Watch mode (continuous)
start.bat path/to/dart/project
# Check a single file
check.bat lib/main.dart path/to/dart/project
# Get server capabilities
capabilities.bat path/to/dart/project
可用CLI命令
| 命令 | 描述 |
|---|---|
start.bat <folder> |
Dart诊断的Watch文件夹 |
check.bat <file> [folder] |
检查单个文件 |
definition.bat <file> <line> <col> [folder] |
转到定义 |
references.bat <file> <line> <col> [folder] |
查找参考文献 |
hover.bat <file> <line> <col> [folder] |
获取悬停信息 |
symbols.bat <file> [folder] |
列出文档符号 |
search.bat <query> [folder] |
搜索工作区符号 |
capabilities.bat [folder] |
显示LSP功能 |
MCP工具
当用作MCP服务器时,可以使用以下工具:
| 工具 | 说明 |
|---|---|
get_diagnostics |
获取项目或特定文件的Dart诊断 |
find_references |
查找某个位置的符号的所有引用 |
go_to_definition |
导航到符号定义 |
get_hover |
获取符号的文档和类型信息 |
get_document_symbols |
列出文件中的所有符号 |
search_symbols |
在整个工作空间中搜索符号 |
get_capabilities |
获取LSP服务器功能 |
reindex |
重新扫描工作区以检测新的/删除的Dart文件 |
配置
创建一个 dart_lsp.json 在项目根目录中配置忽略模式的文件:
{
"ignore": [
"build/**",
".dart_tool/**",
"**/*.g.dart"
]
}
发展
运行测试:
tools\tests.bat
许可证
麻省理工学院