<?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>Extensions | The .NET Blog</title><link>https://thedotnetblog.com/ru/tags/extensions/</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>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ru/tags/extensions/index.xml" rel="self" type="application/rss+xml"/><item><title>Поддержка SDK-стиля для проектов расширений в Visual Studio</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/sdk-style-support-extension-projects-visual-studio/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/sdk-style-support-extension-projects-visual-studio/</guid><description>Visual Studio 18.5 добавляет официально поддерживаемый формат проекта SDK-style для расширений VSSDK, сокращая время сборки до 75% и упрощая файлы проектов до ~20 строк.</description><content:encoded>&lt;p&gt;&lt;em&gt;Этот пост был переведён автоматически. Для оригинальной версии &lt;a href="https://thedotnetblog.com/ru/news/emiliano-montesdeoca/sdk-style-support-extension-projects-visual-studio/"&gt;нажмите здесь&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/visualstudio/sdk-style-support-for-extension-projects/"&gt;Поддержка SDK-стиля для проектов расширений VSSDK&lt;/a&gt; теперь официально доступна в Visual Studio 18.5 — классические проекты расширений VSIX могут отказаться от старого формата &lt;code&gt;.csproj&lt;/code&gt; в стиле MPF.&lt;/p&gt;
&lt;h2 id="что-меняется-в-файле-проекта"&gt;Что меняется в файле проекта&lt;/h2&gt;
&lt;p&gt;Самое заметное изменение — насколько меньше становится файл проекта. Типичное расширение VSSDK теперь выглядит так:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;Project&lt;/span&gt; &lt;span class="na"&gt;Sdk=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Microsoft.NET.Sdk&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;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;lt;PropertyGroup&amp;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;lt;TargetFramework&amp;gt;&lt;/span&gt;net472&lt;span class="nt"&gt;&amp;lt;/TargetFramework&amp;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;lt;VSSDKBuildToolsAutoSetup&amp;gt;&lt;/span&gt;true&lt;span class="nt"&gt;&amp;lt;/VSSDKBuildToolsAutoSetup&amp;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;lt;VsixDeployOnDebug&amp;gt;&lt;/span&gt;true&lt;span class="nt"&gt;&amp;lt;/VsixDeployOnDebug&amp;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;lt;GeneratePkgDefFile&amp;gt;&lt;/span&gt;true&lt;span class="nt"&gt;&amp;lt;/GeneratePkgDefFile&amp;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;lt;/PropertyGroup&amp;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;lt;ItemGroup&amp;gt;&amp;lt;ProjectCapability&lt;/span&gt; &lt;span class="na"&gt;Include=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;CreateVsixContainer&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&amp;lt;/ItemGroup&amp;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;lt;ItemGroup&amp;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;lt;PackageReference&lt;/span&gt; &lt;span class="na"&gt;Include=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Microsoft.VisualStudio.SDK&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;Version=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;17.14.40265&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;ExcludeAssets=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;runtime&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;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;lt;PackageReference&lt;/span&gt; &lt;span class="na"&gt;Include=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Microsoft.VSSDK.BuildTools&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;Version=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;18.5.38461&amp;#34;&lt;/span&gt; &lt;span class="nt"&gt;/&amp;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;lt;/ItemGroup&amp;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;lt;/Project&amp;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;VSSDKBuildToolsAutoSetup=true&lt;/code&gt; применяет разумные значения по умолчанию: &lt;code&gt;CreateVsixContainer=true&lt;/code&gt; и устаревшее &lt;code&gt;DeployExtension=false&lt;/code&gt;. Это единственное свойство заменяет значительную часть того, что раньше приходилось указывать явно.&lt;/p&gt;
&lt;h2 id="улучшение-времени-сборки"&gt;Улучшение времени сборки&lt;/h2&gt;
&lt;p&gt;Включены Fast Up-To-Date Check и поддержка инкрементальной сборки. Для больших решений с небольшими изменениями это даёт &lt;strong&gt;сокращение времени сборки до 75%&lt;/strong&gt; — существенное, если вы итерируете над расширением в рамках большого хост-решения.&lt;/p&gt;
&lt;h2 id="новые-vs-существующие-проекты"&gt;Новые vs. существующие проекты&lt;/h2&gt;
&lt;p&gt;Новые проекты расширений, созданные в 18.5, автоматически используют SDK-стиль. Существующие расширения в стиле MPF продолжают работать — миграция необязательна. Важный момент при миграции: добавьте &lt;code&gt;&amp;lt;UseWpf&amp;gt;true&amp;lt;/UseWpf&amp;gt;&lt;/code&gt;, если расширение использует XAML. Также необходимо пометить расширение как развёртываемое в файле &lt;code&gt;.sln&lt;/code&gt; или &lt;code&gt;.slnx&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Дизайнер vsixmanifest по умолчанию заменён XML-редактором — правый клик → Открыть с помощью, если нужен старый дизайнер.&lt;/p&gt;
&lt;h2 id="агентный-путь-миграции"&gt;Агентный путь миграции&lt;/h2&gt;
&lt;p&gt;Агент Modernize в &lt;a href="https://github.com/microsoft/vs-agent-plugins"&gt;vs-agent-plugins&lt;/a&gt; может автоматизировать миграцию. Несколько реальных расширений уже были конвертированы таким образом: Smart Screen, Command Explorer, Postfix Templates и Whitespace Visualizer от Mads Kristensen.&lt;/p&gt;
&lt;h2 id="важно-отметить"&gt;Важно отметить&lt;/h2&gt;
&lt;p&gt;VisualStudio.Extensibility (более новый фреймворк расширяемости) уже поддерживал SDK-стиль. Это обновление обеспечивает паритет с классическим путём VSSDK. Единственное требование — рабочая нагрузка разработки расширений Visual Studio.&lt;/p&gt;
&lt;p&gt;Полные сведения в &lt;a href="https://devblogs.microsoft.com/visualstudio/sdk-style-support-for-extension-projects/"&gt;официальном посте&lt;/a&gt;.&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></channel></rss>