【译】Visual Studio 中的 GitHub Copilot:2023年回顾
在快速发展的软件开发世界中,保持领先是至关重要的。在 Visual Studio 中引入AI,特别是 GitHub Copilot,已经彻底改变了开发人员的编码方式。通过将 Copilot 集成到 Visual Studio 中,您可以利用 AI 来简化工作流程,管理大型代码库,分析异常,甚至生成提交消息。这就像有一个知识渊博的结对程序员在你身边,帮助你提高生产力,更快地迭代,使你的应用程序更可靠。以下是在过去一年中我们想重点介绍的 Visual Studio 中 GitHub Copilot 的一些创新。
内联聊天视图
有没有想过,你可以把生成式 AI 聊天机器人给你的代码直接放到你的编辑器里?通过内联聊天,您可以在编辑器中与 GitHub Copilot 进行交互!这个功能允许你在编辑器中改进你的代码,这对于询问关于你活动的文件的特定问题是完美的,当 GitHub Copilot 给你代码建议时,你可以看到差异视图。
要访问内联聊天,您需要一个活跃的 GitHub Copilot 订阅和安装在 Visual Studio 17.8或更高版本中的扩展。要访问内联聊天,在只需在编辑器中点击右键> Ask Copilot,或通过快捷键(Alt+/)。
斜杠命令来指示你的意图
被误解是最糟糕的!斜杠命令允许您清楚地说明您的提示背后的意图,以便让 GitHub Copilot 没有误解。当学习使用生成式 AI 聊天机器人时,当它不理解你的要求时,总是令人沮丧。通过使用斜杠命令,它们允许您清楚地说明指示背后的意图,以便使 Copilot 没有误解。
斜杠命令存在于聊天窗口中。输入“/”会弹出一个命令列表,你可以用这些命令来说明你的意图,比如“/explain”用来解释代码,“/doc”用来记录一个方法或文件,等等!
上下文变量来优化你的作用域
有没有想过 GitHub Copilot 在回答你的问题时引用了什么?上下文变量特性允许您在问题中使用#符号指定解决方案中的文件。当你引用一个文件时,Copilot 可以访问它的内容,并提供与之相关的具体答案。
【提示】利用我们最新和最好的#Solution将所有文件的上下文包含在您打开的解决方案中,允许您将答案基于其中。注意#Solution只支持c#。例如:“What parts of this #Solution is designated to be a command line interface?”
例如,你可以问这样的问题:“How does the #Main.cs file work?”或“What is the purpose of the #Calculator.cs file?”然后,Copilot Chat 将根据这些文件的内容提供相关答案。此功能通过消除手动复制和粘贴的需要简化了流程。您可以在一个问题中包含多个文件,以获得更高的效率!
分析和修复测试窗口的失败
使用 GitHub Copilot,失败和异常分析从未如此简单。这种 AI 辅助功能可以帮助用户分析和修复由于失败的测试假设或在测试执行期间发生的异常而导致的测试失败。这个功能可以在 Test Explorer 中找到,并创建一个讨论线程,允许您与 GitHub Copilot 交互,为您提供解释和代码修复。当存在失败的测试时,“Ask Copilot”链接将出现在测试失败摘要解释中,允许您与 Copilot 进行后续操作。
AI 辅助异常分析
你有没有想过为什么会出现异常?现在,GitHub Copilot 可以用来协助异常分析,帮助开发人员理解异常发生的原因,并提出解决方法。它收集有关异常的相关信息,包括异常的类型、消息、来自堆栈跟踪的代码片段和局部变量值。这些数据随后被发送给 Copilot 进行初步分析。随后,用户可以与 Copilot 进行进一步对话,讨论错误并探索潜在的解决方案。
分析工具中的自动见解
由 CPU Usage 和 Instrumentation 分析器标记的自动见解允许您深入了解代码,一般与已知的有问题的模式相关。用户现在可以使用“Ask Copilot”链接获取有关该见解的更详细信息。GitHub Copilot 从见解中获取上下文,并使用它再次提示 Copilot,以便您可以获得有关您已获得的见解的更多信息,并提出后续问题!
重命名建议
您是否遇到过命名变量、方法或类的问题?您并不孤独。这个功能不仅仅是名字建议,它学习您的标识符使用习惯,并适应您的代码风格,提出无缝集成到代码库中的标识符。
要在 Visual Studio 中访问此功能,只需选择任意标识符,右键单击,然后选择“Rename”(Ctrl+R, Ctrl+R)。单击重命名建议按钮或使用 Ctrl+Space 快捷键。您将看到一个根据代码上下文定制的命名建议列表。选择最能让您产生共鸣的名字,然后按回车键!
生成的提交消息
在花了几个小时修复 bug 或更新特性之后,我最不想做的就是绞尽脑汁准确地编写 Git 提交的内容。幸运的是,Copilot 提供了一个解决方案。使用最新的生成的 Git 提交消息特性来简洁地描述您的更改集,并提高提交消息的质量和一致性,从而使代码更易于理解和维护。然后,在提交之前,你可以通过在更改后面添加关键的“why”来改善信息。
在 Git Changes 窗口中使用新的“Add AI Generated Commit Message”闪光笔图标生成建议。
断点表达式的智能感知
断点表达式可以帮助开发人员更高效地调试代码。然而,找到最佳的断点表达式可能是一项挑战和耗时的工作。这就是为什么我们在 Visual Studio 中使用 GitHub Copilot Chat ,这是一个 AI 伴侣,可以帮助我们对断点表达式进行智能感知。GitHub Copilot 可以分析我们的代码,并为我们的调试场景建议最佳的断点表达式。这是一个节省时间和精力的好方法!
该特性针对的是创建高级断点(如条件断点和跟踪点)的用户。使用断点周围的代码上下文,GitHub Copilot 建议用于断点条件和日志语句的潜在表达式。注意:智能感知断点建议只支持 C#。
死锁分析
死锁可能会在程序中导致严重的问题,并且检测和解决起来可能很繁琐。在 GitHub Copilot 中,死锁被揭开了神秘的面纱,通过在 Exception Helper 中显示它们,使其对用户来说变得更加明显。异常助手现在将包括一个“Ask Copilot”链接,在这个链接中,Copilot 将获取你的代码上下文,以及异常助手积累的信息,并允许用户继续向 Copilot 询问如何解决死锁。
我该如何开始呢?
所有这些特性以及更多特性现在都可以在最近发布的 Visual Studio 17.9中使用。那么,为什么还要等待呢?今天在 Visual Studio 中安装 Copilot 和 Copilot Chat,体验编程的未来!
提供反馈并保持联系
我们感谢您花时间报告问题/建议,并希望您在使用 Visual Studio 时继续给我们反馈,告诉我们您喜欢什么以及我们可以改进什么。
您的反馈对于帮助我们使 Visual Studio 成为最好的工具至关重要!您可以通过开发者社区与我们分享反馈,通过发送反馈来报告问题或分享您的建议,推动对新功能或现有功能的改进。
通过在 YouTube, Twitter, LinkedIn, Twitch 和 Microsoft Learn 上关注我们与 Visual Studio 团队保持联系。
原文链接:https://devblogs.microsoft.com/visualstudio/github-copilot-in-visual-studio-a-recap-of-2023/
【译】Visual Studio 中的 GitHub Copilot:2023年回顾的更多相关文章
- 在Visual Studio中使用GitHub(使用篇)
一.准备工具 上一篇中我们已经安装了Git Extensions和Tortoisegit.在这里我们要为Visual Studio安装一个插件,专门用于Git. Git Source Control ...
- Visual Studio中使用GitHub
一.简介 GitHub被微软收购后免费开放了私人仓库,这对个人或小型团队来说简直是福音.GitHub高效免费,无论是团队代码管理还是DevOps都不再话下,特别是对于想要开放研究成果提高知名度的团队或 ...
- [译]如何在visual studio中调试Javascript
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- 如何在Visual Studio中选择C++和C#的编译器版本
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在Visual Studio中选择C++和C#的编译器版本.
- 在Visual Studio中使用Pseudovariables来帮助调试
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在Visual Studio中使用Pseudovariables来帮助调试.
- 推荐一个可以直接在Visual Studio中看到complexity的插件CodeMaid
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:推荐一个可以直接在Visual Studio中看到complexity的插件CodeMaid.
- (15)Visual Studio中使用PCL项目加入WCF WebService参考
原文 Visual Studio中使用PCL项目加入WCF WebService参考 Visual Studio中使用PCL项目加入WCF WebService参考 作者:Steven Chang 2 ...
- Dynamics CRM2013 在Visual Studio中开启脚本的Xrm.Page智能提示
前面篇博文http://blog.csdn.net/vic0228/article/details/49663751提到了通过引用XrmPage-vsdoc.js文件来启用Xrm.Page的智能提示, ...
- Git Extensions 和 Tortoisegit 到底是什么?Git For VS(Git For Visual Studio)(Visual Studio 中使用 Git)
前言: 我们使用 Git 作为版本控制的朋友们,一定都熟悉 Git Extensions 和 Tortoisegit 两款工具,但是对于初学者,可能就不那么了解了. 当然如果有幸,你接触过 SVN , ...
- 教程:在 Visual Studio 中开始使用 Flask Web 框架
教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...
随机推荐
- 2024年,提升Windows开发和使用体验实践 - 终端&命令行篇
前言 经过前面的铺垫,终于继续更新了,这个大概率是本系列近期的最后一篇了. 同时之前有些内容更新,我也补充到这一篇里面. 关于 scoop 管理器的补充 scoop 常用命令 scoop help # ...
- 搭建一个Java项目可直接拿去使用的通用工具类
1.通用枚举类 import lombok.Getter; /** * @Description 状态码定义约束,共6位数,前三位代表服务,后3位代表接口 * 比如 商品服务210,购物车是220.用 ...
- AirPlay、DLNA、Miracast三大无线应用协议科普
作为经常玩wifi的,wifi的应用层协议就要好好分析一下,做一些特殊的应用,还是非常有必要的.这里,就给学习一下wifi的三大无线传输技术. AirPlayAirPlay 是苹果开发的一种无线技术, ...
- vue入门教程之-插槽
vue入门教程之-插槽 欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www ...
- UDP可靠传输协议KCP的一些理解
UDP主要用在哪两个方面 游戏 音视频通话 为什么要使用UDP? 实时性的考虑,丢包重传,TCP协议栈重传无法控制,UDP重发可以自定义策略. 在DNS查询的时候,也使用UDP,对资源的考虑. 如何做 ...
- day04-原生的API&注解方式
原生的API&注解方式 1.MyBatis原生的API调用 1.1原生API快速入门 需求:在前面的项目基础上,使用MyBatis原生的API完成,即直接通过SqlSession接口的方法来完 ...
- [原创] KCP 源码分析(上)
KCP 协议是一种可靠的传输协议,对比 TCP 取消了累计确认(延迟 ACK).减小 RTO增长速度.选择性重传而非全部重传.通过用流量换取低时延. KCP 中最重要的两个数据结构IKCPCB和IKC ...
- Spring Boot学习日记17
尝试整合JDBC spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/mybati ...
- python面向对象(绑定方法与非绑定方法)
# 一.绑定方法:特殊之处在于将调用者本身当做第一个参数自动传入 # 1)绑定给对象的方法:调用者是对象,自动传入的是对象 # 2)绑定给类的方法:调用者是类,自动传入的是类 # 类方法的应用 # 需 ...
- Https详细分析
目录介绍 01.为何会有Https 02.解决方案分析 03.SSL是什么 04.RSA验证的隐患 05.CA证书身份验证 06.Https工作原理 07.Https代理作用 08.Https真安全吗 ...