<?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>Productivity | The .NET Blog</title><link>https://thedotnetblog.com/ru/tags/productivity/</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>Fri, 15 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ru/tags/productivity/index.xml" rel="self" type="application/rss+xml"/><item><title>VS Code 1.119: OpenTelemetry для сеансов агентов, интеграция браузера и безопасность</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/</guid><description>VS Code 1.119 (май 2026) добавляет трассировку OpenTelemetry для сеансов агентов, общий доступ к вкладкам браузера, улучшения доверия и безопасности, а также исправление безопасности 1.119.1.</description><content:encoded>&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Для оригинальной версии &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/"&gt;нажмите здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_119"&gt;VS Code 1.119&lt;/a&gt; вышел 6 мая 2026 года (с патчем безопасности 1.119.1 вскоре после). Релиз сфокусирован на наблюдаемости агентов, взаимодействии с браузером и сокращении прерываний.&lt;/p&gt;
&lt;h2 id="трассировка-opentelemetry-для-сеансов-агентов"&gt;Трассировка OpenTelemetry для сеансов агентов&lt;/h2&gt;
&lt;p&gt;Это ключевая функция для всех, кто запускает агентов в продакшене или отлаживает агентные рабочие процессы. Включите с помощью двух параметров:&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="s2"&gt;&amp;#34;github.copilot.chat.otel.enabled&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="err"&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;github.copilot.chat.otel.otlpEndpoint&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;http://localhost:4318&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Трассы следуют семантическим соглашениям GenAI. Каждый запрос агента создаёт корневой спан &lt;code&gt;invoke_agent&lt;/code&gt; с вложенными дочерними спанами: &lt;code&gt;chat&lt;/code&gt;, &lt;code&gt;execute_tool&lt;/code&gt; и &lt;code&gt;execute_hook&lt;/code&gt;. Использование токенов сообщается по каждому запросу — включая счётчики чтения кэша и его создания.&lt;/p&gt;
&lt;p&gt;Работает с локальным агентом, фоновым агентом Copilot CLI и агентом Claude. Любой бэкенд, совместимый с OTLP, принимает трассы — &lt;a href="https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/standalone"&gt;автономная панель управления Aspire&lt;/a&gt; хорошо подходит для локальной разработки.&lt;/p&gt;
&lt;h2 id="агенты-теперь-могут-обращаться-к-вкладкам-браузера"&gt;Агенты теперь могут обращаться к вкладкам браузера&lt;/h2&gt;
&lt;p&gt;Агенты могут запрашивать доступ к вкладкам встроенного браузера — но не автоматически. Вы должны явно открыть общий доступ к вкладке через средство выбора контекста, перетаскивание или предложенный контекст. В браузере есть кнопка совместного использования для отзыва доступа. Когда агент пытается открыть новую вкладку на том же домене, что и уже открытая (не общая) вкладка, VS Code предлагает повторно использовать существующую.&lt;/p&gt;
&lt;h2 id="оптимизация-использования-токенов"&gt;Оптимизация использования токенов&lt;/h2&gt;
&lt;p&gt;Экспериментальная лёгкая модель теперь управляет списками задач агентов, освобождая основную модель от этой рутины. Снижает расход токенов для задач, не требующих полной мощности рассуждения.&lt;/p&gt;
&lt;h2 id="доверие-и-безопасность"&gt;Доверие и безопасность&lt;/h2&gt;
&lt;p&gt;Меньше прерываний: VS Code 1.119 сокращает запросы на сетевой доступ и записи во временные папки от агентов. Патч 1.119.1 устраняет конкретные проблемы безопасности — стоит обновиться, если вы ещё не сделали этого.&lt;/p&gt;
&lt;h2 id="быстрое-переключение-на-предварительный-просмотр-markdown"&gt;Быстрое переключение на предварительный просмотр Markdown&lt;/h2&gt;
&lt;p&gt;Небольшое, но полезное: теперь можно быстро переключить текущий редактор в предварительный просмотр Markdown без навигации.&lt;/p&gt;
&lt;h2 id="vs-code-agents-предварительный-просмотр-insiders"&gt;VS Code Agents (предварительный просмотр Insiders)&lt;/h2&gt;
&lt;p&gt;Переработанный интерфейс сеансов агентов — новый выбор репозитория (локальный/репозитории/удалённый), улучшения подсеансов, улучшения для веб и мобильных устройств, анимации прогресса — доступен в Insiders на &lt;a href="https://insiders.vscode.dev/agents"&gt;insiders.vscode.dev/agents&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Полный список изменений: &lt;a href="https://code.visualstudio.com/updates/v1_119"&gt;code.visualstudio.com/updates/v1_119&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Обновление Visual Studio 2026 за апрель: облачный агент, пользовательские агенты и агент отладчика</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-april-update-cloud-agent-integration/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-april-update-cloud-agent-integration/</guid><description>Апрельское обновление Visual Studio 2026 (18.5) добавляет интеграцию облачного агента, пользовательские агенты на уровне пользователя, инструменты C++ в GA и Агент Отладчика, который проверяет исправления на реальном поведении среды выполнения.</description><content:encoded>&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Для оригинальной версии &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-april-update-cloud-agent-integration/"&gt;нажмите здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-april-update-cloud-agent-integration/"&gt;Апрельское обновление Visual Studio 2026 (18.5)&lt;/a&gt; включает интеграцию облачного агента, пользовательские агенты на уровне пользователя, инструменты C++, достигающие GA, и новый Агент Отладчика.&lt;/p&gt;
&lt;h2 id="облачный-агент-делегирование-работы-удалённой-сессии-copilot"&gt;Облачный агент: делегирование работы удалённой сессии Copilot&lt;/h2&gt;
&lt;p&gt;В средстве выбора агентов в окне Chat выбор &lt;strong&gt;Cloud&lt;/strong&gt; позволяет передать задачу удалённому агенту кодирования Copilot. Вы описываете работу, агент создаёт issue на GitHub в вашем репозитории, а затем открывает PR по завершении. Вы получаете уведомление с кнопками &amp;ldquo;View PR&amp;rdquo; / &amp;ldquo;Open in browser&amp;rdquo; — всё работает пока вы продолжаете кодировать, или даже с закрытой IDE.&lt;/p&gt;
&lt;h2 id="пользовательские-агенты-теперь-следуют-за-вами"&gt;Пользовательские агенты теперь следуют за вами&lt;/h2&gt;
&lt;p&gt;Пользовательские агенты, хранящиеся в &lt;code&gt;%USERPROFILE%/.github/agents/&lt;/code&gt;, больше не ограничены одним репозиторием — они следуют за вами между проектами. Путь хранения настраивается в Tools &amp;gt; Параметры &amp;gt; GitHub &amp;gt; Copilot &amp;gt; Chat. Кнопка &lt;code&gt;+&lt;/code&gt; в средстве выбора агентов позволяет создавать новые агенты напрямую. Они получают те же возможности, что и агенты в области репозитория: осознание рабочей области, инструменты, выбор модели и подключения MCP.&lt;/p&gt;
&lt;p&gt;Встроенные агенты: Agent, Ask, Copilot CLI, Debugger, Modernize, Profiler.&lt;/p&gt;
&lt;h2 id="инструменты-редактирования-кода-c-становятся-ga"&gt;Инструменты редактирования кода C++ становятся GA&lt;/h2&gt;
&lt;p&gt;Два инструмента — &lt;code&gt;get_symbol_call_hierarchy&lt;/code&gt; и &lt;code&gt;get_symbol_class_hierarchy&lt;/code&gt; — теперь включены по умолчанию. Они дают Copilot языковую навигацию по базам кода C++, охватывая иерархии наследования и цепочки вызовов функций. Включите через значок Tools в Copilot Chat. Лучше всего работает с моделями, поддерживающими вызов инструментов.&lt;/p&gt;
&lt;h2 id="агент-отладчика-исправления-проверяются-на-реальном-поведении-среды-выполнения"&gt;Агент Отладчика: исправления проверяются на реальном поведении среды выполнения&lt;/h2&gt;
&lt;p&gt;Начните с issue GitHub или Azure DevOps (или описания на естественном языке), переключитесь в режим Debugger, и агент:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Создаёт минимальный воспроизводитель&lt;/li&gt;
&lt;li&gt;Генерирует гипотезы сбоя&lt;/li&gt;
&lt;li&gt;Инструментирует приложение трассировочными точками и условными точками останова&lt;/li&gt;
&lt;li&gt;Запускает реальную сеанс отладки&lt;/li&gt;
&lt;li&gt;Анализирует живую телеметрию&lt;/li&gt;
&lt;li&gt;Предлагает точное исправление&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Вы остаётесь в цикле на протяжении всего процесса — это интерактивно, а не полностью автономно.&lt;/p&gt;
&lt;h2 id="исправление-приоритета-intellisense"&gt;Исправление приоритета IntelliSense&lt;/h2&gt;
&lt;p&gt;VS теперь подавляет завершения Copilot, пока список IntelliSense активен. Только одно предложение за раз. Это была частая точка трения, и теперь включено по умолчанию.&lt;/p&gt;
&lt;p&gt;Полные примечания к выпуску и загрузка на &lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-april-update-cloud-agent-integration/"&gt;devblogs.microsoft.com&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Та Самая Настройка Плавающих Окон в Visual Studio, О Которой Вы Не Знали (Но Должны)</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</guid><description>Скрытая настройка Visual Studio даёт полный контроль над плавающими окнами — независимые записи в панели задач, правильное поведение на нескольких мониторах и идеальная интеграция с FancyZones. Один выпадающий список меняет всё.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинал можно прочитать &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Если вы используете несколько мониторов с Visual Studio (а честно говоря, кто сейчас не использует?), вы наверняка сталкивались с раздражающей проблемой: плавающие окна инструментов исчезают при сворачивании основной IDE, они всегда остаются поверх всего остального и не отображаются отдельными кнопками в панели задач. Это работает для некоторых рабочих процессов, но для мультимониторных конфигураций — это расстраивает.&lt;/p&gt;
&lt;p&gt;Мадс Кристенсен из команды Visual Studio &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;поделился малоизвестной настройкой&lt;/a&gt;, которая полностью меняет поведение плавающих окон. Один выпадающий список. Вот и всё.&lt;/p&gt;
&lt;h2 id="настройка"&gt;Настройка&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tools &amp;gt; Options &amp;gt; Environment &amp;gt; Windows &amp;gt; Floating Windows&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Выпадающий список &amp;ldquo;These floating windows are owned by the main window&amp;rdquo; имеет три варианта:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt; — полная независимость. Каждое плавающее окно получает собственную запись в панели задач и ведёт себя как обычное окно Windows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Windows&lt;/strong&gt; (по умолчанию) — документы свободно плавают, окна инструментов привязаны к IDE.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documents and Tool Windows&lt;/strong&gt; — классическое поведение Visual Studio, всё привязано к главному окну.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="почему-none--лучший-выбор-для-мультимониторных-настроек"&gt;Почему &amp;ldquo;None&amp;rdquo; — лучший выбор для мультимониторных настроек&lt;/h2&gt;
&lt;p&gt;Установите &lt;strong&gt;None&lt;/strong&gt;, и внезапно все ваши плавающие окна инструментов и документов начинают вести себя как настоящие приложения Windows. Они появляются в панели задач, остаются видимыми при сворачивании основного окна Visual Studio и перестают навязчиво выходить на передний план.&lt;/p&gt;
&lt;p&gt;Совместите это с &lt;strong&gt;PowerToys FancyZones&lt;/strong&gt; — и это полностью меняет игру. Создайте пользовательские макеты на своих мониторах, расположите Solution Explorer в одной зоне, отладчик в другой, а файлы кода где угодно. Всё остаётся на месте, всё доступно независимо, и ваше рабочее пространство ощущается организованным, а не хаотичным.&lt;/p&gt;
&lt;h2 id="быстрые-рекомендации"&gt;Быстрые рекомендации&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Продвинутые пользователи с несколькими мониторами&lt;/strong&gt;: Установите &lt;strong&gt;None&lt;/strong&gt;, используйте в паре с FancyZones&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Иногда используете плавающие окна&lt;/strong&gt;: &lt;strong&gt;Tool Windows&lt;/strong&gt; (по умолчанию) — хороший компромисс&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Традиционный рабочий процесс&lt;/strong&gt;: &lt;strong&gt;Documents and Tool Windows&lt;/strong&gt; сохраняет классическое поведение&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Совет профессионала: &lt;strong&gt;Ctrl + двойной клик&lt;/strong&gt; по заголовку любого окна инструментов, чтобы мгновенно сделать его плавающим или закрепить. Перезапуск после изменения настройки не нужен.&lt;/p&gt;
&lt;h2 id="заключение"&gt;Заключение&lt;/h2&gt;
&lt;p&gt;Это одна из тех настроек из серии «не могу поверить, что я этого не знал». Если плавающие окна в Visual Studio когда-либо вас раздражали, идите и измените эту настройку прямо сейчас.&lt;/p&gt;
&lt;p&gt;Прочитайте &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;полный пост&lt;/a&gt; для подробностей и скриншотов.&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps наконец-то исправил Markdown-редактор, на который все жаловались</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</guid><description>Markdown-редактор Azure DevOps для рабочих элементов получает более чёткое разделение между режимами просмотра и редактирования. Маленькое изменение, которое решает действительно раздражающую проблему.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинальную версию можно найти &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Если вы используете Azure Boards, вы наверняка сталкивались с этим: читаете описание рабочего элемента, может проверяете критерии приёмки, и случайно делаете двойной клик. Бум — вы в режиме редактирования. Вы ничего не хотели редактировать. Просто читали.&lt;/p&gt;
&lt;p&gt;Dan Hellem &lt;a href="https://devblogs.microsoft.com/devops/improving-the-markdown-editor-for-work-items/"&gt;объявил об исправлении&lt;/a&gt;, и это одно из тех изменений, которые звучат мелко, но реально убирают трение из повседневного рабочего процесса.&lt;/p&gt;
&lt;h2 id="что-изменилось"&gt;Что изменилось&lt;/h2&gt;
&lt;p&gt;Markdown-редактор для текстовых полей рабочих элементов теперь открывается в &lt;strong&gt;режиме просмотра по умолчанию&lt;/strong&gt;. Можно читать контент и взаимодействовать с ним — переходить по ссылкам, проверять форматирование — не беспокоясь о случайном входе в режим редактирования.&lt;/p&gt;
&lt;p&gt;Когда действительно хотите редактировать, нажмите на иконку редактирования вверху поля. Закончили — явно вернитесь в режим просмотра. Просто, намеренно, предсказуемо.&lt;/p&gt;
&lt;h2 id="почему-это-важнее-чем-кажется"&gt;Почему это важнее, чем кажется&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developercommunity.visualstudio.com/t/Markdown-editor-for-work-item-multi-line/10935496"&gt;Тред обратной связи от сообщества&lt;/a&gt; был длинным. Поведение двойного клика для редактирования было введено с Markdown-редактором в июле 2025, и жалобы начались почти сразу.&lt;/p&gt;
&lt;p&gt;Для команд, которые делают планирование спринтов, уточнение бэклога или код-ревью в Azure Boards, такое микро-трение накапливается.&lt;/p&gt;
&lt;h2 id="статус-развёртывания"&gt;Статус развёртывания&lt;/h2&gt;
&lt;p&gt;Уже раскатывается для части пользователей и расширится на всех в ближайшие две-три недели.&lt;/p&gt;
&lt;h2 id="подведём-итоги"&gt;Подведём итоги&lt;/h2&gt;
&lt;p&gt;Не каждое улучшение должно быть заголовочной фичей. Иногда лучшее обновление — просто убрать что-то раздражающее. Это именно такой случай — маленький UX-фикс, который делает Azure Boards менее враждебным для людей, которые просто хотят спокойно прочитать свои рабочие элементы.&lt;/p&gt;</content:encoded></item><item><title>Bookmark Studio добавляет слотовую навигацию и обмен закладками в Visual Studio</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</guid><description>Новое расширение Bookmark Studio от Mads Kristensen добавляет навигацию по слотам с клавиатуры, менеджер закладок, цвета, метки и возможности экспорта к закладкам Visual Studio.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Оригинальную версию можно найти &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/"&gt;здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Закладки в Visual Studio всегда были&amp;hellip; нормальными. Ставишь одну, переходишь к следующей, забываешь какая есть какая. Работают, но никогда не были чем-то, что назвали бы мощным.&lt;/p&gt;
&lt;p&gt;Mads Kristensen только что &lt;a href="https://devblogs.microsoft.com/visualstudio/bookmark-studio-evolving-bookmarks-in-visual-studio/"&gt;выпустил Bookmark Studio&lt;/a&gt; — экспериментальное расширение, которое заполняет именно те пробелы, с которыми вы, вероятно, сталкивались.&lt;/p&gt;
&lt;h2 id="слотовая-навигация"&gt;Слотовая навигация&lt;/h2&gt;
&lt;p&gt;Закладки можно назначить на слоты 1–9 и перейти к ним напрямую через &lt;code&gt;Alt+Shift+1&lt;/code&gt; по &lt;code&gt;Alt+Shift+9&lt;/code&gt;. Новые закладки автоматически получают следующий свободный слот.&lt;/p&gt;
&lt;h2 id="менеджер-закладок"&gt;Менеджер закладок&lt;/h2&gt;
&lt;p&gt;Новое окно инструментов показывает все закладки с фильтрацией по имени, файлу, расположению, цвету или слоту.&lt;/p&gt;
&lt;h2 id="организация-с-метками-цветами-и-папками"&gt;Организация с метками, цветами и папками&lt;/h2&gt;
&lt;p&gt;Закладки могут иметь метки, цвета и группироваться в папки. Метаданные сохраняются по solution.&lt;/p&gt;
&lt;h2 id="экспорт-и-обмен"&gt;Экспорт и обмен&lt;/h2&gt;
&lt;p&gt;Bookmark Studio позволяет экспортировать закладки как текст, Markdown или CSV.&lt;/p&gt;
&lt;h2 id="закладки-следующие-за-кодом"&gt;Закладки, следующие за кодом&lt;/h2&gt;
&lt;p&gt;Bookmark Studio отслеживает закладки относительно привязанного текста, поэтому они не сдвигаются на неправильные строки при редактировании.&lt;/p&gt;
&lt;h2 id="подведём-итоги"&gt;Подведём итоги&lt;/h2&gt;
&lt;p&gt;Bookmark Studio ничего не переизобретает. Берёт функцию, которая годами была «достаточной», и делает её действительно полезной. Скачайте из &lt;a href="https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BookmarkStudio"&gt;Visual Studio Marketplace&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.112: что действительно важно для .NET-разработчиков</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-112-dotnet-developers/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/vscode-1-112-dotnet-developers/</guid><description>VS Code 1.112 только что вышел и наполнен обновлениями агентов, встроенным отладчиком браузера, песочницей MCP и поддержкой монорепозиториев. Вот что действительно важно для .NET-разработчиков.</description><content:encoded>&lt;p&gt;VS Code 1.112 только что приземлился, и честно? Этот релиз ощущается иначе, если вы проводите дни в мире .NET. В &lt;a href="https://code.visualstudio.com/updates/v1_112"&gt;официальных заметках о релизе&lt;/a&gt; много всего, но позвольте мне сэкономить вам время и сосредоточиться на том, что действительно важно для нас.&lt;/p&gt;
&lt;h2 id="copilot-cli-стал-намного-полезнее"&gt;Copilot CLI стал намного полезнее&lt;/h2&gt;
&lt;p&gt;Главная тема этого релиза — &lt;strong&gt;автономность агентов&lt;/strong&gt; — предоставление Copilot больше пространства для работы без того, чтобы вы контролировали каждый шаг.&lt;/p&gt;
&lt;h3 id="управление-сообщениями-и-очередь"&gt;Управление сообщениями и очередь&lt;/h3&gt;
&lt;p&gt;Знаете тот момент, когда Copilot CLI на полпути через задачу, и вы понимаете, что забыли что-то упомянуть? Раньше приходилось ждать. Теперь вы можете просто отправлять сообщения, пока запрос ещё обрабатывается — либо для корректировки текущего ответа, либо для постановки в очередь последующих инструкций.&lt;/p&gt;
&lt;p&gt;Это огромное улучшение для длинных задач генерации &lt;code&gt;dotnet&lt;/code&gt;, когда вы наблюдаете, как Copilot настраивает проект и думаете «ой, мне ещё нужен MassTransit туда».&lt;/p&gt;
&lt;h3 id="уровни-разрешений"&gt;Уровни разрешений&lt;/h3&gt;
&lt;p&gt;Вот что меня больше всего радует. Сессии Copilot CLI теперь поддерживают три уровня разрешений:&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;Если вы делаете что-то вроде создания нового ASP.NET Core API с Entity Framework, миграциями и Docker-настройкой — режим Автопилот означает, что вы описываете, что хотите, и идёте за кофе. Он разберётся.&lt;/p&gt;
&lt;p&gt;Включить Автопилот можно через настройку &lt;code&gt;chat.autopilot.enabled&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="предварительный-просмотр-изменений-перед-делегированием"&gt;Предварительный просмотр изменений перед делегированием&lt;/h3&gt;
&lt;p&gt;Когда вы делегируете задачу Copilot CLI, он создаёт worktree. Раньше, если у вас были незакоммиченные изменения, приходилось проверять Source Control, чтобы увидеть, что будет затронуто. Теперь представление Chat показывает ожидающие изменения прямо перед тем, как вы решите, копировать, переместить или проигнорировать их.&lt;/p&gt;
&lt;p&gt;Мелочь, но это спасает от того момента «подождите, что у меня было в staged?».&lt;/p&gt;
&lt;h2 id="отладка-веб-приложений-без-выхода-из-vs-code"&gt;Отладка веб-приложений без выхода из VS Code&lt;/h2&gt;
&lt;p&gt;Встроенный браузер теперь поддерживает &lt;strong&gt;полную отладку&lt;/strong&gt;. Вы можете ставить точки останова, пошагово проходить код и проверять переменные — всё внутри VS Code. Больше не нужно переключаться на Edge DevTools.&lt;/p&gt;
&lt;p&gt;Появился новый тип отладки &lt;code&gt;editor-browser&lt;/code&gt;, и если у вас уже есть конфигурации запуска для &lt;code&gt;msedge&lt;/code&gt; или &lt;code&gt;chrome&lt;/code&gt;, миграция так же проста, как изменение поля &lt;code&gt;type&lt;/code&gt; в вашем &lt;code&gt;launch.json&lt;/code&gt;:&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;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;editor-browser&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;request&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;launch&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;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Debug Blazor App&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;url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://localhost:5001&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Для Blazor-разработчиков это переломный момент. Вы уже запускаете &lt;code&gt;dotnet watch&lt;/code&gt; в терминале — теперь и отладка остаётся в том же окне.&lt;/p&gt;
&lt;p&gt;Браузер также получил независимые уровни масштабирования (наконец-то), правильные контекстные меню по правому клику, и масштаб сохраняется для каждого сайта.&lt;/p&gt;
&lt;h2 id="песочница-для-mcp-серверов"&gt;Песочница для MCP-серверов&lt;/h2&gt;
&lt;p&gt;Это важнее, чем может показаться. Если вы используете MCP-серверы — может быть, настроили пользовательский для ваших Azure-ресурсов или запросов к базе данных — они работали с теми же правами, что и ваш процесс VS Code. То есть полный доступ к файловой системе, сети, всему.&lt;/p&gt;
&lt;p&gt;Теперь их можно изолировать в песочнице. В вашем &lt;code&gt;mcp.json&lt;/code&gt;:&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;servers&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="nt"&gt;&amp;#34;my-azure-tools&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="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;node&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;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;./mcp-server.js&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;sandboxEnabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&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="p"&gt;}&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;p&gt;Когда изолированному серверу нужен доступ к чему-то, чего у него нет, VS Code запрашивает разрешение. Гораздо лучше подхода «надеемся, никто не сделает ничего странного».&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Примечание:&lt;/strong&gt; Песочница доступна на macOS и Linux на данный момент. Поддержка Windows на подходе — но удалённые сценарии вроде WSL уже работают.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="обнаружение-кастомизаций-в-монорепозиториях"&gt;Обнаружение кастомизаций в монорепозиториях&lt;/h2&gt;
&lt;p&gt;Если вы работаете в монорепозитории (и будем честны, многие корпоративные .NET-решения в итоге становятся таковыми), это решает реальную проблему.&lt;/p&gt;
&lt;p&gt;Раньше, если вы открывали подпапку вашего репозитория, VS Code не находил ваш &lt;code&gt;copilot-instructions.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt; или пользовательские скиллы, находящиеся в корне репозитория. Теперь с настройкой &lt;code&gt;chat.useCustomizationsInParentRepositories&lt;/code&gt; он поднимается до корня &lt;code&gt;.git&lt;/code&gt; и обнаруживает всё.&lt;/p&gt;
&lt;p&gt;Это означает, что ваша команда может делиться инструкциями для агентов, файлами промптов и пользовательскими инструментами между всеми проектами в монорепозитории, не требуя от каждого открывать корневую папку.&lt;/p&gt;
&lt;h2 id="troubleshoot-для-отладки-агентов"&gt;/troubleshoot для отладки агентов&lt;/h2&gt;
&lt;p&gt;Когда-нибудь настраивали пользовательские инструкции или скиллы и гадали, почему они не подхватываются? Новый скилл &lt;code&gt;/troubleshoot&lt;/code&gt; читает отладочные логи агента и сообщает, что произошло — какие инструменты были использованы или пропущены, почему инструкции не загрузились и что вызывает медленные ответы.&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-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;github.copilot.chat.agentDebugLog.enabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&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;github.copilot.chat.agentDebugLog.fileLogging.enabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&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;p&gt;Затем просто введите &lt;code&gt;/troubleshoot почему мой пользовательский скилл не загружается?&lt;/code&gt; в чат.&lt;/p&gt;
&lt;p&gt;Теперь также можно экспортировать и импортировать эти отладочные логи, что отлично подходит для обмена с командой, когда что-то работает не так, как ожидалось.&lt;/p&gt;
&lt;h2 id="поддержка-изображений-и-бинарных-файлов"&gt;Поддержка изображений и бинарных файлов&lt;/h2&gt;
&lt;p&gt;Агенты теперь могут читать файлы изображений с диска и бинарные файлы нативно. Бинарные файлы представлены в формате hexdump, а выводы изображений (например, скриншоты из встроенного браузера) отображаются в карусельном виде.&lt;/p&gt;
&lt;p&gt;Для .NET-разработчиков подумайте: вставьте скриншот UI-бага в чат, и агент поймёт, что не так, или пусть он проанализирует вывод рендеринга компонента Blazor.&lt;/p&gt;
&lt;h2 id="автоматические-ссылки-на-символы"&gt;Автоматические ссылки на символы&lt;/h2&gt;
&lt;p&gt;Небольшое улучшение качества жизни: когда вы копируете имя символа (класс, метод и т.д.) и вставляете его в чат, VS Code теперь автоматически преобразует его в ссылку &lt;code&gt;#sym:Name&lt;/code&gt;. Это даёт агенту полный контекст об этом символе без необходимости вручную добавлять его.&lt;/p&gt;
&lt;p&gt;Если вам нужен обычный текст, используйте &lt;code&gt;Ctrl+Shift+V&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="плагины-теперь-можно-включатьотключать"&gt;Плагины теперь можно включать/отключать&lt;/h2&gt;
&lt;p&gt;Раньше отключение MCP-сервера или плагина означало его удаление. Теперь их можно переключать — как глобально, так и для каждого рабочего пространства. Правый клик в представлении Extensions или Customizations — и готово.&lt;/p&gt;
&lt;p&gt;Плагины из npm и pypi также могут автоматически обновляться, хотя сначала запросят подтверждение, поскольку обновления означают запуск нового кода на вашей машине.&lt;/p&gt;
&lt;h2 id="итог"&gt;Итог&lt;/h2&gt;
&lt;p&gt;VS Code 1.112 явно усиленно развивает агентный опыт — больше автономности, лучшая отладка, более строгая безопасность. Для .NET-разработчиков встроенная отладка браузера и улучшения Copilot CLI — это главные новшества.&lt;/p&gt;
&lt;p&gt;Если вы ещё не пробовали запустить полную сессию Copilot CLI в режиме Автопилот для .NET-проекта, этот релиз — хорошее время для начала. Просто не забудьте настроить разрешения и дайте ему поработать.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_112"&gt;Скачайте VS Code 1.112&lt;/a&gt; или обновите изнутри VS Code через &lt;strong&gt;Help &amp;gt; Check for Updates&lt;/strong&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>