【译】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 被称为 ...
随机推荐
- 【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
问题描述 如图上,是App Services在Windows环境中,系统自带了MySQL In App功能.而在,Linux环境中,没有发现Mysql in App功能,是不是无法在Linux中使用呢 ...
- Task Manager 的设计简述
讲解 Task Manager 之前,在这里先介绍一些 Task Manager 会使用到的概念术语. 图数据库 Nebula Graph 中,存在一些长期在后台运行的任务,我们称之为 Job.存储层 ...
- python执行JavaScript代码出现编码问题的解决方案
当我们安装好nodejs环境,想在python代码中去调用JavaScript代码,常常会出现编码的问题. 举个例子: python代码如下: 点击查看代码 import execjs f = ope ...
- Java 常用类 String的常用方法(3)
1 /** 2 * String常用方法3 3 * 替换: 4 * String replace(char oldChar,char newChar): 返回一个新的字符串,它是通过 5 * 用new ...
- ThinkPHP 3.2.3
说明手册 https://www.kancloud.cn/manual/thinkphp/1706 下载地址 https://gitee.com/liu21st/thinkphp32 thinkPHP ...
- MinimalApis自动注册
前言 在Asp.Net Core 6 推出了最小 Api(MinimalApis)来简化WebApi的开发,在前后端分离的趋势下越来越多的后端服务只提供Api接口,但是用Controller的开发模式 ...
- STM32 SPI DMA 源码解析及总结
一 前言 最近在调试stm32的SPI时候i,遇到了一个非常诡异的问题.中间花费了不少时间才把问题搞定.这中间暴露的问题值得反思.借此机会,还是梳理一下stm32的SPI的代码做一个总结吧. 二 初始 ...
- STM32进入HardFault_Handler的调试方法
在编写STM32程序代码时由于自己的粗心会发现有时候程序跑着跑着就进入了 HardFault_Handler中断,按照经验来说进入HardFault_Handler故障的原因主要有两个方面: 1:内存 ...
- C语言中的强制转换
许久没有遇到的问题 C语言真是博大精深,越使用它,就越发感觉到它的威力和恐怖,最近在做算法的时候,遇到了一个强转的错误,把人折腾的够受,这次要好好梳理一下了,希望下次不能再犯此类的问题. 强制转换 ...
- Electron Mac 打包报 Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT 解决方法
Electron 项目使用vue-cli-electron-builder创建,原来我的 Mac 上编译都很正常 自从 Mac 升级到 mac OS ventura version 13.0.1 后打 ...