<?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>Developer-Tools | The .NET Blog</title><link>https://thedotnetblog.com/nl/tags/developer-tools/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>nl</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/nl/tags/developer-tools/index.xml" rel="self" type="application/rss+xml"/><item><title>Azure MCP Server Is Nu een .mcpb — Installeer het Zonder Runtime</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/</guid><description>Azure MCP Server is nu beschikbaar als MCP Bundle (.mcpb) — download, sleep naar Claude Desktop en klaar. Geen Node.js, Python of .NET vereist.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Klik &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/"&gt;hier&lt;/a&gt; voor de originele versie.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Weet je wat vervelend was aan het instellen van MCP-servers? Je had een runtime nodig. Node.js voor de npm-versie, Python voor pip/uvx, .NET SDK voor de dotnet-variant.&lt;/p&gt;
&lt;p&gt;De &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;Azure MCP Server heeft dat net veranderd&lt;/a&gt;. Het is nu beschikbaar als &lt;code&gt;.mcpb&lt;/code&gt; — een MCP Bundle — en de installatie is slepen en neerzetten.&lt;/p&gt;
&lt;h2 id="wat-is-een-mcp-bundle"&gt;Wat is een MCP Bundle?&lt;/h2&gt;
&lt;p&gt;Denk eraan als een VS Code-extensie (&lt;code&gt;.vsix&lt;/code&gt;) of een browserextensie (&lt;code&gt;.crx&lt;/code&gt;), maar voor MCP-servers. Een &lt;code&gt;.mcpb&lt;/code&gt;-bestand is een zelfstandig ZIP-archief met de serverbinary en alle afhankelijkheden.&lt;/p&gt;
&lt;h2 id="hoe-te-installeren"&gt;Hoe te installeren&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Download de bundle voor uw platform&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ga naar de &lt;a href="https://github.com/microsoft/mcp/releases?q=Azure.Mcp.Server"&gt;GitHub Releases-pagina&lt;/a&gt; en download het &lt;code&gt;.mcpb&lt;/code&gt;-bestand voor uw OS en architectuur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Installeer in Claude Desktop&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Het gemakkelijkst: sleep het &lt;code&gt;.mcpb&lt;/code&gt;-bestand naar het Claude Desktop-venster terwijl u op de pagina Extensie-instellingen bent (&lt;code&gt;☰ → Bestand → Instellingen → Extensies&lt;/code&gt;). Bekijk de serverdetails, klik op Installeren, bevestig.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Verifieer bij Azure&lt;/strong&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;az login
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="aan-de-slag"&gt;Aan de slag&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="https://github.com/microsoft/mcp/releases?q=Azure.Mcp.Server-"&gt;GitHub Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://aka.ms/azmcp"&gt;aka.ms/azmcp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href="https://aka.ms/azmcp/docs"&gt;aka.ms/azmcp/docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bekijk het &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;volledige bericht&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.118: Copilot CLI Krijgt Sessienamen, Modelbadges en TypeScript 7.0 Nightly</title><link>https://thedotnetblog.com/nl/posts/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/nl/posts/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/</guid><description>Visual Studio Code 1.118 is een gerichte release met Copilot CLI-verbeteringen — sessienamen, modelbadges, automatische modelselectie en TypeScript 7.0 Nightly opt-in.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor de originele versie, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-118-copilot-cli-session-names-model-badge/"&gt;klik hier&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; is een kleinere, gerichte release — voornamelijk Copilot CLI-verbeteringen.&lt;/p&gt;
&lt;h2 id="copilot-cli-sessies-krijgen-echte-namen"&gt;Copilot CLI: Sessies Krijgen Echte Namen&lt;/h2&gt;
&lt;p&gt;De sessietitel-API&amp;rsquo;s van de Copilot CLI SDK worden nu gebruikt als bron van waarheid voor sessienamen. In plaats van automatisch gegenereerde labels tonen sessies nu de echte naam uit de SDK.&lt;/p&gt;
&lt;h2 id="sneller-wisselen-tussen-sessies"&gt;Sneller Wisselen Tussen Sessies&lt;/h2&gt;
&lt;p&gt;De Agents-app heeft nu &lt;code&gt;Ctrl+1&lt;/code&gt;, &lt;code&gt;Ctrl+2&lt;/code&gt;, enz. voor snel wisselen tussen sessies.&lt;/p&gt;
&lt;h2 id="modelbadges-in-de-chat"&gt;Modelbadges in de Chat&lt;/h2&gt;
&lt;p&gt;Copilot CLI-antwoorden in het chatpaneel tonen nu een modelbadge — je ziet in één oogopslag welk model elk verzoek heeft afgehandeld.&lt;/p&gt;
&lt;h2 id="automatische-modelselectie-in-copilot-cli"&gt;Automatische Modelselectie in Copilot CLI&lt;/h2&gt;
&lt;p&gt;De automatische modelselectie werkt nu ook in de Copilot CLI-agent.&lt;/p&gt;
&lt;h2 id="typescript-70-nightly-opt-in"&gt;TypeScript 7.0 Nightly Opt-in&lt;/h2&gt;
&lt;p&gt;Je kunt nu rechtstreeks vanuit de VS Code-instellingen kiezen voor het testen van TypeScript 7.0-nightlies. TypeScript 7.0 is een grote release (&lt;a href="https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/"&gt;de beta verscheen een paar dagen geleden&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Bekijk de &lt;a href="https://code.visualstudio.com/updates/v1_118"&gt;volledige release-opmerkingen&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>azd-hooks in Python, TypeScript en .NET: genoeg van shell-scripts</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</guid><description>De Azure Developer CLI ondersteunt nu hooks in Python, JavaScript, TypeScript en .NET. Geen contextswitch meer naar Bash alleen voor een migratieScript.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor de originele versie, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Als je ooit een volledig .NET-project had en toch Bash-scripts moest schrijven voor azd-hooks, dan ken je dat gevoel maar al te goed. Waarom overstappen naar shell-syntax voor een pre-provisioning stap wanneer de rest van het project C# is?&lt;/p&gt;
&lt;p&gt;Die frustratie heeft nu een officiële oplossing. De Azure Developer CLI heeft &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;multi-taalondersteuning voor hooks uitgebracht&lt;/a&gt;, en het is precies zo goed als het klinkt.&lt;/p&gt;
&lt;h2 id="wat-zijn-hooks"&gt;Wat zijn hooks&lt;/h2&gt;
&lt;p&gt;Hooks zijn scripts die worden uitgevoerd op cruciale momenten in de &lt;code&gt;azd&lt;/code&gt;-levenscyclus — voor provisioning, na deployment, en meer. Ze worden gedefinieerd in &lt;code&gt;azure.yaml&lt;/code&gt; en maken het mogelijk om aangepaste logica te injecteren zonder de CLI aan te passen.&lt;/p&gt;
&lt;p&gt;Voorheen werden alleen Bash en PowerShell ondersteund. Nu kun je &lt;strong&gt;Python, JavaScript, TypeScript of .NET&lt;/strong&gt; gebruiken — en &lt;code&gt;azd&lt;/code&gt; regelt de rest automatisch.&lt;/p&gt;
&lt;h2 id="hoe-detectie-werkt"&gt;Hoe detectie werkt&lt;/h2&gt;
&lt;p&gt;Wijs de hook naar een bestand en &lt;code&gt;azd&lt;/code&gt; leidt de taal af uit de extensie:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.py&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postdeploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/seed.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Geen extra configuratie nodig. Als de extensie onduidelijk is, kun je &lt;code&gt;kind: python&lt;/code&gt; (of de betreffende taal) expliciet toevoegen.&lt;/p&gt;
&lt;h2 id="taalspecifieke-details"&gt;Taalspecifieke details&lt;/h2&gt;
&lt;h3 id="python"&gt;Python&lt;/h3&gt;
&lt;p&gt;Plaats een &lt;code&gt;requirements.txt&lt;/code&gt; of &lt;code&gt;pyproject.toml&lt;/code&gt; naast het script (of in een bovenliggende map). &lt;code&gt;azd&lt;/code&gt; maakt automatisch een virtuele omgeving, installeert afhankelijkheden en voert het script uit.&lt;/p&gt;
&lt;h3 id="javascript-en-typescript"&gt;JavaScript en TypeScript&lt;/h3&gt;
&lt;p&gt;Hetzelfde patroon — een &lt;code&gt;package.json&lt;/code&gt; bij het script en &lt;code&gt;azd&lt;/code&gt; voert eerst &lt;code&gt;npm install&lt;/code&gt; uit. Voor TypeScript wordt &lt;code&gt;npx tsx&lt;/code&gt; gebruikt, zonder compilatiestap en zonder &lt;code&gt;tsconfig.json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="net"&gt;.NET&lt;/h3&gt;
&lt;p&gt;Twee beschikbare modi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Projectmodus&lt;/strong&gt;: Als er een &lt;code&gt;.csproj&lt;/code&gt; naast het script staat, voert &lt;code&gt;azd&lt;/code&gt; automatisch &lt;code&gt;dotnet restore&lt;/code&gt; en &lt;code&gt;dotnet build&lt;/code&gt; uit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Single-file modus&lt;/strong&gt;: Op .NET 10+ kunnen zelfstandige &lt;code&gt;.cs&lt;/code&gt;-bestanden direct worden uitgevoerd via &lt;code&gt;dotnet run script.cs&lt;/code&gt;. Geen projectbestand vereist.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="executor-specifieke-configuratie"&gt;Executor-specifieke configuratie&lt;/h2&gt;
&lt;p&gt;Elke taal ondersteunt een optioneel &lt;code&gt;config&lt;/code&gt;-blok:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;packageManager&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;pnpm&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;configuration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Release&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;framework&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;net10.0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="waarom-dit-belangrijk-is-voor-net-ontwikkelaars"&gt;Waarom dit belangrijk is voor .NET-ontwikkelaars&lt;/h2&gt;
&lt;p&gt;Hooks waren de laatste plek in een azd-gebaseerd project die een taalwissel afdwong. Nu kan de volledige deployment pipeline — van applicatiecode tot lifecycle-hooks — in één taal leven. Bestaande .NET-utilities zijn herbruikbaar in hooks, gedeelde bibliotheken kunnen worden gerefereerd en shell-scriptonderhoud is verleden tijd.&lt;/p&gt;
&lt;h2 id="conclusie"&gt;Conclusie&lt;/h2&gt;
&lt;p&gt;Een van die veranderingen die klein lijken maar dagelijks veel wrijving uit de azd-workflow halen. Multi-taalondersteuning voor hooks is nu beschikbaar — bekijk de &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;officiële post&lt;/a&gt; voor de volledige documentatie.&lt;/p&gt;</content:encoded></item><item><title>Foundry Toolboxes: Eén endpoint voor alle tools van je AI-agenten</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</guid><description>Microsoft Foundry heeft Toolboxes uitgebracht in public preview — een manier om AI-agenttools te beheren en bloot te stellen via één MCP-compatibel endpoint.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor de originele versie, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Er is een probleem dat triviaal lijkt totdat je het zelf tegenkomt: de organisatie bouwt meerdere AI-agenten, elk heeft tools nodig, en elk team configureert die van de grond af. Dezelfde webzoekintegratie, dezelfde Azure AI Search-configuratie, dezelfde GitHub MCP-serververbinding — maar in een ander repository, door een ander team, met andere credentials en zonder gedeeld beheer.&lt;/p&gt;
&lt;p&gt;Microsoft Foundry heeft zojuist &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;Toolboxes&lt;/a&gt; uitgebracht in public preview — een directe oplossing voor dit probleem.&lt;/p&gt;
&lt;h2 id="wat-is-een-toolbox"&gt;Wat is een Toolbox?&lt;/h2&gt;
&lt;p&gt;Een Toolbox is een benoemde, herbruikbare toolbundel die je eenmalig definieert in Foundry en beschikbaar stelt via één MCP-compatibel endpoint. Elke agent-runtime die MCP spreekt, kan het consumeren — geen lock-in bij Foundry Agents.&lt;/p&gt;
&lt;p&gt;De belofte is eenvoudig: &lt;strong&gt;build once, consume anywhere&lt;/strong&gt;. Definieer de tools, configureer authenticatie centraal (OAuth passthrough, Entra beheerde identiteit), publiceer het endpoint. Elke agent die die tools nodig heeft, verbindt zich eenmalig en krijgt ze allemaal.&lt;/p&gt;
&lt;h2 id="de-vier-pijlers-twee-vandaag-beschikbaar"&gt;De vier pijlers (twee vandaag beschikbaar)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pijler&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Wat het doet&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Discover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Binnenkort&lt;/td&gt;
&lt;td&gt;Goedgekeurde tools vinden zonder handmatig zoeken&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Build&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Beschikbaar&lt;/td&gt;
&lt;td&gt;Tools samenvoegen in een herbruikbare bundel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Consume&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Beschikbaar&lt;/td&gt;
&lt;td&gt;Één MCP-endpoint stelt alle tools beschikbaar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Govern&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Binnenkort&lt;/td&gt;
&lt;td&gt;Centrale authenticatie + observability voor alle tool-calls&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="praktisch-voorbeeld"&gt;Praktisch voorbeeld&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.identity&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.projects&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&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="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;FOUNDRY_PROJECT_ENDPOINT&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="n"&gt;credential&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;DefaultAzureCredential&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="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;toolbox_version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toolboxes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create_toolbox_version&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="n"&gt;toolbox_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;customer-feedback-triaging-toolbox&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="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Zoek in documentatie en reageer op GitHub-issues.&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="n"&gt;tools&lt;/span&gt;&lt;span class="o"&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="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;web_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Zoek openbare documentatie&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="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;azure_ai_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;index_name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;internal-docs&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="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;mcp_server&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;server_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://your-github-mcp-server.com&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="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;Na publicatie geeft Foundry een uniform endpoint. Één verbinding, alle tools.&lt;/p&gt;
&lt;h2 id="geen-lock-in-bij-foundry-agents"&gt;Geen lock-in bij Foundry Agents&lt;/h2&gt;
&lt;p&gt;Toolboxes worden &lt;strong&gt;aangemaakt en beheerd&lt;/strong&gt; in Foundry, maar het consumptieoppervlak is het open MCP-protocol. Ze zijn bruikbaar vanuit eigen agents (Microsoft Agent Framework, LangGraph), GitHub Copilot en andere MCP-compatibele IDEs.&lt;/p&gt;
&lt;h2 id="waarom-dit-nu-belangrijk-is"&gt;Waarom dit nu belangrijk is&lt;/h2&gt;
&lt;p&gt;De multi-agent golf bereikt productie. Elke nieuwe agent is een nieuw oppervlak voor gedupliceerde configuratie, verlopen credentials en inconsistent gedrag. De Build + Consume-basis is voldoende om met centraliseren te beginnen. Wanneer de Govern-pijler komt, beschikt men over een volledig observeerbare, centraal gestuurde tool-laag voor de gehele agentenvloot.&lt;/p&gt;
&lt;h2 id="conclusie"&gt;Conclusie&lt;/h2&gt;
&lt;p&gt;Dit is nog vroeg — public preview, Python SDK eerst, met Discover en Govern nog in aantocht. Maar het model is degelijk en het MCP-native design zorgt dat het werkt met de tools die al worden gebouwd. Alle details in de &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;officiële aankondiging&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Windows App Dev CLI v0.3: F5 vanuit de terminal en UI Automation voor agenten</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/</guid><description>Windows App Development CLI v0.3 brengt winapp run voor debug-launches vanuit de terminal, winapp ui voor UI-automatisering en een nieuw NuGet-pakket dat dotnet run laat werken met gepackagede apps.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor de originele versie, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;De F5-ervaring in Visual Studio is fantastisch. Maar VS openen alleen om een gepackagede Windows-app te starten en te debuggen — of dat nu in een CI-pipeline is, een geautomatiseerde workflow, of wanneer een AI-agent de tests uitvoert — is te veel gevraagd.&lt;/p&gt;
&lt;p&gt;Windows App Development CLI v0.3 is &lt;a href="https://devblogs.microsoft.com/ifdef-windows/windows-app-development-cli-v0-3-new-run-and-ui-commands-plus-dotnet-run-support-for-packaged-apps/"&gt;net uitgekomen&lt;/a&gt; en pakt dit direct aan met twee hoofdfuncties: &lt;code&gt;winapp run&lt;/code&gt; en &lt;code&gt;winapp ui&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="winapp-run-f5-vanuit-overal"&gt;winapp run: F5 vanuit overal&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;winapp run&lt;/code&gt; neemt een ongepackagede app-map en een manifest, en doet alles wat VS doet bij een debug-launch: registreert een loose package, start de app op en bewaart de &lt;code&gt;LocalState&lt;/code&gt; tussen re-deploys.&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;&lt;span class="c1"&gt;# Bouw de app, voer hem dan uit als gepackagede app&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winapp run ./bin/Debug
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Werkt voor WinUI, WPF, WinForms, Console, Avalonia en meer. De modi zijn ontworpen voor zowel developers als geautomatiseerde workflows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--detach&lt;/code&gt;&lt;/strong&gt;: Start op en geeft meteen de controle terug aan de terminal. Perfect voor CI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--unregister-on-exit&lt;/code&gt;&lt;/strong&gt;: Ruimt het geregistreerde package op bij het sluiten van de app.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--debug-output&lt;/code&gt;&lt;/strong&gt;: Legt &lt;code&gt;OutputDebugString&lt;/code&gt;-berichten en uitzonderingen real-time vast.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="nieuw-nuget-pakket-dotnet-run-voor-gepackagede-apps"&gt;Nieuw NuGet-pakket: dotnet run voor gepackagede apps&lt;/h2&gt;
&lt;p&gt;Voor .NET-developers is er een nieuw NuGet-pakket: &lt;code&gt;Microsoft.Windows.SDK.BuildTools.WinApp&lt;/code&gt;. Na installatie beheert &lt;code&gt;dotnet run&lt;/code&gt; de gehele inner loop: bouwen, een loose-layout package voorbereiden, registreren bij Windows en starten — alles in één stap.&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;winapp init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# of&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet add package Microsoft.Windows.SDK.BuildTools.WinApp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="winapp-ui-ui-automation-vanuit-de-commandoregel"&gt;winapp ui: UI Automation vanuit de commandoregel&lt;/h2&gt;
&lt;p&gt;Dit is de functie die agentische scenario&amp;rsquo;s mogelijk maakt. &lt;code&gt;winapp ui&lt;/code&gt; biedt volledige UI Automation-toegang tot elke actieve Windows-app — WPF, WinForms, Win32, Electron, WinUI3 — direct vanuit de terminal.&lt;/p&gt;
&lt;p&gt;Wat mogelijk is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alle vensters op het hoogste niveau weergeven&lt;/li&gt;
&lt;li&gt;De volledige UI Automation-boom van een venster doorlopen&lt;/li&gt;
&lt;li&gt;Elementen zoeken op naam, type of automatiserings-ID&lt;/li&gt;
&lt;li&gt;Klikken, aanroepen en waarden instellen&lt;/li&gt;
&lt;li&gt;Screenshots maken&lt;/li&gt;
&lt;li&gt;Wachten op het verschijnen van elementen — ideaal voor testsynchronisatie&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;winapp ui&lt;/code&gt; combineren met &lt;code&gt;winapp run&lt;/code&gt; geeft een complete build → starten → verifiëren workflow vanuit de terminal. Een agent kan de app uitvoeren, de UI-status inspecteren, programmatisch interageren en het resultaat valideren.&lt;/p&gt;
&lt;h2 id="andere-nieuwigheden"&gt;Andere nieuwigheden&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp unregister&lt;/code&gt;&lt;/strong&gt;: Verwijdert een sideloaded package na gebruik.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp manifest add-alias&lt;/code&gt;&lt;/strong&gt;: Voegt een alias toe om de app op naam te starten vanuit de terminal.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tab-aanvulling&lt;/strong&gt;: Configureer PowerShell-aanvulling met één commando.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hoe-te-verkrijgen"&gt;Hoe te verkrijgen&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;winget install Microsoft.WinAppCli
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# of&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g @microsoft/winappcli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;De CLI is in publieke preview. Bekijk de &lt;a href="https://github.com/microsoft/WinAppCli"&gt;GitHub-repository&lt;/a&gt; voor volledige documentatie en de &lt;a href="https://devblogs.microsoft.com/ifdef-windows/windows-app-development-cli-v0-3-new-run-and-ui-commands-plus-dotnet-run-support-for-packaged-apps/"&gt;originele aankondiging&lt;/a&gt; voor alle details.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.117: Agenten Krijgen Hun Eigen Git-branches en Ik Ben Er Helemaal Voor</title><link>https://thedotnetblog.com/nl/posts/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/nl/posts/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/</guid><description>VS Code 1.117 brengt worktree-isolatie voor agentsessies, persistente Autopilot-modus en subagentondersteuning. De agentische coderingworkflow is een stuk reëler geworden.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-117-agents-autopilot-worktrees/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;De grens tussen &amp;ldquo;AI-assistent&amp;rdquo; en &amp;ldquo;AI-teamlid&amp;rdquo; wordt steeds dunner. VS Code 1.117 is zojuist geland en de &lt;a href="https://code.visualstudio.com/updates/v1_117"&gt;volledige releasenotes&lt;/a&gt; zijn gevuld, maar het verhaal is duidelijk: agenten worden eerste klas burgers in je workflow.&lt;/p&gt;
&lt;p&gt;Dit is wat er echt toe doet.&lt;/p&gt;
&lt;h2 id="autopilot-modus-onthoudt-eindelijk-je-voorkeur"&gt;Autopilot-modus onthoudt eindelijk je voorkeur&lt;/h2&gt;
&lt;p&gt;Eerder moest je Autopilot opnieuw inschakelen elke keer dat je een nieuwe sessie startte. Vervelend. Nu blijft je machtigingsmodus bewaard tussen sessies, en je kunt de standaard instellen.&lt;/p&gt;
&lt;p&gt;De Agent Host ondersteunt drie sessieconfiguraties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt; — tools vragen om bevestiging voordat ze worden uitgevoerd&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bypass&lt;/strong&gt; — keurt alles automatisch goed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autopilot&lt;/strong&gt; — volledig autonoom, beantwoordt zijn eigen vragen en gaat door&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Als je een nieuw .NET-project scaffoldt met migraties, Docker en CI — stel het eén keer in op Autopilot en vergeet het. Die voorkeur blijft.&lt;/p&gt;
&lt;h2 id="worktree--en-git-isolatie-voor-agentsessies"&gt;Worktree- en git-isolatie voor agentsessies&lt;/h2&gt;
&lt;p&gt;Dit is de grote. Agentsessies ondersteunen nu volledige worktree- en git-isolatie. Dat betekent dat wanneer een agent aan een taak werkt, het zijn eigen branch en werkmap krijgt. Je hoofdbranch blijft onaangetast.&lt;/p&gt;
&lt;p&gt;Nog beter — Copilot CLI genereert betekenisvolle branchnamen voor deze worktree-sessies. Geen &lt;code&gt;agent-session-abc123&lt;/code&gt; meer. Je krijgt iets dat daadwerkelijk beschrijft wat de agent doet.&lt;/p&gt;
&lt;p&gt;Voor .NET-ontwikkelaars die meerdere feature-branches uitvoeren of bugs oplossen terwijl een lange scaffoldingtaak loopt, is dit een game changer.&lt;/p&gt;
&lt;h2 id="subagenten-en-agentteams"&gt;Subagenten en agentteams&lt;/h2&gt;
&lt;p&gt;Het Agent Host Protocol ondersteunt nu subagenten. Een agent kan andere agenten starten om delen van een taak te verwerken. De hoofdagent coördineert en gespecialiseerde agenten verwerken de stukken.&lt;/p&gt;
&lt;h2 id="terminaluitvoer-automatisch-inbegrepen-wanneer-agenten-invoer-sturen"&gt;Terminaluitvoer automatisch inbegrepen wanneer agenten invoer sturen&lt;/h2&gt;
&lt;p&gt;Klein maar betekenisvol. Wanneer een agent invoer naar de terminal stuurt, wordt de terminaluitvoer nu automatisch opgenomen in de context. Als je ooit een agent &lt;code&gt;dotnet build&lt;/code&gt; hebt zien uitvoeren, zien mislukken en dan nog een ronde nodig had alleen om de fout te zien — die wrijving is weg.&lt;/p&gt;
&lt;h2 id="zelfupdatende-agents-app-op-macos"&gt;Zelfupdatende Agents-app op macOS&lt;/h2&gt;
&lt;p&gt;De standalone Agents-app op macOS werkt zichzelf nu automatisch bij. Geen handmatig downloaden van nieuwe versies meer.&lt;/p&gt;
&lt;h2 id="de-conclusie"&gt;De conclusie&lt;/h2&gt;
&lt;p&gt;VS Code 1.117 is infrastructuur. Worktree-isolatie, persistente machtigingen, subagentprotocollen — dit zijn de bouwstenen voor een workflow waarbij agenten echte, parallelle taken uitvoeren zonder je code aan te raken. Als je met .NET bouwt en je nog niet in de agentische workflow hebt verdiept, is dit eerlijk gezegd het moment om te beginnen.&lt;/p&gt;</content:encoded></item><item><title>Docker Sandbox Laat Copilot-agents Code Refactoren Zonder Je Machine te Riskeren</title><link>https://thedotnetblog.com/nl/posts/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/nl/posts/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/</guid><description>Docker Sandbox geeft GitHub Copilot-agents een veilige microVM om vrij te refactoren — geen toestemmingsprompts, geen risico voor de host. Dit is waarom het alles verandert voor grootschalige .NET-modernisering.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/copilot-docker-sandbox-agentic-refactoring/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Als je Copilots agentmodus hebt gebruikt voor iets meer dan kleine bewerkingen, ken je de pijn. Elke bestandsschrijfoperatie, elk terminalopdracht — weer een toestemmingsprompt.&lt;/p&gt;
&lt;p&gt;Het Azure-team heeft zojuist een bericht gepubliceerd over &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 voor GitHub Copilot-agents&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="wat-docker-sandbox-je-eigenlijk-geeft"&gt;Wat Docker Sandbox je eigenlijk geeft&lt;/h2&gt;
&lt;p&gt;Het basisidee is eenvoudig: een lichtgewicht microVM opstarten met een volledige Linux-omgeving, je werkruimte erin synchroniseren, en de Copilot-agent vrij laten opereren binnenin.&lt;/p&gt;
&lt;p&gt;Dit is meer dan &amp;ldquo;dingen in een container draaien&amp;rdquo;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bidirectionele werkruimtesynchronisatie&lt;/strong&gt; die absolute paden behoudt&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privé Docker-daemon&lt;/strong&gt; die in de microVM draait&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP/HTTPS-filterproxy&amp;rsquo;s&lt;/strong&gt; die netwerktoegang beheren&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;YOLO-modus&lt;/strong&gt; — de agent draait zonder toestemmingsprompts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="waarom-net-ontwikkelaars-dit-moeten-bijhouden"&gt;Waarom .NET-ontwikkelaars dit moeten bijhouden&lt;/h2&gt;
&lt;p&gt;Met Docker Sandbox kun je een Copilot-agent op een project richten, het vrijelijk laten refactoren in de microVM, &lt;code&gt;dotnet build&lt;/code&gt; en &lt;code&gt;dotnet test&lt;/code&gt; uitvoeren om te valideren, en alleen wijzigingen accepteren die daadwerkelijk werken.&lt;/p&gt;
&lt;h2 id="conclusie"&gt;Conclusie&lt;/h2&gt;
&lt;p&gt;Docker Sandbox lost de fundamentele spanning van agentic coding op: agents hebben vrijheid nodig om nuttig te zijn, maar vrijheid op je host-machine is gevaarlijk. MicroVM&amp;rsquo;s geven je allebei.&lt;/p&gt;</content:encoded></item><item><title>Stop met het Bewaken van je Terminal: Aspire's Losstaande Modus Verandert de Workflow</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/</guid><description>Aspire 13.2 laat je AppHost op de achtergrond uitvoeren en je terminal terugkrijgen. Gecombineerd met nieuwe CLI-opdrachten en agentondersteuning is dit een grotere deal dan het klinkt.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Elke keer dat je een Aspire AppHost uitvoert, is je terminal weg. Vergrendeld. Bezet totdat je Ctrl+C uitvoert. Wil je een snel commando uitvoeren? Open een nieuw tabblad. Logs controleren? Nog een tabblad. Deze kleine wrijving telt snel op.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 lost dit op. James Newton-King &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;heeft alle details opgeschreven&lt;/a&gt;, en eerlijk gezegd is dit een van die functies die onmiddellijk veranderen hoe je werkt.&lt;/p&gt;
&lt;h2 id="losstaande-modus-één-commando-terminal-terug"&gt;Losstaande modus: één commando, terminal terug&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;aspire start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dit is de afkorting voor &lt;code&gt;aspire run --detach&lt;/code&gt;. Je AppHost start op de achtergrond en je krijgt je terminal onmiddellijk terug.&lt;/p&gt;
&lt;h2 id="beheren-wat-er-draait"&gt;Beheren wat er draait&lt;/h2&gt;
&lt;p&gt;Op de achtergrond draaien is alleen nuttig als je daadwerkelijk kunt beheren wat er draait. Aspire 13.2 levert een volledige set CLI-opdrachten:&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;&lt;span class="c1"&gt;# Lijst alle draaiende AppHosts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire ps
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Inspecteer de status van een specifieke AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire describe
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stream logs van een draaiende AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire logs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stop een specifieke AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire stop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="combineer-het-met-de-geïsoleerde-modus"&gt;Combineer het met de geïsoleerde modus&lt;/h2&gt;
&lt;p&gt;De losstaande modus combineert natuurlijk met de geïsoleerde modus:&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;aspire start --isolated
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire start --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Elke instantie krijgt willekeurige poorten, afzonderlijke geheimen en zijn eigen levenscyclus.&lt;/p&gt;
&lt;h2 id="waarom-dit-groot-is-voor-coding-agents"&gt;Waarom dit groot is voor coding agents&lt;/h2&gt;
&lt;p&gt;Een coding agent die in je terminal werkt, kan nu:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;De app starten met &lt;code&gt;aspire start&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;De status opvragen met &lt;code&gt;aspire describe&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Logs controleren met &lt;code&gt;aspire logs&lt;/code&gt; om problemen te diagnosticeren&lt;/li&gt;
&lt;li&gt;Stoppen met &lt;code&gt;aspire stop&lt;/code&gt; als klaar&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;aspire agent init&lt;/code&gt; uitvoeren stelt een Aspire-vaardigheidsbestand in dat agents deze opdrachten leert.&lt;/p&gt;
&lt;h2 id="samenvatting"&gt;Samenvatting&lt;/h2&gt;
&lt;p&gt;De losstaande modus is een workflow-upgrade vermomd als een eenvoudige vlag. Lees de &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;volledige post&lt;/a&gt; en haal Aspire 13.2 met &lt;code&gt;aspire update --self&lt;/code&gt;.&lt;/p&gt;</content:encoded></item><item><title>Azure MCP-tools zijn nu Ingebouwd in Visual Studio 2022 — Geen Extensie Nodig</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/</guid><description>Azure MCP-tools worden meegeleverd als onderdeel van de Azure-ontwikkelworkload in Visual Studio 2022. Meer dan 230 tools, 45 Azure-services, nul te installeren extensies.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Als je de Azure MCP-tools in Visual Studio hebt gebruikt via de afzonderlijke extensie, ken je de procedure — VSIX installeren, herstarten, hopen dat het niet stukgaat, versieverschillen beheren. Die wrijving is weg.&lt;/p&gt;
&lt;p&gt;Yun Jung Choi &lt;a href="https://devblogs.microsoft.com/visualstudio/azure-mcp-tools-now-ship-built-into-visual-studio-2022-no-extension-required/"&gt;kondigde aan&lt;/a&gt; dat Azure MCP-tools nu rechtstreeks worden meegeleverd als onderdeel van de Azure-ontwikkelworkload in Visual Studio 2022. Geen extensie. Geen VSIX.&lt;/p&gt;
&lt;h2 id="hoe-in-te-schakelen"&gt;Hoe in te schakelen&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Update naar Visual Studio 2022 &lt;strong&gt;17.14.30&lt;/strong&gt; of hoger&lt;/li&gt;
&lt;li&gt;Zorg ervoor dat de workload &lt;strong&gt;Azure development&lt;/strong&gt; is geïnstalleerd&lt;/li&gt;
&lt;li&gt;Open GitHub Copilot Chat&lt;/li&gt;
&lt;li&gt;Klik op de knop &lt;strong&gt;Tools selecteren&lt;/strong&gt; (het pictogram met twee moersleutels)&lt;/li&gt;
&lt;li&gt;Zet &lt;strong&gt;Azure MCP Server&lt;/strong&gt; aan&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Blijft ingeschakeld tussen sessies.&lt;/p&gt;
&lt;h2 id="kanttekening"&gt;Kanttekening&lt;/h2&gt;
&lt;p&gt;De tools zijn standaard uitgeschakeld — je moet ze inschakelen. Voor .NET-ontwikkelaars in Visual Studio verwijdert dit nog een reden om context te wisselen naar de Azure-portal.&lt;/p&gt;</content:encoded></item><item><title>azd update — Één Opdracht voor Al je Package Managers</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-update-universal-upgrade-command/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-update-universal-upgrade-command/</guid><description>De Azure Developer CLI heeft nu een universele updateopdracht die werkt ongeacht hoe je het hebt geïnstalleerd — winget, Homebrew, Chocolatey of installatiescript.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-update-universal-upgrade-command/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ken je dat bericht &amp;ldquo;Een nieuwe versie van azd is beschikbaar&amp;rdquo; dat elke paar weken verschijnt? De boodschap die je wegklikt omdat je niet meer weet of je &lt;code&gt;azd&lt;/code&gt; via winget, Homebrew of dat curl-script van zes maanden geleden hebt geïnstalleerd? Dat is eindelijk opgelost.&lt;/p&gt;
&lt;p&gt;Microsoft heeft zojuist &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;&lt;code&gt;azd update&lt;/code&gt;&lt;/a&gt; uitgebracht — één opdracht die de Azure Developer CLI bijwerkt naar de nieuwste versie, ongeacht hoe je het oorspronkelijk hebt geïnstalleerd.&lt;/p&gt;
&lt;h2 id="hoe-het-werkt"&gt;Hoe het werkt&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;azd update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dat is alles. Voor vroege toegang tot nieuwe functies:&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;azd update --channel daily
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update --channel stable
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;De opdracht detecteert je huidige installatiemethode en gebruikt het juiste updatemechanisme.&lt;/p&gt;
&lt;h2 id="de-kleine-vangst"&gt;De kleine vangst&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd update&lt;/code&gt; wordt geleverd vanaf versie 1.23.x. Als je een oudere versie hebt, moet je één laatste handmatige update uitvoeren. Daarna regelt &lt;code&gt;azd update&lt;/code&gt; alles.&lt;/p&gt;
&lt;h2 id="waarom-het-uitmaakt"&gt;Waarom het uitmaakt&lt;/h2&gt;
&lt;p&gt;Dit is een kleine kwaliteitsverbetering, maar voor degenen onder ons die &lt;code&gt;azd&lt;/code&gt; dagelijks gebruiken voor het implementeren van AI-agents en Aspire-apps naar Azure, is het bijblijven belangrijk.&lt;/p&gt;
&lt;p&gt;Lees de &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;volledige aankondiging&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>.NET Aspire 13.2 Wil de Beste Vriend van je AI-Agent Zijn</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/</guid><description>Aspire 13.2 gaat all-in op agentische ontwikkeling — gestructureerde CLI-uitvoer, geïsoleerde runs, zelfherstellende omgevingen en volledige OpenTelemetry-data zodat je AI-agents je apps daadwerkelijk kunnen bouwen, uitvoeren en observeren.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ken je dat moment waarop je AI-codeagent solide code schrijft, je enthousiast wordt, en dan valt alles uit elkaar bij het proberen het &lt;em&gt;uit te voeren&lt;/em&gt;? Poortconflicten, phantom processes, verkeerde omgevingsvariabelen — plotseling brandt je agent tokens voor het oplossen van opstartproblemen in plaats van het bouwen van functies.&lt;/p&gt;
&lt;p&gt;Het Aspire-team heeft een &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;zeer doordachte post&lt;/a&gt; gepubliceerd over precies dit probleem, en hun antwoord is overtuigend: Aspire 13.2 is ontworpen niet alleen voor mensen, maar voor AI-agents.&lt;/p&gt;
&lt;h2 id="aspire-als-agentinfrastructuur"&gt;Aspire als agentinfrastructuur&lt;/h2&gt;
&lt;p&gt;Dit is wat Aspire 13.2 meebrengt voor agentische ontwikkeling:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Je hele stack in getypte code.&lt;/strong&gt; De AppHost definieert je volledige topologie — in compileerbare TypeScript of C#:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createBuilder&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="kr"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;./.modules/aspire.js&amp;#39;&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;createBuilder&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;postgres&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addPostgres&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pg&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;addDatabase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;catalog&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="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cache&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addRedis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cache&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&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 class="nx"&gt;addNodeApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;api&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./api&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;src/index.ts&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="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withHttpEndpoint&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PORT&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="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;postgres&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="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cache&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&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 class="nx"&gt;addViteApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;frontend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./frontend&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="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api&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="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;waitFor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;build&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&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;strong&gt;Één commando voor alles.&lt;/strong&gt; In plaats van jongleren met &lt;code&gt;docker compose up&lt;/code&gt;, &lt;code&gt;npm run dev&lt;/code&gt; en database-opstartscripts — alles is gewoon &lt;code&gt;aspire start&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Geïsoleerde modus voor parallelle agents.&lt;/strong&gt; Met &lt;code&gt;--isolated&lt;/code&gt; krijgt elke Aspire-run zijn eigen willekeurige poorten en afzonderlijke gebruikersgeheimen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agentogen via telemetrie.&lt;/strong&gt; De Aspire CLI stelt tijdens development volledige OpenTelemetry-data bloot — traces, metrics, gestructureerde logs.&lt;/p&gt;
&lt;h2 id="de-bowlingbaan-bumper-analogie"&gt;De bowlingbaan-bumper analogie&lt;/h2&gt;
&lt;p&gt;Het Aspire-team gebruikt een geweldige analogie: denk aan Aspire als bowlingbaanbumpers voor AI-agents. Als de agent niet perfect is (en dat zal hij niet zijn), houden de bumpers hem van het gooien in de goot.&lt;/p&gt;
&lt;h2 id="samenvatting"&gt;Samenvatting&lt;/h2&gt;
&lt;p&gt;Aspire 13.2 is niet alleen een framework voor gedistribueerde apps — het wordt essentiële agentinfrastructuur. Lees de &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;volledige post&lt;/a&gt; van het Aspire-team.&lt;/p&gt;</content:encoded></item><item><title>Aspire's Geïsoleerde Modus Lost de Port-Conflict Nachtmerrie op voor Parallelle Ontwikkeling</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/</guid><description>Aspire 13.2 introduceert --isolated modus: willekeurige poorten, afzonderlijke geheimen en nul botsingen bij het uitvoeren van meerdere instanties van dezelfde AppHost. Perfect voor AI-agents, worktrees en parallelle workflows.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Als je ooit twee instanties van hetzelfde project tegelijkertijd hebt geprobeerd uit te voeren, ken je de pijn. Poort 8080 is al in gebruik.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 lost dit op met één vlag. James Newton-King heeft &lt;a href="https://devblogs.microsoft.com/aspire/aspire-isolated-mode-parallel-development/"&gt;alle details opgeschreven&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="de-oplossing---isolated"&gt;De oplossing: &lt;code&gt;--isolated&lt;/code&gt;&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;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Elke run krijgt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Willekeurige poorten&lt;/strong&gt; — geen botsingen tussen instanties&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geïsoleerde gebruikersgeheimen&lt;/strong&gt; — verbindingsstrings en API-sleutels blijven afzonderlijk per instantie&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="echte-scenarios"&gt;Echte scenario&amp;rsquo;s&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Meerdere checkouts:&lt;/strong&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;&lt;span class="c1"&gt;# Terminal 1&lt;/span&gt;
&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; ~/projects/my-app-feature
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Terminal 2&lt;/span&gt;
&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; ~/projects/my-app-bugfix
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Beide draaien zonder conflicten.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Achtergrondagents in VS Code.&lt;/strong&gt; Wanneer de achtergrondagent van Copilot Chat een git worktree aanmaakt om onafhankelijk te werken, zorgt de geïsoleerde modus ervoor dat beide instanties gewoon werken.&lt;/p&gt;
&lt;h2 id="samenvatting"&gt;Samenvatting&lt;/h2&gt;
&lt;p&gt;Geïsoleerde modus is een kleine functie die een reëel, steeds vaker voorkomend probleem oplost. Haal 13.2 op met &lt;code&gt;aspire update --self&lt;/code&gt;.&lt;/p&gt;</content:encoded></item><item><title>Die Visual Studio Zwevende Vensters Instelling die Je Niet Kende (Maar Zou Moeten Kennen)</title><link>https://thedotnetblog.com/nl/posts/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/nl/posts/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</guid><description>Een verborgen Visual Studio-instelling geeft je volledige controle over zwevende vensters — onafhankelijke taakbalkitems, correct gedrag op meerdere monitoren en perfecte FancyZones-integratie. Één dropdown verandert alles.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Als je meerdere monitoren gebruikt met Visual Studio (en eerlijk gezegd, wie doet dat tegenwoordig niet), heb je waarschijnlijk de ergernis ervaren: zwevende toolvensters verdwijnen als je de hoofd-IDE minimaliseert, ze blijven altijd bovenop alles staan, en ze verschijnen niet als aparte taakbalkknoppen. Het werkt voor sommige workflows, maar voor multi-monitoropstellingen is het frustrerend.&lt;/p&gt;
&lt;p&gt;Mads Kristensen van het Visual Studio-team &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;deelde een weinig bekende instelling&lt;/a&gt; die volledig verandert hoe zwevende vensters zich gedragen. Één dropdown. Dat is alles.&lt;/p&gt;
&lt;h2 id="de-instelling"&gt;De instelling&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;De dropdown &amp;ldquo;These floating windows are owned by the main window&amp;rdquo; heeft drie opties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt; — volledige onafhankelijkheid. Elk zwevend venster krijgt zijn eigen taakbalkvermelding en gedraagt zich als een normaal Windows-venster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Windows&lt;/strong&gt; (standaard) — documenten zweven vrij, toolvensters blijven gebonden aan de IDE.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documents and Tool Windows&lt;/strong&gt; — klassiek Visual Studio-gedrag, alles gebonden aan het hoofdvenster.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="waarom-none-de-juiste-keuze-is-voor-multi-monitoropstellingen"&gt;Waarom &amp;ldquo;None&amp;rdquo; de juiste keuze is voor multi-monitoropstellingen&lt;/h2&gt;
&lt;p&gt;Stel het in op &lt;strong&gt;None&lt;/strong&gt; en plotseling gedragen al je zwevende toolvensters en documenten zich als echte Windows-applicaties. Ze verschijnen in de taakbalk, blijven zichtbaar als je het hoofd-Visual Studio-venster minimaliseert, en dringen zich niet meer naar voren.&lt;/p&gt;
&lt;p&gt;Combineer dit met &lt;strong&gt;PowerToys FancyZones&lt;/strong&gt; en het is een game changer. Maak aangepaste indelingen over je monitoren, snap je Solution Explorer naar één zone, debugger naar een andere, en codebestanden waar je wilt. Alles blijft op zijn plek, alles is onafhankelijk toegankelijk.&lt;/p&gt;
&lt;h2 id="snelle-aanbevelingen"&gt;Snelle aanbevelingen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multi-monitor power users&lt;/strong&gt;: Stel in op &lt;strong&gt;None&lt;/strong&gt;, combineer met FancyZones&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Occasionele zwevende vensters&lt;/strong&gt;: &lt;strong&gt;Tool Windows&lt;/strong&gt; (standaard) is een solide middenweg&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traditionele workflow&lt;/strong&gt;: &lt;strong&gt;Documents and Tool Windows&lt;/strong&gt; houdt alles klassiek&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pro tip: &lt;strong&gt;Ctrl + dubbelklikken&lt;/strong&gt; op de titelbalk van een toolvenster om het direct te laten zweven of te docken. Geen herstart nodig na het wijzigen van de instelling.&lt;/p&gt;
&lt;h2 id="afronding"&gt;Afronding&lt;/h2&gt;
&lt;p&gt;Het is een van die &amp;ldquo;Ik kan niet geloven dat ik dit niet wist&amp;rdquo; instellingen. Als zwevende vensters in Visual Studio je ooit hebben geërgerd, ga dit nu wijzigen.&lt;/p&gt;
&lt;p&gt;Lees het &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;volledige bericht&lt;/a&gt; voor details en screenshots.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.116 — Agents-app Krijgt Toetsenbordnavigatie en Bestandscontextvervolledigingen</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-116-agents-app-updates/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-116-agents-app-updates/</guid><description>VS Code 1.116 richt zich op de polish van de Agents-app — speciale sneltoetsen, toegankelijkheidsverbeteringen, bestandscontextvervolledigingen en CSS @import-linkresolutie.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-116-agents-app-updates/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;VS Code 1.116 is de aprilrelease van 2026, en hoewel het lichter is dan sommige recente updates, zijn de wijzigingen gefocust en betekenisvol — vooral als je de Agents-app dagelijks gebruikt.&lt;/p&gt;
&lt;p&gt;Dit is wat er is geland, op basis van de &lt;a href="https://code.visualstudio.com/updates/v1_116"&gt;officiële releasenotes&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="verbeteringen-aan-de-agents-app"&gt;Verbeteringen aan de Agents-app&lt;/h2&gt;
&lt;p&gt;De Agents-app blijft volwassen worden met gebruiksvriendelijkheidspolish die echt verschil maakt in dagelijkse workflows:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Speciale sneltoetsen&lt;/strong&gt; — je kunt nu de Wijzigingen-weergave, de bestandsstructuur binnen Wijzigingen en de Chat Aanpassingen-weergave focussen met speciale opdrachten en sneltoetsen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toegankelijkheidshulpdialoogvenster&lt;/strong&gt; — het drukken op &lt;code&gt;Alt+F1&lt;/code&gt; in het chatinvoervak opent nu een toegankelijkheidshulpdialoogvenster met beschikbare opdrachten en sneltoetsen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bestandscontextvervolledigingen&lt;/strong&gt; — typ &lt;code&gt;#&lt;/code&gt; in de Agents-app chat om bestandscontextvervolledigingen te activeren die zijn gescoped tot je huidige werkruimte.&lt;/p&gt;
&lt;h2 id="css-import-linkresolutie"&gt;CSS &lt;code&gt;@import&lt;/code&gt;-linkresolutie&lt;/h2&gt;
&lt;p&gt;Iets leuks voor frontend-ontwikkelaars: VS Code lost nu CSS &lt;code&gt;@import&lt;/code&gt;-verwijzingen op die node_modules-paden gebruiken. Je kunt via imports zoals &lt;code&gt;@import &amp;quot;some-module/style.css&amp;quot;&lt;/code&gt; &lt;code&gt;Ctrl+klikken&lt;/code&gt; wanneer je bundlers gebruikt.&lt;/p&gt;
&lt;h2 id="afsluiting"&gt;Afsluiting&lt;/h2&gt;
&lt;p&gt;VS Code 1.116 draait om verfijning — de Agents-app navigeerbaarder, toegankelijker en toetsenbordvriendelijker maken. Bekijk de &lt;a href="https://code.visualstudio.com/updates/v1_116"&gt;volledige releasenotes&lt;/a&gt; voor de volledige lijst.&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.115 — Achtergrondterminalnotificaties, SSH-agentmodus en Meer</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-115-agent-improvements/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-115-agent-improvements/</guid><description>VS Code 1.115 brengt achtergrondterminalnotificaties voor agenten, SSH-remote agenthosting, bestandsplakken in terminals en sessiegebonden bewerkingentracking. Dit is wat er toe doet voor .NET-ontwikkelaars.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/vscode-1-115-agent-improvements/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;VS Code 1.115 is zojuist &lt;a href="https://code.visualstudio.com/updates/v1_115"&gt;verschenen&lt;/a&gt;, en hoewel het een lichtere release is wat betreft hoofdfuncties, zijn de agentgerelateerde verbeteringen echt nuttig als je dagelijks met AI-codeassistenten werkt.&lt;/p&gt;
&lt;p&gt;Laat me uitlichten wat er echt de moeite waard is om te weten.&lt;/p&gt;
&lt;h2 id="achtergrondterminals-praten-terug-naar-agenten"&gt;Achtergrondterminals praten terug naar agenten&lt;/h2&gt;
&lt;p&gt;Dit is de uitgelichte functie. Achtergrondterminals informeren agenten nu automatisch wanneer opdrachten zijn voltooid, inclusief de exitcode en terminaluitvoer.&lt;/p&gt;
&lt;p&gt;Waarom is dit belangrijk? Als je de agentmodus van Copilot hebt gebruikt om build-opdrachten of testsuites op de achtergrond uit te voeren, ken je de pijn van &amp;ldquo;is dat al klaar?&amp;rdquo; — achtergrondterminals waren in wezen vuur en vergeet. Nu krijgt de agent een melding wanneer je &lt;code&gt;dotnet build&lt;/code&gt; of &lt;code&gt;dotnet test&lt;/code&gt; is voltooid, ziet de uitvoer en kan dienovereenkomstig reageren.&lt;/p&gt;
&lt;p&gt;Er is ook een nieuwe &lt;code&gt;send_to_terminal&lt;/code&gt;-tool waarmee agenten opdrachten naar achtergrondterminals kunnen sturen met gebruikersbevestiging.&lt;/p&gt;
&lt;h2 id="ssh-remote-agenthosting"&gt;SSH-remote agenthosting&lt;/h2&gt;
&lt;p&gt;VS Code ondersteunt nu verbinding maken met externe machines via SSH, waarbij de CLI automatisch wordt geïnstalleerd en in agenthost-modus wordt gestart.&lt;/p&gt;
&lt;h2 id="bewerkingentracking-in-agentsessies"&gt;Bewerkingentracking in agentsessies&lt;/h2&gt;
&lt;p&gt;Bestandsbewerkingen die tijdens agentsessies zijn gemaakt, worden nu bijgehouden en hersteld, met diffs, ongedaan maken/opnieuw uitvoeren en staatsherstel.&lt;/p&gt;
&lt;h2 id="browsertabbladbewustzijn-en-andere-verbeteringen"&gt;Browsertabbladbewustzijn en andere verbeteringen&lt;/h2&gt;
&lt;p&gt;Nog een paar kwaliteitsverbeteringen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Browsertabbladtracking&lt;/strong&gt; — chat kan nu tabbladen bijhouden die tijdens een sessie zijn geopend en er links naar maken&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bestanden plakken in terminal&lt;/strong&gt; — plak bestanden (inclusief afbeeldingen) in de terminal met Ctrl+V&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testdekking in minimap&lt;/strong&gt; — testdekkingsindicatoren verschijnen nu in de minimap&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Knijpzoom op Mac&lt;/strong&gt; — geïntegreerde browser ondersteunt knijpzoomgebaren&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="afsluiting"&gt;Afsluiting&lt;/h2&gt;
&lt;p&gt;VS Code 1.115 is een incrementele release, maar de agentverbeteringen — achtergrondterminalnotificaties, SSH-agenthosting en bewerkingentracking — zorgen voor een merkbaar soepelere ervaring voor AI-ondersteunde ontwikkeling. Bekijk de &lt;a href="https://code.visualstudio.com/updates/v1_115"&gt;volledige releasenotes&lt;/a&gt; voor elk detail.&lt;/p&gt;</content:encoded></item><item><title>Aspire 13.2 Brengt een Docs CLI — en je AI-Agent Kan die Ook Gebruiken</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</link><pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</guid><description>.NET Aspire 13.2 voegt aspire docs toe — een CLI voor het zoeken, doorbladeren en lezen van officiële documentatie zonder je terminal te verlaten. Werkt ook als tool voor AI-agents.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/aspire-docs-cli-ai-skills/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ken je dat moment waarop je diep in een Aspire AppHost zit, integraties bekabelt, en je precies moet controleren welke parameters de Redis-integratie verwacht? Je alt-tabbt naar je browser, zoekt op aspire.dev. Context verloren.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 heeft &lt;a href="https://devblogs.microsoft.com/aspire/aspire-docs-in-your-terminal/"&gt;een oplossing daarvoor gepubliceerd&lt;/a&gt;. De &lt;code&gt;aspire docs&lt;/code&gt; CLI laat je zoeken in officiële Aspire-documentatie, er doorheen bladeren en het lezen, direct vanuit je terminal.&lt;/p&gt;
&lt;h2 id="drie-opdrachten-nul-browsertabbladen"&gt;Drie opdrachten, nul browsertabbladen&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;&lt;span class="c1"&gt;# Lijst alle docs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Zoek een onderwerp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs search &lt;span class="s2"&gt;&amp;#34;redis&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Lees een volledige pagina&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Slechts één sectie&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration --section &lt;span class="s2"&gt;&amp;#34;Add Redis resource&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="de-ai-agent-invalshoek"&gt;De AI-agent invalshoek&lt;/h2&gt;
&lt;p&gt;Dezelfde &lt;code&gt;aspire docs&lt;/code&gt;-opdrachten werken als tools voor AI-agents. In plaats van Aspire API&amp;rsquo;s te verzinnen op basis van verouderde trainingsdata, kan de agent &lt;code&gt;aspire docs search &amp;quot;postgres&amp;quot;&lt;/code&gt; aanroepen en de officiële integratiedocumentatie lezen.&lt;/p&gt;
&lt;h2 id="samenvatting"&gt;Samenvatting&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;aspire docs&lt;/code&gt; is een kleine functie die een echt probleem netjes oplost. Bekijk &lt;a href="https://davidpine.dev/posts/aspire-docs-mcp-tools/"&gt;David Pine&amp;rsquo;s diepgaande analyse&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>azd Laat Je Nu AI-Agents Lokaal Uitvoeren en Debuggen — Dit Veranderde in Maart 2026</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</guid><description>Azure Developer CLI bracht in maart 2026 zeven releases uit. Highlights: een lokale loop voor uitvoeren en debuggen van AI-agents, GitHub Copilot-integratie in projectopstelling en ondersteuning voor Container App Jobs.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Zeven releases in één maand. Dat is wat het Azure Developer CLI (&lt;code&gt;azd&lt;/code&gt;)-team in maart 2026 uitbracht, en de hoofdfunctie is waar ik op wachtte: &lt;strong&gt;een lokale loop voor uitvoeren en debuggen van AI-agents&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="ai-agents-uitvoeren-en-debuggen-zonder-implementeren"&gt;AI-agents uitvoeren en debuggen zonder implementeren&lt;/h2&gt;
&lt;p&gt;Dit is de grote. De nieuwe extensie &lt;code&gt;azure.ai.agents&lt;/code&gt; voegt een reeks opdrachten toe:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azd ai agent run&lt;/code&gt; — start je agent lokaal&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt; — stuurt berichten naar hem (lokaal of geïmplementeerd)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent show&lt;/code&gt; — toont containerstatus en gezondheid&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt; — streamt containerlogs in real-time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voorheen betekende het testen van een AI-agent telkens implementeren naar Microsoft Foundry. Nu kun je lokaal itereren.&lt;/p&gt;
&lt;h2 id="github-copilot-maakt-je-azd-project-aan"&gt;GitHub Copilot maakt je azd-project aan&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd init&lt;/code&gt; biedt nu een optie &amp;ldquo;Set up with GitHub Copilot (Preview)&amp;rdquo;. Een Copilot-agent maakt de configuratie voor je projectstructuur.&lt;/p&gt;
&lt;h2 id="container-app-jobs-en-implementatieverbeteringen"&gt;Container App Jobs en implementatieverbeteringen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Container App Jobs&lt;/strong&gt;: &lt;code&gt;azd&lt;/code&gt; implementeert nu &lt;code&gt;Microsoft.App/jobs&lt;/code&gt; via de bestaande &lt;code&gt;host: containerapp&lt;/code&gt;-config&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configureerbare implementatie-time-outs&lt;/strong&gt;: Nieuwe &lt;code&gt;--timeout&lt;/code&gt;-vlag op &lt;code&gt;azd deploy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lokale build-fallback&lt;/strong&gt;: Wanneer remote ACR-build mislukt, schakelt &lt;code&gt;azd&lt;/code&gt; automatisch terug naar lokale Docker/Podman&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lokale preflight-validatie&lt;/strong&gt;: Bicep-parameters worden lokaal gevalideerd vóór implementatie&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="samenvatting"&gt;Samenvatting&lt;/h2&gt;
&lt;p&gt;De lokale AI-agent debuggingloop is de ster van deze release. Bekijk de &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;volledige releasenotes&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps Lost Eindelijk de Markdown Editor UX op Waar Iedereen Over Klaagde</title><link>https://thedotnetblog.com/nl/posts/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/nl/posts/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</guid><description>De Markdown-editor van Azure DevOps voor werkitems krijgt een duidelijker onderscheid tussen voorbeeld- en bewerkmodus. Het is een kleine verandering die een echte workflow-irritatie oplost.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Als je Azure Boards gebruikt, heb je dit waarschijnlijk meegemaakt: je leest door een werkitembeschrijving, misschien acceptatiecriteria bekijkend, en dan klik je per ongeluk dubbel. Boem — je bent in de bewerkingsmodus. Je wilde helemaal niets bewerken. Je was gewoon aan het lezen.&lt;/p&gt;
&lt;p&gt;Dan Hellem &lt;a href="https://devblogs.microsoft.com/devops/improving-the-markdown-editor-for-work-items/"&gt;kondigde de fix aan&lt;/a&gt;, en het is een van die veranderingen die klein klinkt maar echt wrijving verwijdert uit je dagelijkse workflow.&lt;/p&gt;
&lt;h2 id="wat-er-veranderd-is"&gt;Wat er veranderd is&lt;/h2&gt;
&lt;p&gt;De Markdown-editor voor tekstuele werkitemvelden opent nu standaard in &lt;strong&gt;voorbeeldmodus&lt;/strong&gt;. Je kunt inhoud lezen en ermee interageren — links volgen, opmaak bekijken — zonder je zorgen te maken dat je per ongeluk in de bewerkingsmodus terechtkomt.&lt;/p&gt;
&lt;p&gt;Wanneer je daadwerkelijk wilt bewerken, klik je op het bewerkingspictogram bovenaan het veld. Wanneer je klaar bent, ga je expliciet terug naar de voorbeeldmodus.&lt;/p&gt;
&lt;h2 id="waarom-het-meer-uitmaakt-dan-het-klinkt"&gt;Waarom het meer uitmaakt dan het klinkt&lt;/h2&gt;
&lt;p&gt;De &lt;a href="https://developercommunity.visualstudio.com/t/Markdown-editor-for-work-item-multi-line/10935496"&gt;community-feedbackthread&lt;/a&gt; hierover was lang. Het dubbelklik-om-te-bewerken-gedrag werd geïntroduceerd met de Markdown-editor in juli 2025, en de klachten begonnen bijna onmiddellijk.&lt;/p&gt;
&lt;h2 id="uitrolstatus"&gt;Uitrolstatus&lt;/h2&gt;
&lt;p&gt;Dit wordt al uitgerold naar een subset van klanten en breidt zich de komende twee tot drie weken uit naar iedereen.&lt;/p&gt;</content:encoded></item><item><title>Bookmark Studio Brengt Op Slots Gebaseerde Navigatie en Delen naar Visual Studio-bladwijzers</title><link>https://thedotnetblog.com/nl/posts/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/nl/posts/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</guid><description>De nieuwe Bookmark Studio-extensie van Mads Kristensen voegt via het toetsenbord aangestuurde slotnavigatie, een bladwijzerbeheerder, kleuren, labels en export-/deelmogelijkheden toe.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bladwijzers in Visual Studio zijn altijd&amp;hellip; oké geweest. Je plaatst er een, navigeert naar de volgende, vergeet welke welke is.&lt;/p&gt;
&lt;p&gt;Mads Kristensen heeft zojuist &lt;a href="https://devblogs.microsoft.com/visualstudio/bookmark-studio-evolving-bookmarks-in-visual-studio/"&gt;Bookmark Studio uitgebracht&lt;/a&gt;, een experimentele extensie die precies de gaten opvult die je waarschijnlijk bent tegengekomen als je bladwijzers regelmatig gebruikt.&lt;/p&gt;
&lt;h2 id="op-slots-gebaseerde-navigatie"&gt;Op slots gebaseerde navigatie&lt;/h2&gt;
&lt;p&gt;De kerntoevoeging: bladwijzers kunnen nu worden toegewezen aan slots 1–9 en direct worden bereikt met &lt;code&gt;Alt+Shift+1&lt;/code&gt; tot &lt;code&gt;Alt+Shift+9&lt;/code&gt;. Dit verandert bladwijzers van &amp;ldquo;ik heb ergens bladwijzers&amp;rdquo; naar &amp;ldquo;Slot 3 is mijn API-controller, Slot 5 is de servicelaag.&amp;rdquo;&lt;/p&gt;
&lt;h2 id="de-bladwijzerbeheerder"&gt;De Bladwijzerbeheerder&lt;/h2&gt;
&lt;p&gt;Een nieuw toolvenster toont al je bladwijzers op één plek met filtering op naam, bestand, locatie, kleur of slot.&lt;/p&gt;
&lt;h2 id="organisatie-met-labels-kleuren-en-mappen"&gt;Organisatie met labels, kleuren en mappen&lt;/h2&gt;
&lt;p&gt;Bladwijzers kunnen optioneel labels en kleuren hebben en in mappen worden gegroepeerd. Alle metadata wordt per oplossing opgeslagen.&lt;/p&gt;
&lt;h2 id="exporteren-en-delen"&gt;Exporteren en delen&lt;/h2&gt;
&lt;p&gt;Bookmark Studio laat je bladwijzers exporteren als platte tekst, Markdown of CSV:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bladwijzerpaden opnemen in pull request-beschrijvingen&lt;/li&gt;
&lt;li&gt;Onderzoekssporen delen met teamleden&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Haal het op van de &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>De Maart-update van Visual Studio Laat Je Eigen Copilot-agenten Bouwen — en de find_symbol Tool Is een Grote Stap</title><link>https://thedotnetblog.com/nl/posts/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/nl/posts/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/</guid><description>De maart 2026-update van Visual Studio brengt aangepaste Copilot-agenten, herbruikbare agentvaardigheden, een taalvriendelijke find_symbol-tool en Copilot-ondersteunde profilering vanuit Test Explorer. Dit is wat er toe doet.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/visual-studio-march-2026-custom-copilot-agents/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Visual Studio heeft zojuist zijn meest significante Copilot-update tot nu toe ontvangen. Mark Downie &lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-march-update-build-your-own-custom-agents/"&gt;kondigde de maartrelease aan&lt;/a&gt;, en de kop is aangepaste agenten — maar eerlijk gezegd, de &lt;code&gt;find_symbol&lt;/code&gt;-tool die verder verborgen zit, is mogelijk de functie die je workflow het meest verandert.&lt;/p&gt;
&lt;p&gt;Laat me uitleggen wat er echt is.&lt;/p&gt;
&lt;h2 id="aangepaste-copilot-agenten-in-je-repository"&gt;Aangepaste Copilot-agenten in je repository&lt;/h2&gt;
&lt;p&gt;Wil je dat Copilot de codestandaarden van je team volgt, je build-pipeline uitvoert of je interne documentatie raadpleegt? Nu kun je precies dat bouwen.&lt;/p&gt;
&lt;p&gt;Aangepaste agenten worden gedefinieerd als &lt;code&gt;.agent.md&lt;/code&gt;-bestanden die je in &lt;code&gt;.github/agents/&lt;/code&gt; in je repository plaatst. Elke agent heeft volledige toegang tot werkruimtebewustzijn, codebegrip, tools, je voorkeursmodel en MCP-verbindingen met externe services.&lt;/p&gt;
&lt;p&gt;Dit is hetzelfde patroon dat VS Code heeft ondersteund — en het is geweldig om te zien dat Visual Studio bijhoudt.&lt;/p&gt;
&lt;h2 id="agentvaardigheden-herbruikbare-instructiepakketten"&gt;Agentvaardigheden: herbruikbare instructiepakketten&lt;/h2&gt;
&lt;p&gt;Vaardigheden worden automatisch opgehaald uit &lt;code&gt;.github/skills/&lt;/code&gt; in je repository of &lt;code&gt;~/.copilot/skills/&lt;/code&gt; in je profiel.&lt;/p&gt;
&lt;h2 id="find_symbol-taalbewuste-navigatie-voor-agenten"&gt;find_symbol: taalbewuste navigatie voor agenten&lt;/h2&gt;
&lt;p&gt;Dit is waar het echt interessant wordt. De nieuwe &lt;code&gt;find_symbol&lt;/code&gt;-tool geeft de agentmodus van Copilot echte, door de taalservice aangedreven symboolnavigatie. In plaats van code als tekst te doorzoeken, kan de agent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alle verwijzingen naar een symbool door je project vinden&lt;/li&gt;
&lt;li&gt;Toegang krijgen tot type-informatie, declaraties en bereikmetadata&lt;/li&gt;
&lt;li&gt;Aanroeplocaties navigeren met volledige taalbewustzijn&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wat dit in de praktijk betekent: als je Copilot vraagt een methode te refactoren of een parameterhandtekening bij alle aanroeplocaties bij te werken, kan het de structuur van je code echt zien.&lt;/p&gt;
&lt;h2 id="tests-profileren-met-copilot"&gt;Tests profileren met Copilot&lt;/h2&gt;
&lt;p&gt;Er is nu een &lt;strong&gt;Profile with Copilot&lt;/strong&gt;-opdracht in het contextmenu van Test Explorer. Selecteer een test, klik op profileren, en de Profiling Agent voert hem automatisch uit en analyseert de prestaties.&lt;/p&gt;
&lt;h2 id="afsluiting"&gt;Afsluiting&lt;/h2&gt;
&lt;p&gt;Aangepaste agenten en vaardigheden zijn de kop, maar &lt;code&gt;find_symbol&lt;/code&gt; is de stille hit — het verandert fundamenteel hoe nauwkeurig Copilot kan zijn bij het refactoren van .NET-code. Download &lt;a href="https://visualstudio.microsoft.com/downloads/"&gt;Visual Studio 2026 Insiders&lt;/a&gt; om alles uit te proberen.&lt;/p&gt;</content:encoded></item><item><title>Van Laptop naar Productie: AI-agents Implementeren naar Microsoft Foundry met Twee Opdrachten</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</guid><description>De Azure Developer CLI heeft nu 'azd ai agent'-opdrachten die je AI-agent in minuten van lokale ontwikkeling naar een live Foundry-eindpunt brengen.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ken je die kloof tussen &amp;lsquo;het werkt op mijn machine&amp;rsquo; en &amp;lsquo;het is geïmplementeerd en verwerkt verkeer&amp;rsquo;? Voor AI-agents was die kloof pijnlijk breed.&lt;/p&gt;
&lt;p&gt;De Azure Developer CLI heeft dit een &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;zaak van twee opdrachten&lt;/a&gt; gemaakt.&lt;/p&gt;
&lt;h2 id="de-nieuwe-azd-ai-agent-workflow"&gt;De nieuwe &lt;code&gt;azd ai agent&lt;/code&gt; workflow&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;azd ai agent init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dat is alles. &lt;code&gt;azd ai agent init&lt;/code&gt; maakt een infrastructuur-als-code-skelet in je repo, en &lt;code&gt;azd up&lt;/code&gt; richt alles in op Azure en publiceert je agent.&lt;/p&gt;
&lt;h2 id="wat-er-onder-de-motorkap-gebeurt"&gt;Wat er onder de motorkap gebeurt&lt;/h2&gt;
&lt;p&gt;De &lt;code&gt;init&lt;/code&gt;-opdracht genereert echte, inspecterbare Bicep-sjablonen in je repo — Foundry Resource, Foundry Project, modelimplementatieconfiguratie, beheerde identiteit met RBAC.&lt;/p&gt;
&lt;h2 id="dev-inner-loop"&gt;Dev inner loop&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;azd ai agent run &lt;span class="c1"&gt;# agent lokaal starten&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent invoke &lt;span class="c1"&gt;# testprompts sturen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent monitor --follow &lt;span class="c1"&gt;# real-time logs streamen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="de-volledige-opdrachtset"&gt;De volledige opdrachtset&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Opdracht&lt;/th&gt;
&lt;th&gt;Wat het doet&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Foundry-agentproject scaffolden met IaC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd up&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Middelen inrichten en agent implementeren&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Prompts sturen naar externe of lokale agent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent run&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Agent lokaal uitvoeren&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Real-time logs streamen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd down&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Alle Azure-middelen opruimen&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Bekijk de &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;volledige walkthrough&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>