【译】我为 .NET 开发人员准备的 2023 年 Visual Studio 10 大新功能
原文 | James Montemagno
翻译 | 郑子铭
Visual Studio 2022 在 2023 年发布了许多令人难以置信的功能,为 .NET 开发人员提供了大量新工具来提高他们的工作效率。有这么多可供选择,我精心挑选了一个包括编辑器改进、生产力更新和人工智能辅助的选项。让我们来探讨一些最有影响力的功能,这些功能已成为我日常开发流程中不可或缺的一部分。
1. 开发隧道
对于需要将本地开发服务器暴露到互联网的开发人员来说,开发隧道是一个游戏规则改变者。它提供了一个直接通过隧道连接到您的本地计算机的唯一 URL。对于移动开发等场景来说,此功能非常宝贵,您需要在各种设备上测试后端并让它们与本地服务器无缝通信。
- 使用唯一的 URL 公开您的本地主机开发服务器。
- 对于移动开发很有用,允许设备连接到本地计算机。
Securely test and debug your web apps and webhooks with dev tunnels | OD121
2. HTTP 文件和端点资源管理器
HTTP 文件和 Endpoint Explorer 是一个动态组合,可以增强 Visual Studio 中的 API 开发和测试。每当您创建 Web API 时,它都会添加一个 HTTP 文件,您可以在其中发出请求并查看实时响应。端点资源管理器对此进行了补充,它提供应用程序中所有活动端点的可视化表示,允许您生成请求并简化工作流程。
- HTTP 文件允许您使用实时请求和响应与 Web API 进行交互。
- Endpoint Explorer 提供了一个可视化工具来查看所有 API 端点并与之交互。

3. GitHub Copilot 和 GitHub Copilot 聊天
GitHub Copilot 和 Copilot Chat 对于寻求 AI 支持的开发人员来说非常出色。 Copilot 在您键入时建议代码片段,使用应用程序的上下文来提供相关建议。 Copilot Chat 允许您与 AI 进行交流,以获得有关编码挑战的更详细的帮助。
- GitHub Copilot 实时提供代码建议。
- Copilot Chat 可与 AI 对话以获取编码帮助。
4.Git 和 PR 增强
Visual Studio 2022 在集成的 Git 功能方面取得了重大进展,简化了代码提交和协作过程。开发人员现在可以直接从 IDE 执行 Git 任务,例如创建分支、提交和拉取请求,从而简化了代码存储库管理的过程。
- 使用集成 UI 创建和管理 Git 存储库。
- Link 致力于 GitHub 问题以实现更好的协作。
- Visual Studio 中内置拉取请求创建和审查。

5. 大括号着色
此功能通过用独特的颜色区分大括号对,为您的代码增添一抹色彩。这个小而强大的功能可以通过更轻松地在视觉上匹配左大括号(尤其是在嵌套结构中)来显着提高代码可读性。
- 颜色区分不同嵌套级别的支撑对。
- 提高可读性并有助于快速识别匹配对。

6. 拼写检查
Visual Studio 2023 中我最期待的编辑器改进之一是内置拼写检查器。这是一个方便的工具,可以让我避免在职业生涯早期犯下的一个臭名昭著的拼写错误,在整个源代码中我拼错了“shield”,直到它被抓到为止。该拼写检查器的工作原理与 Word 或 Google Docs 等文字处理程序中的拼写检查器类似,并且可以轻松打开和关闭。只需在工具栏中查找带有复选标记的“ABC”图标即可。
怎么运行的
- 拼写检查器会检测拼写错误的单词,并用蓝色曲线在它们下划线。
- 您可以选择忽略建议、禁用拼写检查或从上下文菜单中将拼写错误的单词替换为正确的单词。
- 拼写检查器对于保持代码注释和字符串文字的准确性非常有益。
- 通过创建要在 .editorconfig 文件中排除的自定义单词词典来进行自定义。

