Visual Studio 2022 路线图
Visual Studio 仍是一个综合性集成开发环境,它投资引入人工智能以促进开发,加强 .NET 云原生应用的开发,在 C++ 和游戏开发工具方面处于领先地位,并改进了基本开发流程。 我们将推出旨在使软件开发更快、更高效的新功能和工作提效增强功能,确保开发人员拥有适合任何项目的工具。
该路线图描述了来年我们对 Visual Studio 主要工作的愿景,其中包含以下关键主题:
- 带有 Copilot 的人工智能带来了一波新的功能和生产力,具有无与伦比的潜力。 Visual Studio 具有独特的地位,可以通过 Copilot 为开发人员和企业提供一流的机会。
- .NET Aspire 旨在改进 .NET 云原生应用的构建体验,而 Visual Studio 则是这方面的重要开发工具。
- C++ 游戏开发在不断发展,Visual Studio 是现代游戏开发人员的黄金工具标准。
- 基本功能是对许多客户非常重要的现有工作负载的功能集。 它还包括适用于所有内部循环开发人员场景的工作提效增强功能。
我们的使命是为 .NET 和 C++ 开发人员创造受欢迎的开发人员体验,从而推动我们的客户和合作伙伴取得成功,此路线图反映了这一使命。
带有 Copilot 的人工智能
围绕人工智能的创新正在加速,而 Visual Studio 位于前沿,多项功能正在开发。
当我们用人工智能更新现有功能时,我们能为开发人员的体验增加一个全新的层。 正如人们常说的那样,计算机科学中最难的事情之一就是给事物命名,但有了更新后的人工智能重命名功能,这将变得轻而易举。 命名之所以困难,是因为它必须正确。 开发人员阅读代码的时间远远多于编写代码的时间,而命名是理解代码库的关键。
代码评审和了解提交历史记录也是如此。 让人工智能分析你所做的更改,并提出相关的详细 git 提交消息和拉取请求描述,可以避免浪费大量时间阅读代码及其历史记录。
调试是另一个关键场景,对任何项目的成功都至关重要。 Copilot 可协助进行错误查找、设置条件断点和跟踪点,并分析性能见解,从而使应用更可靠、更高效。
当单元测试失败时,确定如何让它们再次通过是一件棘手的事情。 是你刚才修改的代码有问题,还是单元测试有问题? Copilot 可以帮助解释测试失败的原因,并就如何才能重新获得一套通过的单元测试提出建议。
.NET 和 Aspire
我们会继续通过将更多功能和集成引入到 Visual Studio 和 .NET Aspire 仪表板来改进 .NET Aspire 引入的云原生开发体验。 通过即将发布的预览版,我们开始了一个新的方向,让开发人员只需一个手势就能更轻松地将多节点应用发布到 Azure 容器应用。 Visual Studio 的右键发布依赖于 Azure Developer CLI 来发布 Aspire-to-Container 应用,这表明双方的合作伙伴关系非常密切,开发人员可以更轻松地发布大型应用,并获得可复制性更好的结果。
这种合作伙伴关系还将解决开发人员将本地开发人员计算机上运行的代码与云内资源连接起来的问题。 这种克隆 -> 预配 -> 调试 -> 部署模式在新的 OpenAI 计划中最为普遍;要使用 Azure OpenAI,必须首先预配 Azure OpenAI 资源,并将应用配置为与其通信。 为了实现这些方案,Web Tools 和 AZD 团队正在深化合作伙伴关系,研究 AZD 如何解决“开发时”资源预配问题,并通过 Visual Studio 连接服务带来令人兴奋的机遇。 我们希望在开发人员环境和 CI/CD 环境中更深入地依赖 AZD 的强大预配和部署能力,让 .NET Aspire 开发人员无障碍地使用 Azure。
C++ 和游戏开发
我们将继续致力于为所有 C++ 开发人员改进语言一致性、生产力提高、诊断以及安全性。 跨平台和游戏开发人员工作负载将继续成为重点领域,包括将 Unreal Engine 项目支持引入 GA。 我们还致力于在 Copilot 中为 C++ 开发人员引入创新的新功能。
基础
Visual Studio 的核心是开发人员体验,包括所有功能、生产力和自定义。 内循环中的创新仍然是重中之重,Visual Studio 为开发人员和企业提供了关键功能。
Git 工具
我们将继续致力于为所有存储库提供全面的 git 集成,尤其是 GitHub 和 Azure DevOps (ADO)。
使用 AI 支持的全功能 GitHub 和 Azure DevOps 拉取请求集成完成从创建到评审的代码评审。 通过使用生成的拉取请求说明,直接在编辑器中添加拉取请求注释和 AI 代码评审建议,可以更少地进行上下文切换,从而保留在流中并与协作者一起生成更好的代码。
在多个 GitHub 帐户之间切换将会轻而易举,因为每个存储库都会记住你的首选帐户,并且你将创建具有更好的防护措施的 GitHub 内部存储库,以确保安全。
调试程序和探查器更新
我们致力于在所有平台上提供更可靠、更快的调试体验。 此外,我们还致力于提高调试可视化工具和内存分析的工作效率。 今后,我们将继续调整对调试外部源、调试 Unreal Project 以及处理跨平台调试场景的支持。
在分析方面,我们将继续简化 .NET 基准方案,并将其与 Git 管道集成,以获得更高效的开发体验。
最后,通过优先增强人工智能驱动的内循环体验以加快根本问题的识别,我们计划让调试体验变得更简单、更顺畅。
测试
IntelliTest 的新版本目前处于预览阶段,我们致力于处理此预览版中的反馈,并发布 IntelliTest 的这个新版本,为面向 .NET Core 和 x64 设备的测试提供支持。
我们正在投资来积累有关如何从失败的测试中快速恢复的经验。
首先,我们将为所有失败的测试添加“使用 Copilot 进行解释”。 然后将为失败的测试添加“使用 Copilot 进行调试”。 下面是两个示例,其中 AI 可以帮助开发人员快速识别失败测试的根本原因并提供修补方案。
除此之外,我们正在为所有开发人员全面改进 MSTest,而不仅仅是那些使用 Visual Studio 的开发人员。
桌面和 Web 开发
对于未来 Visual Studio 中的 WinForms 支持,我们将继续关注设计器的质量和性能。
Web Tools 团队致力于改进使用 Visual Studio 时的端到端 Web 开发体验,重点关注 API 开发内循环生产力。 目前,我们优先考虑使用 ASP.NET Core 的云原生方案。
我们还将继续提高“热重载”效率,目的是提高编辑应用速度的可靠性,同时改进可在“热重载”会话中自动重载的编辑类型。
我们正在倾听你的 Razor 反馈! 改进 Razor 编辑体验的性能、完成度和总体可靠性,是我们每个版本都会继续关注的方面。 请继续就 Razor 编辑不符合你期望的情况提供反馈。
工作效率
多合一代码搜索文本支持现作为一项预览功能提供,文件和符号搜索结果现在可以通过字符串、注释、局部变量和其他代码片段进行补充。 展望未来,我们正在努力增加更多功能,提供不同的范围选项,改进我们处理查询的方式,并寻找引入人工智能的机会。
新的 XML 解决方案文件格式代表了当前解决方案文件中的所有数据模型,确保了跨项目结构的兼容性。 它简化了合并过程中的冲突解决,通过用符号表示和人类可读的项目类型名称取代复杂的 GUID,优先考虑可读性,并在需要时使用表达式来提高清晰度。 这些更改旨在简化解决方案文件管理并增强用户体验。
我们正在重新设计配置 Visual Studio 的体验,希望为你带来更高效的新式体验! 从 17.10 开始,你就可以试用该功能的预览版,它为配置设置提供了更多空间,能够在用户和打开的解决方案/文件夹级别自定义设置,增强了设置搜索功能,基于 JSON 的设置存储等。 在这一年里,我们将继续把设置迁移到新的体验中,并为新的“统一设置”体验带来更多的功能。
扩展性和个性化
扩展是 Visual Studio 生态系统的关键部分,我们正在努力使其更易于管理和配置。 我们最近发布了在存储库中从 .vsconfig 文件安装扩展的功能,并引入了全新的扩展管理器,让用户可以轻松查找、安装和管理扩展。
我们还在继续开发新的 VisualStudio.Extensibility SDK(目前处于预览阶段),它可以帮助你构建在主 IDE 流程之外运行的扩展。 将扩展从主流程中分离出来可以提高性能和可靠性,并通过提供现代、直观、基于 .NET Core 的 API 和维护良好的文档,让我们有机会专注于提高开发人员的工作效率。 我们将很快为新的 SDK 引入一些备受关注的功能,包括通过 Visual Studio Marketplace 和 Visual Studio 的扩展管理器发布和管理扩展。 你很快就会发现,新功能可以让你更轻松地配置和调试扩展、查询项目系统以及创建功能强大的调试器可视化工具。
该团队一直在为 Visual Studio 更新 UI,目的是提高工作效率,创建一个更具包容性的环境,并跟上不断变化的全球辅助功能要求。 可以通过转到“工具”>“选项”并勾选“试验性控件样式”来启用更新后的 UI 的预览。 我们已经收到了一些反馈,要求编辑器的明/暗主题与 shell 主题无关,并为字体和自定义主题提供更好的故事。 我们将努力解决这些问题,并在进一步改进体验的过程中密切关注像你这样的用户提出的其他反馈。