关于 microsoft-code-reference
用于在编写或排查 SDK 代码前核对 Microsoft API 详情并查找官方代码示例的技能。它使用 Microsoft Learn 搜索和获取工具,也提供 mslearn 命令行作为替代方案。
主要功能
- 01搜索 API 方法和类
- 02查找官方代码示例
- 03获取完整 API 参考页面
- 04排查 SDK 错误
- 05核对包、签名和版本
- 06使用 mslearn 命令行作为替代
适用场景
- 01编写代码前核对 SDK 方法
- 02查找 Azure 任务的示例
- 03将代码与可用示例对照
- 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_search | query: "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与 v12BlobServiceClient) - 包名不符合命名约定(.NET 的
Azure.*,Python 的azure-*) - 首次使用某个 API
验证工作流
在使用 Microsoft SDK 生成代码之前,验证其正确性:
- 确认方法或包存在 —
microsoft_docs_search(query: "[ClassName] [MethodName] [Namespace]") - 获取完整详情(用于重载/复杂参数)—
microsoft_docs_fetch(url: "...") - 查找可运行的示例 —
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