<?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/ko/tags/extensions/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ko</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/ko/tags/extensions/index.xml" rel="self" type="application/rss+xml"/><item><title>Visual Studio 확장 프로젝트에 대한 SDK 스타일 지원</title><link>https://thedotnetblog.com/ko/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/ko/news/emiliano-montesdeoca/sdk-style-support-extension-projects-visual-studio/</guid><description>Visual Studio 18.5가 VSSDK 기반 확장에 공식적으로 지원되는 SDK 스타일 프로젝트 형식을 도입하여 빌드 시간을 최대 75% 단축하고 프로젝트 파일을 약 20줄로 간소화합니다.</description><content:encoded>&lt;p&gt;&lt;em&gt;이 게시물은 자동으로 번역되었습니다. 원본 버전은 &lt;a href="https://thedotnetblog.com/ko/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;VSSDK 기반 확장 프로젝트에 대한 SDK 스타일 지원&lt;/a&gt;이 이제 Visual Studio 18.5에서 공식적으로 지원됩니다 — 클래식 VSIX 확장 프로젝트는 오래된 MPF 스타일 &lt;code&gt;.csproj&lt;/code&gt; 형식을 버릴 수 있습니다.&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 스타일 확장은 계속 작동합니다 — 마이그레이션은 선택 사항입니다. 마이그레이션 시 주의할 점: 확장이 XAML을 사용하면 &lt;code&gt;&amp;lt;UseWpf&amp;gt;true&amp;lt;/UseWpf&amp;gt;&lt;/code&gt;를 추가하세요. &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;&lt;a href="https://github.com/microsoft/vs-agent-plugins"&gt;vs-agent-plugins&lt;/a&gt;의 Modernize 에이전트가 마이그레이션을 자동화할 수 있습니다. Mads Kristensen의 Smart Screen, Command Explorer, Postfix Templates, Whitespace Visualizer 등 여러 실제 확장이 이미 이 방법으로 변환되었습니다.&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/ko/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/ko/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</guid><description>Mads Kristensen의 새로운 Bookmark Studio 확장이 키보드 기반 슬롯 내비게이션, 북마크 관리자, 색상, 라벨 및 내보내기 기능을 Visual Studio 북마크에 추가합니다.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;이 글은 자동 번역되었습니다. 원본은 &lt;a href="https://thedotnetblog.com/ko/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;북마크에 라벨, 색상을 추가하고 폴더로 그룹화할 수 있습니다. 메타데이터는 솔루션별로 저장됩니다.&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는 아무것도 재발명하지 않습니다. 수년간 &amp;ldquo;충분했던&amp;rdquo; 기능을 진정으로 유용하게 만듭니다. &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>