<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Productivity | The .NET Blog</title><link>https://thedotnetblog.com/zh/tags/productivity/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>zh</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Fri, 15 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/zh/tags/productivity/index.xml" rel="self" type="application/rss+xml"/><item><title>VS Code 1.119：代理会话的 OpenTelemetry、浏览器集成和安全性</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/</guid><description>VS Code 1.119（2026 年 5 月）为代理会话添加了 OpenTelemetry 追踪、浏览器标签页共享、信任和安全改进以及 1.119.1 安全补丁。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-code-1-119-highlights/"&gt;请点击此处&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_119"&gt;VS Code 1.119&lt;/a&gt; 于 2026 年 5 月 6 日发布（随后发布了 1.119.1 安全补丁）。此版本专注于代理可观察性、浏览器交互和减少中断。&lt;/p&gt;
&lt;h2 id="代理会话的-opentelemetry-追踪"&gt;代理会话的 OpenTelemetry 追踪&lt;/h2&gt;
&lt;p&gt;对于在生产环境中运行代理或调试代理工作流的人来说，这是最重要的功能。通过两个设置启用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;github.copilot.chat.otel.enabled&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;github.copilot.chat.otel.otlpEndpoint&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;http://localhost:4318&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;追踪遵循 GenAI 语义约定。每个代理请求创建一个 &lt;code&gt;invoke_agent&lt;/code&gt; 根 span，带有嵌套子 span：&lt;code&gt;chat&lt;/code&gt;、&lt;code&gt;execute_tool&lt;/code&gt; 和 &lt;code&gt;execute_hook&lt;/code&gt;。Token 使用情况按请求报告——包括缓存读取和缓存创建计数。&lt;/p&gt;
&lt;p&gt;适用于本地代理、Copilot CLI 后台代理和 Claude 代理。任何兼容 OTLP 的后端都接受追踪——&lt;a href="https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/standalone"&gt;独立 Aspire 仪表板&lt;/a&gt;非常适合本地开发。&lt;/p&gt;
&lt;h2 id="代理现在可以访问浏览器标签页"&gt;代理现在可以访问浏览器标签页&lt;/h2&gt;
&lt;p&gt;代理可以请求访问内置浏览器标签页——但不是自动的。你必须通过上下文选择器、拖放或建议的上下文明确共享标签页。浏览器中有一个共享按钮用于撤销访问。当代理尝试打开与已打开（未共享）标签页相同域的新标签页时，VS Code 会建议重用现有标签页。&lt;/p&gt;
&lt;h2 id="token-使用优化"&gt;Token 使用优化&lt;/h2&gt;
&lt;p&gt;实验性轻量级模型现在管理代理任务列表，释放主模型用于这项日常工作。减少不需要完整推理能力的任务的 token 使用。&lt;/p&gt;
&lt;h2 id="信任和安全"&gt;信任和安全&lt;/h2&gt;
&lt;p&gt;减少中断：VS Code 1.119 减少了来自代理的网络访问和向临时文件夹写入的提示。1.119.1 补丁解决了特定的安全问题——如果还没有更新，值得升级。&lt;/p&gt;
&lt;h2 id="快速切换到-markdown-预览"&gt;快速切换到 Markdown 预览&lt;/h2&gt;
&lt;p&gt;小但实用：现在可以快速将当前编辑器切换到 Markdown 预览，无需导航。&lt;/p&gt;
&lt;h2 id="vs-code-agentsinsiders-预览版"&gt;VS Code Agents（Insiders 预览版）&lt;/h2&gt;
&lt;p&gt;重新设计的代理会话界面——新的仓库选择器（本地/仓库/远程）、子会话改进、Web 和移动端改进、进度动画——在 Insiders 上的 &lt;a href="https://insiders.vscode.dev/agents"&gt;insiders.vscode.dev/agents&lt;/a&gt; 中可用。&lt;/p&gt;
&lt;p&gt;完整更新日志：&lt;a href="https://code.visualstudio.com/updates/v1_119"&gt;code.visualstudio.com/updates/v1_119&lt;/a&gt;。&lt;/p&gt;</content:encoded></item><item><title>Visual Studio 2026 四月更新：云代理、自定义代理和调试器代理</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-april-update-cloud-agent-integration/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-april-update-cloud-agent-integration/</guid><description>Visual Studio 2026 四月更新 (18.5) 添加了云代理集成、用户级自定义代理、C++ 工具正式发布以及调试器代理——该代理会根据实际运行时行为验证修复。</description><content:encoded>&lt;p&gt;&lt;em&gt;本文已自动翻译。要查看原始版本，&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-april-update-cloud-agent-integration/"&gt;请点击此处&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-april-update-cloud-agent-integration/"&gt;Visual Studio 2026 四月更新 (18.5)&lt;/a&gt; 包含云代理集成、用户级自定义代理、C++ 工具正式发布以及全新的调试器代理。&lt;/p&gt;
&lt;h2 id="云代理将工作委托给远程-copilot-会话"&gt;云代理：将工作委托给远程 Copilot 会话&lt;/h2&gt;
&lt;p&gt;在聊天窗口的代理选择器中选择 &lt;strong&gt;Cloud&lt;/strong&gt;，可以将任务移交给 Copilot 远程编码代理。你描述工作内容，代理在你的仓库中创建 GitHub issue，完成后打开 PR。你会收到带有&amp;quot;查看 PR&amp;quot;/&amp;ldquo;在浏览器中打开&amp;quot;按钮的通知——在你继续编码期间，甚至在 IDE 关闭时都能运行。&lt;/p&gt;
&lt;h2 id="自定义代理现在跟随你"&gt;自定义代理现在跟随你&lt;/h2&gt;
&lt;p&gt;存储在 &lt;code&gt;%USERPROFILE%/.github/agents/&lt;/code&gt; 的自定义代理不再绑定到单个仓库——它们会跨项目跟随你。存储路径可通过&amp;quot;工具 &amp;gt; 选项 &amp;gt; GitHub &amp;gt; Copilot &amp;gt; Chat&amp;quot;配置。代理选择器中的 &lt;code&gt;+&lt;/code&gt; 按钮允许直接创建新代理。它们获得与仓库范围代理相同的功能：工作区感知、工具、模型选择和 MCP 连接。&lt;/p&gt;
&lt;p&gt;内置代理：Agent、Ask、Copilot CLI、Debugger、Modernize、Profiler。&lt;/p&gt;
&lt;h2 id="c-代码编辑工具正式发布"&gt;C++ 代码编辑工具正式发布&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;get_symbol_call_hierarchy&lt;/code&gt; 和 &lt;code&gt;get_symbol_class_hierarchy&lt;/code&gt; 这两个工具现在默认开启。它们为 Copilot 提供 C++ 代码库的语言导航，覆盖继承层次结构和函数调用链。通过 Copilot Chat 中的工具图标启用。与支持工具调用的模型配合效果最佳。&lt;/p&gt;
&lt;h2 id="调试器代理修复根据实际运行时行为进行验证"&gt;调试器代理：修复根据实际运行时行为进行验证&lt;/h2&gt;
&lt;p&gt;从 GitHub 或 Azure DevOps issue（或自然语言描述）开始，切换到调试器模式，代理会：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;创建最小复现器&lt;/li&gt;
&lt;li&gt;生成故障假设&lt;/li&gt;
&lt;li&gt;用跟踪点和条件断点对应用程序进行检测&lt;/li&gt;
&lt;li&gt;运行真实的调试会话&lt;/li&gt;
&lt;li&gt;分析实时遥测数据&lt;/li&gt;
&lt;li&gt;提出精确的修复方案&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;整个过程中你保持在循环中——这是交互式的，不是完全自主的。&lt;/p&gt;
&lt;h2 id="intellisense-优先级修复"&gt;IntelliSense 优先级修复&lt;/h2&gt;
&lt;p&gt;VS 现在在 IntelliSense 列表激活时抑制 Copilot 补全。一次只显示一个建议。这是一个常见的摩擦点，现在默认启用。&lt;/p&gt;
&lt;p&gt;完整发布说明和下载请访问 &lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-april-update-cloud-agent-integration/"&gt;devblogs.microsoft.com&lt;/a&gt;。&lt;/p&gt;</content:encoded></item><item><title>那个你不知道的Visual Studio浮动窗口设置（但你应该知道）</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/</guid><description>Visual Studio的一个隐藏设置让你完全控制浮动窗口 — 独立的任务栏条目、正确的多显示器行为，以及完美的FancyZones集成。一个下拉菜单改变一切。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文为自动翻译。查看原文请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/visual-studio-floating-windows-powertoys/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果你在Visual Studio中使用多个显示器（说实话，现在谁不用呢？），你可能经历过这种烦恼：浮动工具窗口在你最小化主IDE时消失，它们总是在所有窗口之上，而且不会在任务栏中显示为单独的按钮。这对某些工作流有效，但对多显示器设置来说很令人沮丧。&lt;/p&gt;
&lt;p&gt;Visual Studio团队的Mads Kristensen &lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;分享了一个鲜为人知的设置&lt;/a&gt;，它完全改变了浮动窗口的行为。一个下拉菜单。就这样。&lt;/p&gt;
&lt;h2 id="设置"&gt;设置&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tools &amp;gt; Options &amp;gt; Environment &amp;gt; Windows &amp;gt; Floating Windows&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;下拉菜单&amp;quot;These floating windows are owned by the main window&amp;quot;有三个选项：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt; — 完全独立。每个浮动窗口都有自己的任务栏条目，行为就像普通的Windows窗口。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Windows&lt;/strong&gt;（默认）— 文档自由浮动，工具窗口保持与IDE绑定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documents and Tool Windows&lt;/strong&gt; — 经典的Visual Studio行为，所有窗口都绑定到主窗口。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="为什么none是多显示器设置的最佳选择"&gt;为什么&amp;quot;None&amp;quot;是多显示器设置的最佳选择&lt;/h2&gt;
&lt;p&gt;将其设置为&lt;strong&gt;None&lt;/strong&gt;，突然间你所有的浮动工具窗口和文档都像真正的Windows应用程序一样运行。它们出现在任务栏中，当你最小化Visual Studio主窗口时保持可见，并且不再强制自己始终在最前面。&lt;/p&gt;
&lt;p&gt;将此与&lt;strong&gt;PowerToys FancyZones&lt;/strong&gt;结合使用，效果惊人。在你的显示器上创建自定义布局，将解决方案资源管理器放在一个区域，调试器放在另一个区域，代码文件放在你想要的任何地方。一切都保持在原位，一切都可以独立访问，你的工作空间感觉有条理而不是混乱的。&lt;/p&gt;
&lt;h2 id="快速建议"&gt;快速建议&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;多显示器高级用户&lt;/strong&gt;：设置为&lt;strong&gt;None&lt;/strong&gt;，搭配FancyZones&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;偶尔浮动的用户&lt;/strong&gt;：&lt;strong&gt;Tool Windows&lt;/strong&gt;（默认）是不错的折中方案&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;传统工作流&lt;/strong&gt;：&lt;strong&gt;Documents and Tool Windows&lt;/strong&gt;保持经典行为&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;专业提示：在任何工具窗口的标题栏上&lt;strong&gt;Ctrl + 双击&lt;/strong&gt;即可立即浮动或停靠。更改设置后无需重启。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;这是那种&amp;quot;我不敢相信我之前不知道&amp;quot;的设置之一。如果Visual Studio中的浮动窗口曾经让你烦恼，现在就去改掉它。&lt;/p&gt;
&lt;p&gt;阅读&lt;a href="https://devblogs.microsoft.com/visualstudio/take-full-control-of-your-floating-windows-in-visual-studio/"&gt;完整文章&lt;/a&gt;获取详细信息和截图。&lt;/p&gt;</content:encoded></item><item><title>Azure DevOps终于修好了所有人都在抱怨的Markdown编辑器</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/</guid><description>Azure DevOps的工作项Markdown编辑器获得了更清晰的预览与编辑模式区分。一个小改动，却解决了一个真正恼人的工作流问题。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文为自动翻译。查看原始版本，请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/azure-devops-markdown-editor-work-items/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果你使用Azure Boards，你可能经历过这种情况：你在阅读一个工作项描述，也许在检查验收标准，然后不小心双击了。砰——你进入了编辑模式。你根本不想编辑任何东西。你只是在阅读。&lt;/p&gt;
&lt;p&gt;Dan Hellem &lt;a href="https://devblogs.microsoft.com/devops/improving-the-markdown-editor-for-work-items/"&gt;宣布了这个修复&lt;/a&gt;，这是那种听起来很小但确实从日常工作流中消除了真正摩擦的改动。&lt;/p&gt;
&lt;h2 id="什么变了"&gt;什么变了&lt;/h2&gt;
&lt;p&gt;工作项文本字段的Markdown编辑器现在&lt;strong&gt;默认以预览模式打开&lt;/strong&gt;。你可以阅读和交互内容——跟随链接、检查格式——不用担心意外进入编辑模式。&lt;/p&gt;
&lt;p&gt;当你真的想要编辑时，点击字段顶部的编辑图标。完成后，显式退出到预览模式。简单、有意图、可预测。&lt;/p&gt;
&lt;h2 id="为什么这比听起来更重要"&gt;为什么这比听起来更重要&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developercommunity.visualstudio.com/t/Markdown-editor-for-work-item-multi-line/10935496"&gt;社区反馈帖子&lt;/a&gt;很长。双击编辑的行为是在2025年7月随Markdown编辑器引入的，投诉几乎立刻开始了。&lt;/p&gt;
&lt;p&gt;对于使用Azure Boards进行冲刺计划、需求梳理或代码审查的团队来说，这种微摩擦会累积。&lt;/p&gt;
&lt;h2 id="部署状态"&gt;部署状态&lt;/h2&gt;
&lt;p&gt;已经在向部分客户推出，将在未来两到三周内扩展到所有人。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;不是每个改进都需要成为头条功能。有时候最好的更新就是简单地移除恼人的东西。这就是其中之一——一个小小的UX修复，让Azure Boards对只想安静阅读工作项的人变得不再那么敌意。&lt;/p&gt;</content:encoded></item><item><title>Bookmark Studio为Visual Studio书签带来基于槽位的导航和分享功能</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/</guid><description>Mads Kristensen的新Bookmark Studio扩展为Visual Studio书签添加了键盘驱动的槽位导航、书签管理器、颜色、标签和导出功能。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;本文为自动翻译。查看原始版本，请&lt;a href="https://thedotnetblog.com/zh/news/emiliano-montesdeoca/bookmark-studio-visual-studio-extension/"&gt;点击这里&lt;/a&gt;。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Visual Studio中的书签一直&amp;hellip;还行。你设置一个，导航到下一个，然后忘记哪个是哪个。它们能用，但从来不是你会称之为强大的功能。&lt;/p&gt;
&lt;p&gt;Mads Kristensen刚刚&lt;a href="https://devblogs.microsoft.com/visualstudio/bookmark-studio-evolving-bookmarks-in-visual-studio/"&gt;发布了Bookmark Studio&lt;/a&gt;，一个实验性扩展，精确填补了你可能遇到的空缺。&lt;/p&gt;
&lt;h2 id="基于槽位的导航"&gt;基于槽位的导航&lt;/h2&gt;
&lt;p&gt;书签可以分配到1-9号槽位，通过&lt;code&gt;Alt+Shift+1&lt;/code&gt;到&lt;code&gt;Alt+Shift+9&lt;/code&gt;直接跳转。新书签自动获得下一个可用槽位。&lt;/p&gt;
&lt;h2 id="书签管理器"&gt;书签管理器&lt;/h2&gt;
&lt;p&gt;新的工具窗口在一个地方显示所有书签，支持按名称、文件、位置、颜色或槽位过滤。&lt;/p&gt;
&lt;h2 id="用标签颜色和文件夹组织"&gt;用标签、颜色和文件夹组织&lt;/h2&gt;
&lt;p&gt;书签可以有标签、颜色，并分组到文件夹中。元数据按解决方案存储。&lt;/p&gt;
&lt;h2 id="导出和分享"&gt;导出和分享&lt;/h2&gt;
&lt;p&gt;Bookmark Studio允许将书签导出为纯文本、Markdown或CSV。&lt;/p&gt;
&lt;h2 id="跟随代码移动的书签"&gt;跟随代码移动的书签&lt;/h2&gt;
&lt;p&gt;Bookmark Studio相对于锚定的文本跟踪书签，所以编辑时不会漂移到错误的行。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;Bookmark Studio没有重新发明任何东西。它把一个多年来&amp;quot;够用&amp;quot;的功能变得真正有用。从&lt;a href="https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BookmarkStudio"&gt;Visual Studio Marketplace&lt;/a&gt;下载吧。&lt;/p&gt;</content:encoded></item><item><title>VS Code 1.112：.NET 开发者真正应该关注的内容</title><link>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/vscode-1-112-dotnet-developers/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/zh/news/emiliano-montesdeoca/vscode-1-112-dotnet-developers/</guid><description>VS Code 1.112 刚刚发布，满载代理升级、集成浏览器调试器、MCP 沙箱和 monorepo 支持。如果你用 .NET 开发，这些是真正重要的内容。</description><content:encoded>&lt;p&gt;VS Code 1.112 刚落地，说实话？如果你每天都在 .NET 的世界里，这个版本感觉不一样。&lt;a href="https://code.visualstudio.com/updates/v1_112"&gt;官方发布说明&lt;/a&gt; 里有很多内容，但让我帮你省点滚动，专注于对我们真正重要的东西。&lt;/p&gt;
&lt;h2 id="copilot-cli-变得更有用了"&gt;Copilot CLI 变得更有用了&lt;/h2&gt;
&lt;p&gt;这个版本的大主题是&lt;strong&gt;代理自主性&lt;/strong&gt; — 给 Copilot 更多空间做它的事，不需要你看管每一步。&lt;/p&gt;
&lt;h3 id="消息引导和排队"&gt;消息引导和排队&lt;/h3&gt;
&lt;p&gt;你知道 Copilot CLI 在任务进行到一半时，你突然想起忘了提什么东西的那个时刻吗？以前你只能等。现在你可以在请求还在运行时发送消息 — 要么引导当前响应，要么排队后续指令。&lt;/p&gt;
&lt;p&gt;这对那些较长的 &lt;code&gt;dotnet&lt;/code&gt; 脚手架任务来说太棒了，你看着 Copilot 设置项目然后想&amp;quot;哦等等，我还需要 MassTransit&amp;quot;。&lt;/p&gt;
&lt;h3 id="权限级别"&gt;权限级别&lt;/h3&gt;
&lt;p&gt;这是我最兴奋的。Copilot CLI 会话现在支持三个权限级别：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;默认权限&lt;/strong&gt; — 工具在运行前请求确认的常规流程&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跳过审批&lt;/strong&gt; — 自动批准一切并在出错时重试&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自动驾驶&lt;/strong&gt; — 完全自主：批准工具、回答自己的问题、持续到任务完成&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你在做类似用 Entity Framework、migrations 和 Docker 设置创建新的 ASP.NET Core API 这样的事 — 自动驾驶模式意味着你描述想要什么然后去拿杯咖啡。它会搞定的。&lt;/p&gt;
&lt;p&gt;你可以用 &lt;code&gt;chat.autopilot.enabled&lt;/code&gt; 设置启用自动驾驶。&lt;/p&gt;
&lt;h3 id="委托前预览更改"&gt;委托前预览更改&lt;/h3&gt;
&lt;p&gt;当你把任务委托给 Copilot CLI 时，它会创建一个 worktree。以前如果你有未提交的更改，你得检查源代码管理来看什么会受影响。现在聊天视图会在你决定复制、移动或忽略之前直接显示待处理的更改。&lt;/p&gt;
&lt;p&gt;小事情，但省去了&amp;quot;等等，我 staging 了什么？&amp;ldquo;的时刻。&lt;/p&gt;
&lt;h2 id="不离开-vs-code-就能调试-web-应用"&gt;不离开 VS Code 就能调试 Web 应用&lt;/h2&gt;
&lt;p&gt;集成浏览器现在支持&lt;strong&gt;完整调试&lt;/strong&gt;。你可以设断点、单步执行代码、检查变量 — 全在 VS Code 内。不用再切换到 Edge DevTools 了。&lt;/p&gt;
&lt;p&gt;有一个新的 &lt;code&gt;editor-browser&lt;/code&gt; 调试类型，如果你已经有 &lt;code&gt;msedge&lt;/code&gt; 或 &lt;code&gt;chrome&lt;/code&gt; 的启动配置，迁移只需改 &lt;code&gt;launch.json&lt;/code&gt; 里的 &lt;code&gt;type&lt;/code&gt; 字段：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;editor-browser&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;request&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;launch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Debug Blazor App&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://localhost:5001&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;对 Blazor 开发者来说，这是颠覆性的。你已经在终端运行 &lt;code&gt;dotnet watch&lt;/code&gt; — 现在调试也留在同一个窗口里。&lt;/p&gt;
&lt;p&gt;浏览器还获得了独立的缩放级别（终于）、正确的右键上下文菜单，缩放按网站记忆。&lt;/p&gt;
&lt;h2 id="mcp-服务器沙箱"&gt;MCP 服务器沙箱&lt;/h2&gt;
&lt;p&gt;这比你想的更重要。如果你在用 MCP 服务器 — 也许你为 Azure 资源或数据库查询设置了自定义的 — 它们一直以和你的 VS Code 进程相同的权限运行。这意味着对你的文件系统、网络等一切的完全访问。&lt;/p&gt;
&lt;p&gt;现在你可以对它们做沙箱处理。在你的 &lt;code&gt;mcp.json&lt;/code&gt; 中：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;servers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;my-azure-tools&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;node&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;./mcp-server.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;sandboxEnabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;当沙箱化的服务器需要访问它没有的东西时，VS Code 会提示你授予权限。比&amp;quot;希望没人做奇怪的事&amp;quot;的方式好太多了。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; 沙箱目前在 macOS 和 Linux 上可用。Windows 支持即将到来 — 不过 WSL 等远程场景是可以工作的。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="monorepo-自定义发现"&gt;Monorepo 自定义发现&lt;/h2&gt;
&lt;p&gt;如果你在 monorepo 中工作（说实话，很多企业 .NET 解决方案最终都变成了 monorepo），这解决了一个真正的痛点。&lt;/p&gt;
&lt;p&gt;以前，如果你打开仓库的子文件夹，VS Code 找不到仓库根目录的 &lt;code&gt;copilot-instructions.md&lt;/code&gt;、&lt;code&gt;AGENTS.md&lt;/code&gt; 或自定义技能。现在通过 &lt;code&gt;chat.useCustomizationsInParentRepositories&lt;/code&gt; 设置，它会向上查找到 &lt;code&gt;.git&lt;/code&gt; 根目录并发现所有内容。&lt;/p&gt;
&lt;p&gt;这意味着你的团队可以在 monorepo 中跨所有项目共享代理指令、提示文件和自定义工具，不需要每个人都打开根文件夹。&lt;/p&gt;
&lt;h2 id="troubleshoot-用于代理调试"&gt;/troubleshoot 用于代理调试&lt;/h2&gt;
&lt;p&gt;有没有设置过自定义指令或技能，然后纳闷为什么没被检测到？新的 &lt;code&gt;/troubleshoot&lt;/code&gt; 技能读取代理调试日志并告诉你发生了什么 — 哪些工具被使用或跳过了，为什么指令没加载，什么导致了慢响应。&lt;/p&gt;
&lt;p&gt;用以下配置启用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;github.copilot.chat.agentDebugLog.enabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;github.copilot.chat.agentDebugLog.fileLogging.enabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后在聊天中输入 &lt;code&gt;/troubleshoot why is my custom skill not loading?&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;你现在还可以导出和导入这些调试日志，当某些东西不按预期工作时，和团队分享很方便。&lt;/p&gt;
&lt;h2 id="图像和二进制文件支持"&gt;图像和二进制文件支持&lt;/h2&gt;
&lt;p&gt;代理现在可以从磁盘原生读取图像文件和二进制文件。二进制文件以 hexdump 格式呈现，图像输出（如集成浏览器的截图）以轮播视图显示。&lt;/p&gt;
&lt;p&gt;对 .NET 开发者来说：把 UI bug 的截图粘贴到聊天中让代理理解问题所在，或者让它分析 Blazor 组件渲染的输出。&lt;/p&gt;
&lt;h2 id="自动符号引用"&gt;自动符号引用&lt;/h2&gt;
&lt;p&gt;小的生活质量改善：当你复制一个符号名称（类、方法等）并粘贴到聊天中时，VS Code 现在自动将其转换为 &lt;code&gt;#sym:Name&lt;/code&gt; 引用。这给代理提供了关于该符号的完整上下文，无需手动添加。&lt;/p&gt;
&lt;p&gt;如果你想要纯文本，使用 &lt;code&gt;Ctrl+Shift+V&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="插件现在可以启用禁用"&gt;插件现在可以启用/禁用&lt;/h2&gt;
&lt;p&gt;以前禁用 MCP 服务器或插件意味着卸载它。现在你可以开关它们 — 全局和按工作区都可以。在扩展视图或自定义视图中右键单击就行。&lt;/p&gt;
&lt;p&gt;npm 和 pypi 的插件现在也可以自动更新了，不过会先请求批准，因为更新意味着在你的机器上运行新代码。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;VS Code 1.112 明显在大力推进代理体验 — 更多自主性、更好的调试、更严格的安全。对 .NET 开发者来说，集成浏览器调试和 Copilot CLI 改进是最突出的功能。&lt;/p&gt;
&lt;p&gt;如果你还没试过为 .NET 项目在自动驾驶模式下运行完整的 Copilot CLI 会话，这个版本是开始的好时机。记得设置你的权限然后让它干活。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_112"&gt;下载 VS Code 1.112&lt;/a&gt; 或在 VS Code 内通过&lt;strong&gt;帮助 &amp;gt; 检查更新&lt;/strong&gt;进行更新。&lt;/p&gt;</content:encoded></item></channel></rss>