Справочник кода Microsoft.
npx -y skills add github/awesome-copilot --skill microsoft-code-reference --agent claude-code| Нужно | Инструмент | Пример |
|---|---|---|
| Поиск метода/класса API | microsoft_docs_search | "BlobClient UploadAsync Azure.Storage.Blobs" |
| Рабочий пример кода | microsoft_code_sample_search | query: "upload blob managed identity", language: "python" |
| Полный справочник API | microsoft_docs_fetch | Получить URL из microsoft_docs_search (для перегрузок, полных сигнатур) |
Используйте 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")
Когда использовать: перед написанием кода — найти рабочий паттерн; после ошибок — сравнить код с заведомо рабочим примером; при неуверенности в инициализации/настройке — примеры показывают полный контекст.
# 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 vs реальный Upload); смешиваете версии SDK (v11 CloudBlobClient vs v12 BlobServiceClient); имя пакета не следует соглашениям (Azure.* для .NET, azure-* для Python); используете 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 выполните все три.
Если MCP-сервер Learn недоступен, используйте CLI mslearn из терминала (Bash, PowerShell, cmd):
# 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-инструмент | Команда CLI |
|---|---|
microsoft_docs_search(query: "...") | mslearn search "..." |
microsoft_code_sample_search(query: "...", language: "...") | mslearn code-search "..." --language ... |
microsoft_docs_fetch(url: "...") | mslearn fetch "..." |
Передайте --json в search или code-search для сырого JSON-вывода для дальнейшей обработки.