🔍 通过深入理解.NET代码库来增强你的AI编码助手
</div>NetContextServer 通过 模型上下文协议 (MCP),使像 VS Code 这样的AI编码助手能够深入理解你的.NET代码库。这意味着更准确的代码建议、更好的问题解答以及更高效的编码体验。

git clone https://github.com/willibrandon/NetContextServer.git
cd NetContextServer
dotnet build
# 在环境变量中设置 Azure OpenAI 凭据:
AZURE_OPENAI_ENDPOINT=your_endpoint
AZURE_OPENAI_API_KEY=your_key
# 指向你的项目
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "path/to/your/project"
# 尝试语义搜索
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "查找身份验证逻辑"
👉 阅读我们的入门指南 获取详细的设置说明和最佳实践。
Ctrl + Shift + P(或在 macOS 上按 Cmd + Shift + P){
"command": "dotnet",
"args": ["run", "--project", "path/to/NetContextServer/src/NetContextServer/NetContextServer.csproj"]
}
现在 VS Code 可以理解你的代码库了!尝试询问它一些问题,例如:
git clone https://github.com/willibrandon/NetContextServer.git
cd NetContextServer
dotnet build
dotnet test
使用客户端与你的代码库互动:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- <command> [options]
为了实现语义搜索功能,你需要设置以下环境变量:
AZURE_OPENAI_ENDPOINT:你的 Azure OpenAI 终端点URLAZURE_OPENAI_API_KEY:你的 Azure OpenAI API 密钥dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "D:\YourProject"
dotnet run --project src/NetContextClient/NetContextClient.csproj -- get-base-dir
dotnet run --project src/NetContextClient/NetContextClient.csproj -- version
dotnet run --project src/NetContextClient/NetContextClient.csproj -- list-projects-in-dir --directory "D:\YourProject\src"
dotnet run --project src/NetContextClient/NetContextClient.csproj -- list-source-files --project-dir "D
D:\YourProject\src\YourProject"
# 首先设置你的基础目录
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "path/to/your/project"
# 运行包分析
dotnet run --project src/NetContextClient/NetContextClient.csproj -- analyze-packages
示例输出:
项目:MyProject.csproj
发现2个包:
- ✅ Newtonsoft.Json (13.0.1)
在5个位置使用
依赖关系:
└─ Newtonsoft.Json
└─ System.*
└─ System.ComponentModel
- 🔄 Microsoft.Extensions.DependencyInjection (5.0.2 → 6.0.1)
可用更新:6.0.1
依赖关系:
└─ Microsoft.Extensions.DependencyInjection
└─ Microsoft.*
└─ Microsoft.Extensions.DependencyInjection.Abstractions
# 首先设置你的基础目录
dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "path/to/your/project"
# 分析来自 Coverlet JSON 报告的覆盖率
dotnet run --project src/NetContextClient/NetContextClient.csproj -- coverage-analysis --report-path "TestResults/coverage.json"
# 获取覆盖率摘要
dotnet run --project src/NetContextClient/NetContextClient.csproj -- coverage-summary --report-path "TestResults/coverage.json"
示例覆盖率分析输出:
[{
"filePath": "src/MyProject/Services/UserService.cs",
"coveragePercentage": 85.3,
"uncoveredLines": [42, 43, 88],
"branchCoverage": {
"ValidateUser()": 75.0,
"GetUserById()": 100.0
},
"recommendation": "考虑为用户验证错误路径添加测试"
}
]
dotnet run --project src/NetContextClient/NetContextClient.csproj -- search-code --text "认证"
# 使用默认结果数量(5)
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "处理用户认证"
# 使用自定义结果数量
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "数据库连接字符串" --top 10
语义搜索功能:
dotnet run --project src/NetContextClient/NetContextClient.csproj -- add-ignore-patterns --patterns "*.txt" "*.log"
dotnet run --project src/NetContextClient/NetContextClient.csproj -- get-ignore-patterns
dotnet run --project src/NetContextClient/NetContextClient.csproj -- remove-ignore-patterns --patterns "*.txt"
dotnet run --project src/NetContextClient/NetContextClient.csproj -- clear-ignore-patterns
dotnet run --project src/NetContextClient/NetContextClient.csproj -- get-state-file-location
以下模式默认被忽略以保护敏感信息:
*.env - 环境文件appsettings.*.json - 应用程序设置*.pfx - 证书文件*.key - 密钥文件*.pem - PEM 文件*password* - 名称包含“password”的文件*secret* - 名称包含“secret”的文件dotnet run --project src/NetContextClient/NetContextClient.csproj -- set-base-dir --directory "D:\Projects\MyApp"
dotnet run --project src/NetContextClient/NetContextClient.csproj -- version
dotnet run --project src/NetContextClient/NetContextClient.csproj -- add-ignore-patterns --patterns "*.generated.cs" "*.designer.cs"
dotnet run --project src/NetContextClient/NetContextClient.csproj -- list-projects-in-dir --directory "D:\Projects\MyApp\src"
dotnet run --project src/NetContextClient/NetContextClient.csproj -- analyze-packages
dotnet run --project src/NetContextClient/NetContextClient.csproj -- semantic-search --query "用户认证和授权逻辑"
NetContextServer 实现了 模型上下文协议 (MCP),允许无缝集成支持此协议的AI编码助手,如:
要在 VS Code 中使用:
对于测试和调试 MCP 交互,你可以使用 模型上下文协议检查器,这是一个可视测试工具,帮助你检查和验证MCP客户端和服务器之间的通信。访问 检查器文档 了解更多关于其特性和能力的信息。
NetContextServer 使AI合作者能够请求有关你的代码库的具体信息,使得AI的建议更加相关和准确,符合你的具体项目结构和编码模式。
服务器为常见场景提供了清晰的错误消息:
该项目采用 MIT 许可证 - 查看 LICENSE 文件以获取详细信息。