7. 辅助功能检查器
创建可访问的应用程序势在必行,而 Visual Studio 的新辅助功能检查器使这项任务变得更加容易。该工具可帮助开发人员识别并修复应用程序中常见的可访问性问题,确保每个人都可以使用它们。
怎么运行的
- 开始调试您的 WPF 应用程序,然后单击“扫描辅助功能问题”以运行检查器。
- 该工具将突出显示任何可访问性错误,例如空属性名称,允许您直接从结果中修复它们。
Make accessible XAML apps in Visual Studio
8..NET Aspire 支持
Visual Studio 2023 引入了 .NET Aspire 编排,这是一项简化云原生开发的预览功能。通过在 Visual Studio 中集成 .NET Aspire 工具,开发人员可以快速构建云就绪的解决方案,集成运行状况检查、服务发现和弹性。
入门
- 您可以从提供的模板创建新的 .NET Aspire 项目
- 将 Aspire 组件添加到现有项目中。
- 模板设置提供对服务默认值、跟踪指标等的支持。

9. 界面刷新
UI 刷新绝对令人赏心悦目,它带来了微妙的更新,提升了整体用户体验。刷新包括更现代的 UI 元素,如浮动选项卡和圆角半径,以及新主题。

10. Visual Studio Code 的 C# 开发工具包
C# 开发工具包借用了 Visual Studio 中的一些熟悉的概念,为 VS Code 带来更高效、更可靠的 C# 体验。无论您是快速编辑 C# 文件、学习 C# 还是调试后端 API,这种方法都能确保您获得良好的体验。 C# 开发工具包由一组 VS Code 扩展组成,这些扩展共同提供丰富的 C# 编辑体验、AI 驱动的开发、解决方案管理和集成测试。如下图所示,C# Dev Kit 包含:
[C# 扩展](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.c- sharp)提供基本语言服务支持,并继续独立于此项工作进行维护。
- C# 开发工具包扩展,以 Visual Studio 为基础构建,提供解决方案管理、模板和测试发现/调试。
- IntelliCode for C# Dev Kit 扩展(可选),为编辑器带来了人工智能驱动的开发。
Packing light with VS Code and the C# Dev Kit | .NET Conf 2023
概括
Visual Studio 2022 有很多值得喜爱的功能,您最喜欢的功能是什么?让我们在评论中知道!要更深入地了解其中任何一个,您可以查看 Visual Studio 博客,这是了解最新功能的绝佳资源。想看看其中一些功能的实际应用吗?看看我的前 10 名视频:
My Top 10 NEW Visual Studio Features of 2023
请继续关注更多更新和快乐编码!
人工智能辅助内容。本文部分是在人工智能的帮助下创建的。作者根据需要审查并修改了内容。了解更多
原文链接
My Top 10 NEW Visual Studio Features of 2023 for .NET Developers

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com)
【译】我为 .NET 开发人员准备的 2023 年 Visual Studio 10 大新功能的更多相关文章
- 角落的开发工具集之Vs(Visual Studio)2017插件推荐
		因为最近录制视频的缘故,很多朋友都在QQ群留言,或者微信公众号私信我,问我一些工具和一些插件啊,怎么使用的啊?那么今天我忙里偷闲整理一下清单,然后在这里面公布出来. Visual Studio 201 ... 
- 【转】角落的开发工具集之Vs(Visual Studio)2017插件推荐
		因为最近录制视频的缘故,很多朋友都在QQ群留言,或者微信公众号私信我,问我一些工具和一些插件啊,怎么使用的啊?那么今天我忙里偷闲整理一下清单,然后在这里面公布出来. Visual Studio 201 ... 
- 提高你开发效率的十五个Visual Studio 2010使用技巧
		提高你开发效率的十五个Visual Studio 2010使用技巧 相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个ID ... 
- [译]作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的
		前日在cnblogs上看到一遍文章<每个程序员都必读的12篇文章>,其中大多数是E文的. 先译其中一篇web相关的”每个程序员必知之WEB开发”. 原文: http://programme ... 
- 对于Web开发最棒的22个Visual Studio Code插件
		翻译 原文作者:James Quick 原文地址:https://scotch.io/bar-talk/22-best-visual-studio-code-extensions-for- ... 
