mcpField
M
microsoft-code-reference

microsoft-code-reference

github.com/github开发40.5k14.3k 次安装今天更新
代码仓库

关于 microsoft-code-reference

用于在编写或排查 SDK 代码前核对 Microsoft API 详情并查找官方代码示例的技能。它使用 Microsoft Learn 搜索和获取工具,也提供 mslearn 命令行作为替代方案。

主要功能

  1. 01搜索 API 方法和类
  2. 02查找官方代码示例
  3. 03获取完整 API 参考页面
  4. 04排查 SDK 错误
  5. 05核对包、签名和版本
  6. 06使用 mslearn 命令行作为替代

适用场景

  1. 01编写代码前核对 SDK 方法
  2. 02查找 Azure 任务的示例
  3. 03将代码与可用示例对照
  4. 04调查身份验证或 API 错误

MCP 相关

它使用 Microsoft Learn MCP 工具搜索文档、查找代码示例并获取页面。Learn MCP 服务不可用时,技能说明如何用 mslearn 命令行执行对应操作。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/github/awesome-copilot --skill microsoft-code-reference

安装后在 Claude Code 中输入/microsoft-code-reference确认已加载。

详细介绍

Microsoft Code Reference

工具

需求工具示例
API 方法/类查找microsoft_docs_search"BlobClient UploadAsync Azure.Storage.Blobs"
可运行的代码示例microsoft_code_sample_searchquery: "upload blob managed identity", language: "python"
完整 API 参考microsoft_docs_fetch从 microsoft_docs_search 获取 URL(用于重载、完整签名)

查找代码示例

使用 microsoft_code_sample_search 获取官方、可运行的示例:

microsoft_code_sample_search(query: "upload file to blob storage", language: "csharp")
microsoft_code_sample_search(query: "authenticate with managed identity", language: "python")
microsoft_code_sample_search(query: "send message service bus", language: "javascript")

何时使用:

  • 编写代码之前——找到一个可遵循的可用模式
  • 遇到错误之后——将你的代码与已知可用的示例进行比较
  • 不确定初始化/设置时——示例展示了完整的上下文

API 查找

# Verify method exists (include namespace for precision)
"BlobClient UploadAsync Azure.Storage.Blobs"
"GraphServiceClient Users Microsoft.Graph"

# Find class/interface
"DefaultAzureCredential class Azure.Identity"

# Find correct package
"Azure Blob Storage NuGet package"
"azure-storage-blob pip package"

当方法有多个重载或你需要完整的参数细节时,获取完整页面。

错误排查

使用 microsoft_code_sample_search 查找可运行的代码示例,并与你的实现进行比较。对于特定错误,使用 microsoft_docs_search 和 microsoft_docs_fetch:

错误类型查询
方法未找到"[ClassName] methods [Namespace]"
类型未找到"[TypeName] NuGet package namespace"
签名错误"[ClassName] [MethodName] overloads" → 获取完整页面
弃用警告"[OldType] migration v12"
身份验证失败"DefaultAzureCredential troubleshooting"
403 Forbidden"[ServiceName] RBAC permissions"

何时需要验证

以下情况务必验证:

  • 方法名看起来"过于方便"(UploadFile 与实际上的 Upload)
  • 混用 SDK 版本(v11 CloudBlobClient 与 v12 BlobServiceClient)
  • 包名不符合命名约定(.NET 的 Azure.*,Python 的 azure-*)
  • 首次使用某个 API

验证工作流

在使用 Microsoft SDK 生成代码之前,验证其正确性:

  1. 确认方法或包存在 — microsoft_docs_search(query: "[ClassName] [MethodName] [Namespace]")
  2. 获取完整详情(用于重载/复杂参数)— microsoft_docs_fetch(url: "...")
  3. 查找可运行的示例 — microsoft_code_sample_search(query: "[task]", language: "[lang]")

对于简单的查找,仅第 1 步可能就足够了。对于复杂的 API 用法,请完成全部三个步骤。

命令行替代方案

如果 Learn MCP 服务不可用,请在终端或 shell(例如 Bash、PowerShell 或 cmd)中使用 mslearn 命令行代替:

# Run directly (no install needed)
npx @microsoft/learn-cli search "BlobClient UploadAsync Azure.Storage.Blobs"

# Or install globally, then run
npm install -g @microsoft/learn-cli
mslearn search "BlobClient UploadAsync Azure.Storage.Blobs"
MCP 工具命令行命令
microsoft_docs_search(query: "...")mslearn search "..."
microsoft_code_sample_search(query: "...", language: "...")mslearn code-search "..." --language ...
microsoft_docs_fetch(url: "...")mslearn fetch "..."

向 search 或 code-search 传递 --json 可获取原始 JSON 输出,以便进一步处理。

评论

支持 Markdown