<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>GitHub Copilot | The .NET Blog</title><link>https://thedotnetblog.com/ru/tags/github-copilot/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ru</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Mon, 27 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ru/tags/github-copilot/index.xml" rel="self" type="application/rss+xml"/><item><title>Azure DevOps MCP Сервер Апрельское Обновление: WIQL-Запросы, PAT Аутентификация и Экспериментальные MCP Apps</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/</link><pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/</guid><description>Azure DevOps MCP Сервер получает WIQL-запросы к рабочим элементам, аутентификацию Personal Access Token, аннотации MCP и экспериментальную функцию MCP Apps.</description><content:encoded>&lt;p&gt;&lt;em&gt;Этот пост был автоматически переведён. Для оригинальной версии &lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/azure-devops-mcp-server-april-2026-wiql-pat-apps/"&gt;нажмите здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Azure DevOps MCP Сервер продолжает совершенствоваться. Апрельское обновление Дэна Хеллема охватывает оба сервера.&lt;/p&gt;
&lt;h2 id="поддержка-wiql-запросов"&gt;Поддержка WIQL-Запросов&lt;/h2&gt;
&lt;p&gt;Новый инструмент &lt;code&gt;wit_query_by_wiql&lt;/code&gt; позволяет запускать Work Item Query Language запросы прямо из MCP-клиента.&lt;/p&gt;
&lt;h2 id="personal-access-tokens"&gt;Personal Access Tokens&lt;/h2&gt;
&lt;p&gt;PAT аутентификация на локальном сервере — важна для интеграционных сценариев без интерактивной аутентификации.&lt;/p&gt;
&lt;h2 id="аннотации-mcp"&gt;Аннотации MCP&lt;/h2&gt;
&lt;p&gt;Метаданные для read-only, destructive и open-world инструментов — основа надёжности агентов.&lt;/p&gt;
&lt;h2 id="консолидация-wiki-инструментов"&gt;Консолидация Wiki-Инструментов&lt;/h2&gt;
&lt;p&gt;5 отдельных wiki-инструментов → 2 более мощных. Меньше инструментов = лучше производительность LLM.&lt;/p&gt;
&lt;h2 id="экспериментально-mcp-apps"&gt;Экспериментально: MCP Apps&lt;/h2&gt;
&lt;p&gt;Упакованные рабочие процессы в среде MCP-сервера. Направление правильное.&lt;/p&gt;
&lt;p&gt;Оригинальный пост Дэна Хеллема: &lt;a href="https://devblogs.microsoft.com/devops/azure-devops-mcp-server-april-update/"&gt;Azure DevOps MCP Server April Update&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.118: Copilot CLI получает имена сессий, значки модели и TypeScript 7.0 Nightly</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/</guid><description>Visual Studio Code 1.118 — сфокусированный релиз с улучшениями Copilot CLI: именование сессий, значки модели, автоматический выбор модели и подключение TypeScript 7.0 Nightly.</description><content:encoded>&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Для просмотра оригинала &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/"&gt;нажмите здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_118"&gt;Visual Studio Code 1.118&lt;/a&gt; — небольшой сфокусированный релиз, в основном с улучшениями Copilot CLI.&lt;/p&gt;
&lt;h2 id="copilot-cli-сессии-получают-настоящие-имена"&gt;Copilot CLI: сессии получают настоящие имена&lt;/h2&gt;
&lt;p&gt;API заголовков сессий SDK Copilot CLI теперь используются как источник истины для имён сессий. Вместо автоматически сгенерированных меток сессии показывают реальное имя из SDK.&lt;/p&gt;
&lt;h2 id="быстрое-переключение-между-сессиями"&gt;Быстрое переключение между сессиями&lt;/h2&gt;
&lt;p&gt;В приложение Agents теперь добавлены &lt;code&gt;Ctrl+1&lt;/code&gt;, &lt;code&gt;Ctrl+2&lt;/code&gt; и т.д. для быстрого переключения между сессиями.&lt;/p&gt;
&lt;h2 id="значки-модели-в-чате"&gt;Значки модели в чате&lt;/h2&gt;
&lt;p&gt;Ответы Copilot CLI в панели чата теперь показывают значок модели — можно с первого взгляда понять, какая модель обработала каждый запрос.&lt;/p&gt;
&lt;h2 id="автоматический-выбор-модели-в-copilot-cli"&gt;Автоматический выбор модели в Copilot CLI&lt;/h2&gt;
&lt;p&gt;Функция автоматического выбора модели теперь работает и в агенте Copilot CLI.&lt;/p&gt;
&lt;h2 id="подключение-typescript-70-nightly"&gt;Подключение TypeScript 7.0 Nightly&lt;/h2&gt;
&lt;p&gt;Теперь можно включить тестирование ночных сборок TypeScript 7.0 прямо из настроек VS Code. TypeScript 7.0 — значительный релиз (&lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/"&gt;бета вышла несколько дней назад&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Смотрите &lt;a href="https://code.visualstudio.com/updates/v1_118"&gt;полные примечания к релизу&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>68 Минут в День на Переобъяснение Кода? Есть Решение</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</guid><description>Context rot — это реально: ваш ИИ-агент теряет ориентир после 30 ходов, и вы платите налог на компактизацию каждый час. auto-memory даёт GitHub Copilot CLI хирургическую память без сжигания тысяч токенов.</description><content:encoded>&lt;p&gt;&lt;em&gt;Этот пост был автоматически переведён. Для оригинальной версии &lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/"&gt;нажмите здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Знаете тот момент, когда сессия Copilot достигает &lt;code&gt;/compact&lt;/code&gt; и агент полностью забывает, над чем вы работали? Следующие пять минут вы тратите на повторное объяснение структуры файлов, неудачного теста, трёх подходов, которые уже пробовали. Затем это происходит снова.&lt;/p&gt;
&lt;p&gt;Деси Вильянуэва измерил: &lt;strong&gt;68 минут в день&lt;/strong&gt; — только на переориентацию. Не на написание кода, не на ревью PR. Просто на то, чтобы снова ввести ИИ в курс дела.&lt;/p&gt;
&lt;h2 id="ложь-о-контекстном-окне"&gt;Ложь о Контекстном Окне&lt;/h2&gt;
&lt;p&gt;Реальная математика: из 200K токенов, MCP инструменты съедают ~65K, файлы инструкций ~10K. В итоге &lt;strong&gt;~125K до того, как вы напечатали хоть слово&lt;/strong&gt;. LLM деградируют при 60% заполнении — реальный лимит &lt;strong&gt;45K токенов&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="налог-на-компактизацию"&gt;Налог на Компактизацию&lt;/h2&gt;
&lt;p&gt;Жестокая часть: &lt;strong&gt;память уже существует.&lt;/strong&gt; Copilot CLI записывает каждую сессию в локальную SQLite базу по адресу &lt;code&gt;~/.copilot/session-store.db&lt;/code&gt;. Агент просто не может её прочитать.&lt;/p&gt;
&lt;h2 id="auto-memory-слой-отзыва-не-система-памяти"&gt;auto-memory: Слой Отзыва, Не Система Памяти&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install auto-memory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;~1900 строк Python. Нулевые зависимости. Устанавливается за 30 секунд.&lt;/p&gt;
&lt;p&gt;Вместо того чтобы заполнять контекст результатами grep, вы даёте агенту хирургический доступ к тому, что реально важно — &lt;strong&gt;50 токенов вместо 10 000&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="заключение"&gt;Заключение&lt;/h2&gt;
&lt;p&gt;Context rot — это реальное архитектурное ограничение. auto-memory обходит его, давая агенту дешёвый и точный механизм отзыва.&lt;/p&gt;
&lt;p&gt;Посмотрите: &lt;a href="https://github.com/dezgit2025/auto-memory"&gt;auto-memory на GitHub&lt;/a&gt;. Оригинальный пост Деси Вильянуэвы: &lt;a href="https://devblogs.microsoft.com/all-things-azure/i-wasted-68-minutes-a-day-re-explaining-my-code-then-i-built-auto-memory/"&gt;I Wasted 68 Minutes a Day&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>azd + GitHub Copilot: настройка проекта с помощью ИИ и умное исправление ошибок</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/</guid><description>Azure Developer CLI теперь интегрируется с GitHub Copilot для генерации инфраструктуры проекта и устранения ошибок деплоя — прямо из терминала.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Эта статья переведена автоматически. Оригинальную версию на английском можно найти &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Знаком ли вам момент, когда хочешь задеплоить существующее приложение в Azure и смотришь на пустой &lt;code&gt;azure.yaml&lt;/code&gt;, пытаясь вспомнить, какой тип хостинга выбрать для Express API — Container Apps или App Service? Этот момент станет намного короче.&lt;/p&gt;
&lt;p&gt;Azure Developer CLI (&lt;code&gt;azd&lt;/code&gt;) теперь интегрируется с GitHub Copilot двумя практичными способами: AI-ассистированный скаффолдинг проекта при &lt;code&gt;azd init&lt;/code&gt; и интеллектуальное устранение ошибок при сбое деплоя. Обе функции работают полностью в терминале — именно там, где они и должны быть.&lt;/p&gt;
&lt;h2 id="настройка-с-copilot-при-azd-init"&gt;Настройка с Copilot при azd init&lt;/h2&gt;
&lt;p&gt;При запуске &lt;code&gt;azd init&lt;/code&gt; теперь появляется опция &amp;ldquo;Set up with GitHub Copilot (Preview)&amp;rdquo;. Выберите её, и Copilot проанализирует вашу кодовую базу, чтобы сгенерировать &lt;code&gt;azure.yaml&lt;/code&gt;, шаблоны инфраструктуры и Bicep-модули — на основе вашего реального кода.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd init
# Выберите: &amp;#34;Set up with GitHub Copilot (Preview)&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Что потребуется:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;azd 1.23.11 или новее&lt;/strong&gt; — проверьте &lt;code&gt;azd version&lt;/code&gt; или обновитесь через &lt;code&gt;azd update&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Активная подписка GitHub Copilot&lt;/strong&gt; (Individual, Business или Enterprise)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub CLI (&lt;code&gt;gh&lt;/code&gt;)&lt;/strong&gt; — &lt;code&gt;azd&lt;/code&gt; запросит вход при необходимости&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Что мне по-настоящему нравится: это работает в обоих направлениях. Строите с нуля? Copilot поможет настроить правильные сервисы Azure с самого начала. Есть существующее приложение, которое давно хотели задеплоить? Направьте на него Copilot — конфигурация будет сгенерирована без необходимости что-либо переструктурировать.&lt;/p&gt;
&lt;h3 id="что-происходит-на-самом-деле"&gt;Что происходит на самом деле&lt;/h3&gt;
&lt;p&gt;Допустим, у вас есть Node.js Express API с зависимостью от PostgreSQL. Вместо того чтобы вручную выбирать между Container Apps и App Service, а затем писать Bicep с нуля, Copilot определит стек и сгенерирует:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azure.yaml&lt;/code&gt; с правильными настройками &lt;code&gt;language&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt; и &lt;code&gt;build&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Bicep-модуль для Azure Container Apps&lt;/li&gt;
&lt;li&gt;Bicep-модуль для Azure Database for PostgreSQL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Перед любыми изменениями выполняются предварительные проверки — убеждается в чистоте рабочей директории git, заранее запрашивает согласие на инструменты MCP-сервера. Ничего не произойдёт без вашего понимания того, что именно изменится.&lt;/p&gt;
&lt;h2 id="устранение-ошибок-с-помощью-copilot"&gt;Устранение ошибок с помощью Copilot&lt;/h2&gt;
&lt;p&gt;Ошибки деплоя неизбежны. Пропущенные параметры, проблемы с правами, недоступность SKU — и сообщение об ошибке редко подсказывает именно то, что нужно: &lt;em&gt;как это исправить&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Без Copilot цикл выглядит так: скопировать ошибку → искать в документации → читать три нерелевантных ответа на Stack Overflow → выполнить команды &lt;code&gt;az&lt;/code&gt; CLI → попробовать снова. С Copilot в &lt;code&gt;azd&lt;/code&gt; этот цикл рушится. При любом сбое команды &lt;code&gt;azd&lt;/code&gt; сразу предлагаются четыре варианта:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Explain&lt;/strong&gt; — простое объяснение того, что пошло не так&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Guidance&lt;/strong&gt; — пошаговые инструкции по исправлению&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diagnose and Guide&lt;/strong&gt; — полный анализ + Copilot применяет исправление (с вашего одобрения) + опциональный повтор&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skip&lt;/strong&gt; — разобраться самостоятельно&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ключевой момент: у Copilot уже есть контекст вашего проекта, упавшей команды и деталей ошибки. Его предложения специфичны именно для &lt;em&gt;вашей ситуации&lt;/em&gt;.&lt;/p&gt;
&lt;h3 id="настройка-поведения-по-умолчанию"&gt;Настройка поведения по умолчанию&lt;/h3&gt;
&lt;p&gt;Если всегда выбираете одно и то же, пропустите интерактивный запрос:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config set copilot.errorHandling.category troubleshoot
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Значения: &lt;code&gt;explain&lt;/code&gt;, &lt;code&gt;guidance&lt;/code&gt;, &lt;code&gt;troubleshoot&lt;/code&gt;, &lt;code&gt;fix&lt;/code&gt;, &lt;code&gt;skip&lt;/code&gt;. Можно включить автоматическое исправление и повтор:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config set copilot.errorHandling.fix allow
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вернуться к интерактивному режиму в любой момент:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config unset copilot.errorHandling.category
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="итоги"&gt;Итоги&lt;/h2&gt;
&lt;p&gt;Запустите &lt;code&gt;azd update&lt;/code&gt; для получения последней версии и попробуйте &lt;code&gt;azd init&lt;/code&gt; на следующем проекте. Это именно та интеграция Copilot, которая приносит реальную ценность.&lt;/p&gt;
&lt;p&gt;Читайте &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-copilot-integration/"&gt;оригинальное объявление здесь&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.117: Агенты получают собственные ветки Git, и я полностью за</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/</guid><description>VS Code 1.117 приносит изоляцию worktree для сессий агентов, постоянный режим Autopilot и поддержку субагентов. Агентный рабочий процесс кодирования стал намного реальнее.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинал можно прочитать &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Грань между «ИИ-ассистентом» и «ИИ-тиммейтом» продолжает стираться. VS Code 1.117 только что вышел, и &lt;a href="https://code.visualstudio.com/updates/v1_117"&gt;полные заметки о релизе&lt;/a&gt; насыщены, но суть ясна: агенты становятся полноценными участниками вашего рабочего процесса разработки.&lt;/p&gt;
&lt;p&gt;Вот что действительно важно.&lt;/p&gt;
&lt;h2 id="режим-autopilot-наконец-запоминает-ваши-настройки"&gt;Режим Autopilot наконец запоминает ваши настройки&lt;/h2&gt;
&lt;p&gt;Раньше приходилось заново включать Autopilot каждый раз при запуске новой сессии. Раздражало. Теперь режим разрешений сохраняется между сессиями, и вы можете настроить значение по умолчанию.&lt;/p&gt;
&lt;p&gt;Agent Host поддерживает три конфигурации сессии:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt; — инструменты запрашивают подтверждение перед запуском&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bypass&lt;/strong&gt; — автоматически одобряет всё&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autopilot&lt;/strong&gt; — полностью автономный, сам отвечает на свои вопросы и продолжает работу&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Если вы создаёте новый .NET-проект с миграциями, Docker и CI — установите Autopilot один раз и забудьте. Эта настройка сохранится.&lt;/p&gt;
&lt;h2 id="worktree-и-git-изоляция-для-сессий-агентов"&gt;Worktree и git-изоляция для сессий агентов&lt;/h2&gt;
&lt;p&gt;Это главное. Сессии агентов теперь поддерживают полную изоляцию worktree и git. Это значит, что когда агент работает над задачей, он получает собственную ветку и рабочую директорию. Ваша основная ветка остаётся нетронутой.&lt;/p&gt;
&lt;p&gt;Ещё лучше — Copilot CLI генерирует осмысленные имена веток для этих worktree-сессий. Никаких больше &lt;code&gt;agent-session-abc123&lt;/code&gt;. Вы получаете название, которое действительно описывает, чем занимается агент.&lt;/p&gt;
&lt;p&gt;Для .NET-разработчиков, управляющих несколькими feature-ветками или исправляющих баги, пока длительная задача скаффолдинга выполняется, это кардинально меняет ситуацию. Можно поручить агенту создавать API-контроллеры в одном worktree, пока вы отлаживаете проблему в сервисном слое в другом. Никаких конфликтов. Никакого стеширования. Никакого хаоса.&lt;/p&gt;
&lt;h2 id="субагенты-и-команды-агентов"&gt;Субагенты и команды агентов&lt;/h2&gt;
&lt;p&gt;Agent Host Protocol теперь поддерживает субагентов. Агент может запускать других агентов для обработки частей задачи. Считайте это делегированием — ваш главный агент координирует, а специализированные агенты занимаются отдельными частями.&lt;/p&gt;
&lt;p&gt;Это пока на ранней стадии, но потенциал для .NET-рабочих процессов очевиден. Представьте: один агент обрабатывает ваши миграции EF Core, пока другой настраивает интеграционные тесты. Мы ещё не совсем там, но поддержка протокола появляется сейчас — значит, инструменты подтянутся быстро.&lt;/p&gt;
&lt;h2 id="вывод-терминала-автоматически-включается-когда-агенты-отправляют-ввод"&gt;Вывод терминала автоматически включается, когда агенты отправляют ввод&lt;/h2&gt;
&lt;p&gt;Мелочь, но значимая. Когда агент отправляет ввод в терминал, вывод терминала теперь автоматически включается в контекст. Раньше агенту требовался дополнительный ход, чтобы просто прочитать, что произошло.&lt;/p&gt;
&lt;p&gt;Если вы когда-нибудь наблюдали, как агент запускает &lt;code&gt;dotnet build&lt;/code&gt;, терпит неудачу, а потом делает ещё один round-trip, чтобы увидеть ошибку — это трение исчезло. Он видит вывод мгновенно и реагирует.&lt;/p&gt;
&lt;h2 id="приложение-agents-на-macos-обновляется-автоматически"&gt;Приложение Agents на macOS обновляется автоматически&lt;/h2&gt;
&lt;p&gt;Автономное приложение Agents на macOS теперь обновляется самостоятельно. Больше не нужно вручную скачивать новые версии. Оно просто остаётся актуальным.&lt;/p&gt;
&lt;h2 id="мелочи-которые-стоит-знать"&gt;Мелочи, которые стоит знать&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Подсказки package.json&lt;/strong&gt; теперь показывают и установленную версию, и последнюю доступную. Полезно, если вы управляете npm-инструментами наряду с .NET-проектами.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Изображения в комментариях JSDoc&lt;/strong&gt; корректно отображаются в подсказках и автодополнении.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Сессии Copilot CLI&lt;/strong&gt; теперь показывают, были ли они созданы в VS Code или извне — удобно, когда переключаетесь между терминалами.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot CLI, Claude Code и Gemini CLI&lt;/strong&gt; распознаются как типы оболочек. Редактор знает, что вы запускаете.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="итог"&gt;Итог&lt;/h2&gt;
&lt;p&gt;VS Code 1.117 — это не броский набор фич. Это инфраструктура. Изоляция worktree, постоянные разрешения, протоколы субагентов — это строительные блоки для рабочего процесса, в котором агенты выполняют реальные параллельные задачи, не затрагивая ваш код.&lt;/p&gt;
&lt;p&gt;Если вы разрабатываете на .NET и ещё не погрузились в агентный рабочий процесс, честно говоря, сейчас самое время начать.&lt;/p&gt;</content:encoded></item><item><title>Docker Sandbox позволяет агентам Copilot рефакторить ваш код без риска для машины</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</guid><description>Docker Sandbox предоставляет агентам GitHub Copilot безопасную микро-ВМ для свободного рефакторинга — без запросов на разрешения, без риска для хоста. Вот почему это меняет всё для масштабной модернизации .NET.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинал можно прочитать &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Если вы использовали агентный режим Copilot для чего-то большего, чем мелкие правки, вы знаете эту боль. Каждая запись файла, каждая команда в терминале — ещё один запрос на разрешение. А теперь представьте это на 50 проектах. Совсем не весело.&lt;/p&gt;
&lt;p&gt;Команда Azure опубликовала пост о &lt;a href="https://devblogs.microsoft.com/all-things-azure/best-of-both-worlds-for-agentic-refactoring-github-copilot-microvms-via-docker-sandbox/"&gt;Docker Sandbox для агентов GitHub Copilot&lt;/a&gt;, и, честно говоря, это одно из самых практичных улучшений в агентном инструментарии, которое я видел. Система использует микро-ВМ, чтобы дать Copilot полностью изолированную среду, где он может делать всё что угодно — устанавливать пакеты, запускать сборки, выполнять тесты — не затрагивая вашу хост-систему.&lt;/p&gt;
&lt;h2 id="что-docker-sandbox-реально-даёт"&gt;Что Docker Sandbox реально даёт&lt;/h2&gt;
&lt;p&gt;Основная идея проста: запустить легковесную микро-ВМ с полноценным окружением Linux, синхронизировать в неё ваше рабочее пространство и позволить агенту Copilot свободно работать внутри. Когда он закончит, изменения синхронизируются обратно.&lt;/p&gt;
&lt;p&gt;Вот что делает это чем-то большим, чем просто «запустить что-то в контейнере»:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Двусторонняя синхронизация рабочего пространства&lt;/strong&gt; с сохранением абсолютных путей. Структура вашего проекта выглядит идентично внутри песочницы. Никаких ошибок сборки из-за путей.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Приватный Docker-демон&lt;/strong&gt; работает внутри микро-ВМ. Агент может собирать и запускать контейнеры, не монтируя Docker-сокет вашего хоста. Это серьёзное преимущество для безопасности.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP/HTTPS-фильтрующие прокси&lt;/strong&gt; контролируют, к чему агент может обращаться в сети. Вы решаете, какие реестры и эндпоинты разрешены. Атаки на цепочку поставок через вредоносный &lt;code&gt;npm install&lt;/code&gt; внутри песочницы? Заблокированы.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Режим YOLO&lt;/strong&gt; — да, именно так они его называют. Агент работает без запросов на разрешения, потому что буквально не может повредить ваш хост. Каждое деструктивное действие изолировано.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="почему-разработчикам-net-стоит-обратить-внимание"&gt;Почему разработчикам .NET стоит обратить внимание&lt;/h2&gt;
&lt;p&gt;Подумайте о работе по модернизации, с которой сейчас сталкивается так много команд. У вас есть решение на .NET Framework с 30 проектами, и его нужно перенести на .NET 9. Это сотни изменений в файлах — файлы проектов, обновления пространств имён, замена API, миграция NuGet.&lt;/p&gt;
&lt;p&gt;С Docker Sandbox вы можете направить агента Copilot на проект, позволить ему свободно рефакторить внутри микро-ВМ, запустить &lt;code&gt;dotnet build&lt;/code&gt; и &lt;code&gt;dotnet test&lt;/code&gt; для валидации и принять только те изменения, которые реально работают. Никакого риска, что он случайно разрушит вашу локальную среду разработки во время экспериментов.&lt;/p&gt;
&lt;p&gt;В посте также описывается запуск &lt;strong&gt;флота параллельных агентов&lt;/strong&gt; — каждый в своей песочнице — одновременно работающих над разными проектами. Для крупных .NET-решений или микросервисных архитектур это огромная экономия времени. Один агент на сервис, все работают изолированно, все валидируются независимо.&lt;/p&gt;
&lt;h2 id="вопрос-безопасности-имеет-значение"&gt;Вопрос безопасности имеет значение&lt;/h2&gt;
&lt;p&gt;Вот что большинство людей упускает: когда вы позволяете ИИ-агенту выполнять произвольные команды, вы доверяете ему всю вашу машину. Docker Sandbox переворачивает эту модель. Агент получает полную автономию внутри одноразовой среды. Сетевой прокси гарантирует, что он может загружать только из одобренных источников. Ваша хостовая файловая система, Docker-демон и учётные данные остаются нетронутыми.&lt;/p&gt;
&lt;p&gt;Для команд с требованиями комплаенса — а это большинство корпоративных .NET-компаний — это разница между «мы не можем использовать агентный ИИ» и «мы можем внедрить его безопасно».&lt;/p&gt;
&lt;h2 id="итог"&gt;Итог&lt;/h2&gt;
&lt;p&gt;Docker Sandbox решает фундаментальное противоречие агентного программирования: агентам нужна свобода, чтобы быть полезными, но свобода на вашей хост-машине опасна. Микро-ВМ дают вам и то, и другое. Если вы планируете масштабный рефакторинг или модернизацию .NET, стоит настроить это прямо сейчас. Сочетание интеллекта Copilot в работе с кодом и безопасной среды выполнения — это именно то, чего ждали продакшн-команды.&lt;/p&gt;</content:encoded></item><item><title>Агентная платформенная инженерия становится реальностью — Git-APE показывает как</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</guid><description>Проект Git-APE от Microsoft воплощает агентную платформенную инженерию на практике — используя агенты GitHub Copilot и Azure MCP для превращения запросов на естественном языке в валидированную облачную инфраструктуру.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинал можно прочитать &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/agentic-platform-engineering-git-ape/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Платформенная инженерия была одним из тех терминов, которые звучат отлично на конференциях, но обычно означают «мы построили внутренний портал и обёртку для Terraform.» Настоящее обещание — самообслуживающаяся инфраструктура, которая действительно безопасна, управляема и быстра — всегда была в нескольких шагах.&lt;/p&gt;
&lt;p&gt;Команда Azure только что опубликовала &lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;Часть 2 серии об агентной платформенной инженерии&lt;/a&gt;, и эта часть целиком о практической реализации. Они называют это &lt;strong&gt;Git-APE&lt;/strong&gt; (да, акроним намеренный), и это open-source проект, который использует агенты GitHub Copilot плюс серверы Azure MCP для превращения запросов на естественном языке в валидированную и развёрнутую инфраструктуру.&lt;/p&gt;
&lt;h2 id="что-git-ape-делает-на-самом-деле"&gt;Что Git-APE делает на самом деле&lt;/h2&gt;
&lt;p&gt;Основная идея: вместо того чтобы разработчики изучали модули Terraform, навигировали по UI порталов или создавали тикеты для платформенной команды, они разговаривают с агентом Copilot. Агент интерпретирует намерение, генерирует Infrastructure-as-Code, валидирует его по политикам и разворачивает — всё внутри VS Code.&lt;/p&gt;
&lt;p&gt;Вот настройка:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/Azure/git-ape
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; git-ape
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Откройте workspace в VS Code, и файлы конфигурации агента автоматически обнаруживаются GitHub Copilot. Вы взаимодействуете с агентом напрямую:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape deploy a function app with storage in West Europe
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Агент использует Azure MCP Server под капотом для взаимодействия с сервисами Azure. Конфигурация MCP в настройках VS Code активирует конкретные возможности:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.serverMode&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;namespace&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.enabledServices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;deploy&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bestpractices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;group&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;subscription&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;functionapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;storage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;sql&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;monitor&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.readOnly&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="почему-это-важно"&gt;Почему это важно&lt;/h2&gt;
&lt;p&gt;Для тех из нас, кто строит на Azure, это смещает разговор о платформенной инженерии с «как построить портал» на «как описать наши ограничения как API.» Когда интерфейс вашей платформы — это ИИ-агент, качество ваших ограничений и политик становится продуктом.&lt;/p&gt;
&lt;p&gt;Блог Части 1 изложил теорию: хорошо описанные API, схемы контроля и явные ограничения делают платформы agent-ready. Часть 2 доказывает, что это работает, поставляя реальные инструменты. Агент не генерирует ресурсы вслепую — он валидирует по лучшим практикам, соблюдает соглашения об именовании и применяет политики вашей организации.&lt;/p&gt;
&lt;p&gt;Очистка так же проста:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape destroy my-resource-group
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="моё-мнение"&gt;Моё мнение&lt;/h2&gt;
&lt;p&gt;Буду честен — здесь больше о паттерне, чем о конкретном инструменте. Git-APE сам по себе — это демо/референсная архитектура. Но лежащая в основе идея — агенты как интерфейс к вашей платформе, MCP как протокол, GitHub Copilot как хост — вот куда движется experience корпоративного разработчика.&lt;/p&gt;
&lt;p&gt;Если вы — платформенная команда, которая ищет, как сделать внутренние инструменты agent-friendly, лучшего стартового пункта не найти. А если вы .NET-разработчик и думаете, как это связано с вашим миром: Azure MCP Server и агенты GitHub Copilot работают с любыми нагрузками Azure. Ваш ASP.NET Core API, ваш стек .NET Aspire, ваши контейнеризированные микросервисы — всё это может быть целью агентного потока деплоя.&lt;/p&gt;
&lt;h2 id="подведём-итоги"&gt;Подведём итоги&lt;/h2&gt;
&lt;p&gt;Git-APE — это ранний, но конкретный взгляд на агентную платформенную инженерию на практике. Клонируйте &lt;a href="https://github.com/Azure/git-ape"&gt;репозиторий&lt;/a&gt;, попробуйте демо и начните думать о том, как API и политики вашей платформы должны выглядеть, чтобы агент мог безопасно их использовать.&lt;/p&gt;
&lt;p&gt;Читайте &lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;полный пост&lt;/a&gt; для walkthrough и видео-демонстраций.&lt;/p&gt;</content:encoded></item><item><title>Оценка модернизации GitHub Copilot — лучший инструмент миграции, который вы ещё не используете</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/</guid><description>Расширение модернизации GitHub Copilot не просто предлагает изменения кода — оно создаёт полноценную оценку миграции с действенными проблемами, сравнением целей Azure и коллаборативным рабочим процессом. Вот почему документ оценки — ключ ко всему.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинал можно прочитать &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/dotnet-modernization-assessment-github-copilot/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Миграция устаревшего приложения .NET Framework на современный .NET — одна из тех задач, о которых все знают, что их нужно сделать, но никто не хочет начинать. Это никогда не просто «сменить целевой фреймворк». Это API, которые исчезли, пакеты, которых больше нет, модели хостинга, которые работают совершенно по-другому, и миллион мелких решений о том, что контейнеризировать, что переписать и что оставить как есть.&lt;/p&gt;
&lt;p&gt;Джеффри Фриц только что опубликовал &lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;глубокий разбор оценки модернизации GitHub Copilot&lt;/a&gt;, и честно? Это лучший инструмент миграции для .NET, который я видел. Не из-за генерации кода — это уже стандарт. Из-за документа оценки, который он создаёт.&lt;/p&gt;
&lt;h2 id="это-не-просто-движок-предложений-кода"&gt;Это не просто движок предложений кода&lt;/h2&gt;
&lt;p&gt;Расширение VS Code следует модели &lt;strong&gt;Оценить → Спланировать → Выполнить&lt;/strong&gt;. Фаза оценки анализирует всю кодовую базу и создаёт структурированный документ, фиксирующий всё: что нужно изменить, какие ресурсы Azure предоставить, какую модель развёртывания использовать. Всё последующее — инфраструктура как код, контейнеризация, манифесты развёртывания — вытекает из результатов оценки.&lt;/p&gt;
&lt;p&gt;Оценка хранится в &lt;code&gt;.github/modernize/assessment/&lt;/code&gt; вашего проекта. Каждый запуск создаёт независимый отчёт, поэтому вы накапливаете историю и можете отслеживать, как меняется ваша позиция по миграции по мере исправления проблем.&lt;/p&gt;
&lt;h2 id="два-способа-начать"&gt;Два способа начать&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Рекомендованная оценка&lt;/strong&gt; — быстрый путь. Выберите из курируемых доменов (Обновление Java/.NET, облачная готовность, безопасность) и получите значимые результаты без настройки конфигурации. Идеально для первого взгляда на состояние вашего приложения.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Пользовательская оценка&lt;/strong&gt; — прицельный путь. Настройте точно, что анализировать: целевой compute (App Service, AKS, Container Apps), целевую ОС, анализ контейнеризации. Выберите несколько целей Azure для сравнения подходов к миграции бок о бок.&lt;/p&gt;
&lt;p&gt;Это представление сравнения действительно полезно. Приложение с 3 обязательными проблемами для App Service может иметь 7 для AKS. Видеть оба варианта помогает принять решение по хостингу до того, как вы привяжетесь к пути миграции.&lt;/p&gt;
&lt;h2 id="разбивка-проблем-действенна"&gt;Разбивка проблем действенна&lt;/h2&gt;
&lt;p&gt;Каждая проблема сопровождается уровнем критичности:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Обязательная&lt;/strong&gt; — необходимо исправить, иначе миграция провалится&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Потенциальная&lt;/strong&gt; — может повлиять на миграцию, требует человеческого суждения&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Необязательная&lt;/strong&gt; — рекомендуемые улучшения, не блокируют миграцию&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;И каждая проблема ссылается на затронутые файлы и номера строк, предоставляет подробное описание того, что не так и почему это важно для вашей целевой платформы, даёт конкретные шаги по устранению (не просто «исправьте это») и включает ссылки на официальную документацию.&lt;/p&gt;
&lt;p&gt;Вы можете передать отдельные проблемы разработчикам, и у них есть всё необходимое для действий. В этом разница между инструментом, который говорит «есть проблема» и инструментом, который говорит, как её решить.&lt;/p&gt;
&lt;h2 id="охваченные-пути-обновления"&gt;Охваченные пути обновления&lt;/h2&gt;
&lt;p&gt;Для .NET конкретно:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.NET Framework → .NET 10&lt;/li&gt;
&lt;li&gt;ASP.NET → ASP.NET Core&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Каждый путь обновления имеет правила обнаружения, которые знают, какие API были удалены, какие паттерны не имеют прямого эквивалента и какие проблемы безопасности требуют внимания.&lt;/p&gt;
&lt;p&gt;Для команд, управляющих несколькими приложениями, есть также CLI, поддерживающий пакетные оценки нескольких репозиториев — клонируйте все репо, оцените их все, получите отчёты по каждому приложению плюс агрегированное представление портфолио.&lt;/p&gt;
&lt;h2 id="моё-мнение"&gt;Моё мнение&lt;/h2&gt;
&lt;p&gt;Если вы сидите на устаревших приложениях .NET Framework (а давайте будем честны, большинство корпоративных команд именно так и делает), это &lt;em&gt;тот самый&lt;/em&gt; инструмент, с которого стоит начать. Только документ оценки стоит потраченного времени — он превращает расплывчатое «нам бы модернизировать» в конкретный, приоритизированный список рабочих элементов с чёткими путями вперёд.&lt;/p&gt;
&lt;p&gt;Коллаборативный рабочий процесс тоже продуман: экспортируйте оценки, поделитесь с командой, импортируйте без повторного запуска. Архитектурные ревью, где решения принимают не те, кто запускает инструменты? Учтено.&lt;/p&gt;
&lt;h2 id="подводя-итоги"&gt;Подводя итоги&lt;/h2&gt;
&lt;p&gt;Оценка модернизации GitHub Copilot превращает миграцию .NET из пугающего, неопределённого проекта в структурированный, отслеживаемый процесс. Начните с рекомендованной оценки, чтобы увидеть текущее состояние, затем используйте пользовательские оценки для сравнения целей Azure и построения плана миграции.&lt;/p&gt;
&lt;p&gt;Прочитайте &lt;a href="https://devblogs.microsoft.com/dotnet/your-migrations-source-of-truth-the-modernization-assessment/"&gt;полное руководство&lt;/a&gt; и установите &lt;a href="https://aka.ms/ghcp-appmod/vscode-ext"&gt;расширение VS Code&lt;/a&gt;, чтобы попробовать на своей кодовой базе.&lt;/p&gt;</content:encoded></item><item><title>Мартовское обновление Visual Studio позволяет создавать собственные агенты Copilot — и find_symbol меняет правила игры</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/</guid><description>Мартовское обновление Visual Studio 2026 приносит пользовательские агенты Copilot, переиспользуемые навыки, инструмент find_symbol с поддержкой языков и профилирование с Copilot из Test Explorer.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинальную версию можно найти &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Visual Studio только что получила самое значительное обновление Copilot. Mark Downie &lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-march-update-build-your-own-custom-agents/"&gt;объявил о мартовском релизе&lt;/a&gt;, и заголовок — пользовательские агенты, но честно говоря, инструмент &lt;code&gt;find_symbol&lt;/code&gt; может оказаться функцией, которая больше всего изменит ваш рабочий процесс.&lt;/p&gt;
&lt;h2 id="пользовательские-агенты-copilot-в-вашем-репозитории"&gt;Пользовательские агенты Copilot в вашем репозитории&lt;/h2&gt;
&lt;p&gt;Хотите, чтобы Copilot следовал стандартам кодирования вашей команды? Пользовательские агенты определяются как файлы &lt;code&gt;.agent.md&lt;/code&gt; в &lt;code&gt;.github/agents/&lt;/code&gt;. Каждый агент имеет полный доступ к workspace, пониманию кода, инструментам, вашей предпочтительной модели и MCP-соединениям.&lt;/p&gt;
&lt;h2 id="навыки-агента-переиспользуемые-наборы-инструкций"&gt;Навыки агента: переиспользуемые наборы инструкций&lt;/h2&gt;
&lt;p&gt;Навыки автоматически подхватываются из &lt;code&gt;.github/skills/&lt;/code&gt; в вашем репозитории или &lt;code&gt;~/.copilot/skills/&lt;/code&gt; в профиле.&lt;/p&gt;
&lt;h2 id="find_symbol-навигация-с-поддержкой-языка"&gt;find_symbol: навигация с поддержкой языка&lt;/h2&gt;
&lt;p&gt;Новый инструмент &lt;code&gt;find_symbol&lt;/code&gt; даёт агентному режиму Copilot навигацию по символам на основе языковых сервисов. Вместо текстового поиска агент может находить все ссылки на символ и получать доступ к информации о типах и области видимости.&lt;/p&gt;
&lt;p&gt;Для .NET-разработчиков это огромное улучшение — кодовые базы на C# с глубокими иерархиями типов получают огромную пользу.&lt;/p&gt;
&lt;h2 id="профилирование-тестов-с-copilot"&gt;Профилирование тестов с Copilot&lt;/h2&gt;
&lt;p&gt;В контекстном меню Test Explorer появился &lt;strong&gt;Profile with Copilot&lt;/strong&gt;. Profiling Agent запускает тест и автоматически анализирует производительность.&lt;/p&gt;
&lt;h2 id="perf-tips-во-время-отладки"&gt;Perf Tips во время отладки&lt;/h2&gt;
&lt;p&gt;Оптимизация производительности теперь происходит прямо во время отладки. Visual Studio показывает время выполнения inline. Увидели медленную строку? Кликните Perf Tip и попросите Copilot предложить оптимизации.&lt;/p&gt;
&lt;h2 id="исправление-уязвимостей-nuget-из-solution-explorer"&gt;Исправление уязвимостей NuGet из Solution Explorer&lt;/h2&gt;
&lt;p&gt;При обнаружении уязвимости NuGet-пакета в Solution Explorer появляется ссылка &lt;strong&gt;Fix with GitHub Copilot&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="подведём-итоги"&gt;Подведём итоги&lt;/h2&gt;
&lt;p&gt;Пользовательские агенты и навыки — заголовок, но &lt;code&gt;find_symbol&lt;/code&gt; — скрытая жемчужина, которая фундаментально меняет точность Copilot при рефакторинге .NET-кода. Скачайте &lt;a href="https://visualstudio.microsoft.com/downloads/"&gt;Visual Studio 2026 Insiders&lt;/a&gt;, чтобы всё попробовать.&lt;/p&gt;</content:encoded></item></channel></rss>