- visual Studio 2017 扩展开发(一)《向Visual Studio菜单栏新增一个菜单》
		最近有接触到关于visual studio 2017 扩展的开发,特此记录,也是为了督促自己去深入了解其原理. 开始开发Visual Studio 扩展,在这里我安装了visual studio 20 ... 
- 报表开发神器!DevExpress Reporting v19.1:WinForms平台新功能
		行业领先的.NET界面控件DevExpress Reporting全新发布了v19.1版本,本文主要为大家介绍WinForms.ASP.Net Core平台.Visual Studio报表设计器中发布 ... 
- Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)
		Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容 Revit 2019开发环境的搭建,需要安装的内容如下: Revit 2019(主要的开发环境) Vi ... 
- 提高开发效率的十五个Visual Studio 2010使用技巧
		相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个IDE确实有它的独特之处.无容置疑,VS是一个非常强大的IDE,它支持多 ... 
- 提高你开发效率的十五个 Visual Studio 使用技巧
		相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个IDE确实 有它的独特之处.无容置疑,VS是一个非常强大的IDE,它支持 ... 
随机推荐
- jQuery组织后续事件 事件冒泡 事件委托 键被按下 批量操作 hover input 事件
			1. jQuery绑定事件的方式 1. $('').click(function(){}) 2. $('').on('click', function(){}) 2. 阻止后续事件执行 1. retu ... 
- 每天学五分钟 Liunx 111 | 存储篇:NFS
			NFS NFS(Network File System,网络文件系统),它可以通过网络让不同操作系统,不同机器共享彼此的文件. NFS 分为服务端和客户端.服务端提供共享的文件目录,客户端将该目录挂载 ... 
- 【TouchGFX】屏幕概念
			Screen构成 界面布局 View, 逻辑处理 Presenter Currently Active Screen 因TouchGFX分配内存的的方式是,按照最大的Screen分配,即最大View+ ... 
- [转帖]如何修改Bash Shell的提示符的格式和配色
			https://zhuanlan.zhihu.com/p/348416919 我们大多数使用的shell提示符,显示用户名.主机名和当前所在目录.在本文将会介绍如何定制一个自己喜欢的Bash. 了解B ... 
- [转帖]【TiDB】快速起步
			1. 存储引擎的的功能 提供数据存储接口并持久化存储数据 2. LSM-tree 的特性 LSM-tree 结构本质上是一个用空间置换写入延迟,用顺序写入替换随机写入的数据结构 3. 数据库技术的发展 ... 
- [转帖]煮饺子与 docker、kubernetes 之间的关系
			前言:云原生的概念最近非常火爆,企业落地云原生的愿望也越发强烈.看过很多关于云原生的文章,要么云山雾罩,要么曲高和寡. 所以笔者就有了写<大话云原生>系列文章的想法,期望用最通俗.简单 ... 
- [转帖]深入理解mysql-第十二章 mysql查询优化-Explain 详解(下)
			我们前面两章详解了Explain的各个属性,我们看到的都是mysql已经生成的执行计划,那这个执行计划的是如何生成的?我们能看到一些过程指标数据吗?实际mysql贴心为我们提供了执行计划的各项成本评估 ... 
- [转帖]strace 命令详解
			目录 1.strace是什么? 2.strace能做什么? 3.strace怎么用? 4.strace问题定位案例 4.1.定位进程异常退出 4.2.定位共享内存异常 4.3. 性能分析 5.总结 1 ... 
- [转帖]龙芯 vs 飞腾:各种测试数据看国产CPU水平
			https://zhuanlan.zhihu.com/p/99921594 2019年年末,龙芯.飞腾两大国产CPU巨头更是相继组织了规模宏大的年会,发布了新型桌面芯片及其整机产品,顿时硝烟四起.各大 ... 
- Mybatis 拦截器实现单数据源内多数据库切换 | 京东物流技术团队
			物流的分拣业务在某些分拣场地只有一个数据源,因为数据量比较大,将所有数据存在一张表内查询速度慢,也为了做不同设备数据的分库管理,便在这个数据源内创建了多个不同库名但表完全相同的数据库,如下图所示: 现 ... 
