Visual Studio 使用 GitHub Copilot 聊天

🎀🎀🎀【AI辅助编程系列】🎀🎀🎀

  1. Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码
  2. Visual Studio 安装和管理 GitHub Copilot
  3. Visual Studio 使用 GitHub Copilot 扩展
  4. Visual Studio 使用 GitHub Copilot 聊天
  5. Visual Studio 使用 GitHub Copilot 协助调试

在这里插入图片描述


文章目录

  • 一、前言
  • 二、为什么在 Visual Studio 中使用 Copilot 聊天?
  • 三、在 Visual Studio 中使用 Copilot 聊天
    • 3.1 在聊天窗口中提问
    • 3.2 在内联聊天视图中提问
  • 四、总结


一、前言

本文介绍了如何在 Visual Studio 中使用 Copilot Chat,这是 Visual Studio IDEGitHub Copilot 提供的完全集成的 AI 支持的聊天体验。 它使你能够获取编码信息和支持,例如语法、编程概念、特定于上下文的代码帮助、测试用例、调试等,而无需离开 IDE。 使用聊天界面以提示的形式提交问题,并设置意向以提供更好的范围答案。


二、为什么在 Visual Studio 中使用 Copilot 聊天?

Copilot 聊天提供 AI 辅助,帮助你做出明智的决策并编写更好的代码。 在 Visual Studio 中紧密集成后,Copilot 聊天将了解你正在处理的内容,并可以帮助你完成开发任务,例如:

  • 代码说明:深入 分析说明 代码块的 工作原理
  • 代码帮助:获取编程相关问题的解答,可以是 自然语言 格式,也可以是 代码片段 格式。
  • 代码优化:获取特定于上下文的 代码建议推荐
  • 单元测试:生成 单元测试
  • 分析:优化 代码性能
  • 调试:查找问题并获取对 bug 和 异常的 建议修复

三、在 Visual Studio 中使用 Copilot 聊天

可以使用自然语言询问编码相关问题,GitHub Copilot Chat 将在开发上下文中回答这些问题。

两个位置 可以询问 Copilot 这些问题:在聊天窗口中询问,或者在考虑修改的代码中使用内联聊天直接内联询问。 对于目标是 修改或添加 到编辑器中打开的代码文件的问题,内联聊天视图 通常会达到最佳效果,而更 常规编码问题聊天窗格 中会得到最佳解答。

请参阅用于改进 Copilot 聊天结果的提示,了解如何使用斜杠命令、引用、使用的源和线程,以便在 Copilot Chat 中使用已限定范围上下文获取更好的答案。

使用 Visual Studio 2022 版本 17.11 时,内容排除可用于 Visual Studio 中的 GitHub Copilot Chat。 管理员排除的内容现在将在聊天的响应中被忽略。 请参阅配置 GitHub Copilot 的内容排除项以了解详细信息。

3.1 在聊天窗口中提问

Visual Studio 中 Copilot Chat 的聊天窗口使你能够提问并在聊天窗格中查看答案。 它通常是使用 Copilot 获取编程帮助和解决常规编码问题的最佳方法。

  1. 在 Visual Studio 中,选择 查看 > GitHub Copilot Chat

  2. “Copilot Chat” 窗口中,在 “询问 Copilot” 文本框中键入编码相关问题。 按 Enter 键或选择 “发送” 以提问。

在这里插入图片描述

使用 Visual Studio 2022 版本 17.12 及更高版本中的示例初学者提示和提示库(书籍图标)开始探索 GitHub Copilot Chat。

  1. 如果 Copilot Chat 提供要使用的代码建议,请选择 “复制代码块” 以复制代码建议,选择 “插入代码块” 以在代码文件中插入代码建议,或选择 “预览” 在当前代码文件中插入代码建议。 使用 “预览” 按钮可在目标位置预览代码,以便轻松查看正在更新的内容。

在这里插入图片描述
如果提出问题以获取有关理解代码的帮助,则 “复制代码块”“在新文件中插入” 选项将不可用。

  1. 如果选择 “预览”,则会在普通 Visual Studio 差异视图模式中看到代码建议。 选择 “接受” 可查看和优化提议的内容并应用于代码,而选择 “取消” 可放弃这些内容。

在这里插入图片描述

  1. 如果选择 “在新文件中插入”,则会在新文件中看到代码建议。 默认情况下,该文件不会保存。

在这里插入图片描述
Visual Studio 2022 版本 17.12 现在在 GitHub Copilot 中包含引用代码。 GitHub Copilot 中的此功能在建议与公共代码匹配时通知你。 可以直接在 Visual Studio 中查看匹配的代码、其源文件和任何关联的许可信息。 这使你能够就是否使用建议的代码做出更明智的决策。

在这里插入图片描述

3.2 在内联聊天视图中提问

Visual Studio 中 Copilot Chat 的内联聊天视图使你能够提出问题,并在编辑器窗口本身看到代码内联的答案。 使用 内联聊天 ,无需来回转到聊天窗口。 它通常非常适合使用 Copilot 处理 添加到或更新 当前打开的 代码文件 的问题。

  1. 在 Visual Studio 中,右键单击编辑器窗口,选择 “询问 Copilot” ,编辑器本身就会显示 Copilot Chat 的内联聊天视图。

在这里插入图片描述

  1. “询问 Copilot” 文本框中键入编码相关问题,然后按 Enter 键或选择 “发送” 以提问。
    在这里插入图片描述
  2. 你将在 Visual Studio 差异视图中看到 Copilot Chat 中的代码建议。 选择 “接受” 可查看和优化提议的内容并应用于代码,而选择 “取消” 可放弃这些内容。
    在这里插入图片描述
  3. 可以通过选择在聊天窗口中继续,将内联聊天会话提升到聊天窗口。 这将保留对话的记录和上下文,而你可以在聊天窗口中继续。

在这里插入图片描述

  1. 可以通过按 Esc 关闭内联聊天视图。

四、总结

Visual Studio 中的 GitHub Copilot Completion 和 GitHub Copilot Chat可以在 Visual Studio 中实现增强的 AI 辅助开发,帮助你在编写代码时更加高效。赶快行动起来吧。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TimerPickerDialog组件的用法

文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了Snackbar Widget相关的内容,本章回中将介绍TimePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的TimePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为时间,它主…

Linux高并发服务器开发 第四天(wc/whoami命令 权限修改chmod 添加/删除用户(组) 切换用户 修改文件所有者/所属组 查找/过滤)

目录 1.wc和whoami命令 1.1wc命令 1.2whoami命令 2.用户权限/用户/用户组 2.1修改文件权限chmod 2.1.1文字设定法 2.1.2数字设定法 2.2添加删除新用户和新用户组 2.3切换用户 2.4修改文件所有者和所属组 2.4.1修改所有者 2.4.2修改所属组 3.查找和过滤 3.1find—…

微服务架构导学

一. 什么是微服务 微服务是一个软件架构风格,将一个大型的项目拆分成多个小项目,每个项目都被称为一个微服务,通过多个微服务共同组成一个大的项目。 二. 单体架构和微服务架构 单体架构 将整个项目的功能、模块全部堆积在一个项目中 优点&am…

【kubernetes】kubectl get nodes报NotReady

目录 1. 说明2. 问题描述3. kube-flannel.yml 1. 说明 1.这里k8s的版本是v1.17.4。2.若kube-flannel.yml中的镜像拉取不下来,可以下载本文章的文件资源,手动docker load -i ***.tar的方式。3.v1.17.4的kube-flannel.yml参考下面代码。4.通过kubectl get…

web实操7——ServletContext

概念 和服务器通信 功能 解释说明: mime:互联网中一种文件的类型,可以用servletContext对象来获取。 域对象:用来共享数据,里面有一些get,set,removeAttribute,只要搞清楚ServletContext对象的域的范围是什么 如何…

LLMC:大语言模型压缩工具的开发实践

关注:青稞AI,学习最新AI技术 青稞Talk主页:qingkelab.github.io/talks 大模型的进步,正推动我们向通用人工智能迈进,然而庞大的计算和显存需求限制了其广泛应用。模型量化作为一种压缩技术,虽然可以用来加速…

舌头分割数据集labelme格式2557张1类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):2557 标注数量(json文件个数):2557 标注类别数:1 标注类别名称:["tongue"] 每个类别标注的框数&#xff1…

测试工程师八股文03|Python编程题

一、题目 1、合并两个数组 class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:nums1[m:] nums2nums1.sort()2、判断链表中是否有环 class Solution:def hasCycle(self, head: ListNode) -> bool:seen set()while head:if…

MyBatis-Plus 基础

教程 视频教程:https://www.bilibili.com/video/BV1Xu411A7tL 详细文档:https://b11et3un53m.feishu.cn/wiki/PsyawI04ei2FQykqfcPcmd7Dnsc 常见注解 MybatisPlus就是根据PO实体的信息来推断出表的信息,从而生成SQL的。默认情况下&#xf…

VMware Workstation Pro 17 下载 以及 安装 Ubuntu 20.04.6 Ubuntu 启用 root 登录

1、个人免费版本 VMware Workstation Pro 17 下载链接怎么找?直接咕咕 VMware 找到如下链接。链接如下:Workstation 和 Fusion 对个人使用完全免费,企业许可转向订阅 - VMware 中文博客 点进去链接之后你会看到如下,注意安装之后仍…

深度学习——激活函数、损失函数、优化器

深度学习——激活函数、损失函数、优化器 1、激活函数1.1、一些常见的激活函数1.1.1、sigmoid1.1.2、softmax1.1.3、tanh1.1.4、ReLU1.1.5、Leaky ReLU1.1.6、PReLU1.1.7、GeLU1.1.8、ELU 1.2、激活函数的特点1.2.1、非线性1.2.2、几乎处处可微1.2.3、计算简单1.2.4、非饱和性1…

智慧政务数据中台建设及运营解决方案

数据中台:政府数字化转型的引擎 数据中台作为政府数字化转型的核心驱动力,起源于美军的作战体系,强调高效、灵活与强大。它不仅促进了政府决策的科学性,还推动了政府服务的精细化与智能化。 数据中台的应用场景:数字…

计算机毕设-基于springboot的社区居民诊疗健康管理系统的设计与实现(附源码+lw+ppt+开题报告)

博主介绍:✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…

day11 性能测试(4)——Jmeter使用(黑马的完结,课程不全)直连数据库+逻辑控制器+定时器

【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、复习 1.1 断言(3种) 1.2 关联(3种) 1.3 录制脚本 2、Jmeter直连数据库 2.1 直连数据库——使用场景 2.2 直连数据库——操作步骤 2.2.1 案例1&…

React的状态管理库-Redux

核心思想:单一数据源、状态是只读的、以及使用纯函数更新状态。 组成部分 Store(存储) 应用的唯一状态容器,存储整个应用的状态树,使用 createStore() 创建。 getState():获取当前状态。dispatch(action)&#xff…

解决MAC装win系统投屏失败问题(AMD显卡)

一、问题描述 电脑接上HDMI线后,电脑上能显示有外部显示器接入,但是外接显示器无投屏画面 二、已测试的方法 1 更改电脑分辨,结果无效 2 删除BootCamp,结果无效 3更新电脑系统,结果无效 4 在设备管理器中&#…

PWM调节DCDC参数计算原理

1、动态电压频率调整DVFS SOC芯片的核电压、GPU电压、NPU电压、GPU电压等,都会根据性能和实际应用场景来进行电压和频率的调整。 即动态电压频率调整DVFS(Dynamic Voltage and Frequency scaling),优化性能和功耗。 比如某SOC在…

【C++】OOP(二):定义基类和派生类

15.2 定义基类和派生类 15.2.1 定义基类 我们首先完成 Quote 类的定义&#xff1a; #include <string>class Quote {public:Quote() default; // 默认构造函数Quote(const std::string &book, double sales_price):bookNo(book), price(sales_price) { }std::st…

软件安装不成功,一直出现“chrome_elf.dll丢失”问题是什么原因?“chrome_elf.dll丢失”要怎么解决和预防?

软件安装遇阻&#xff1a;“chrome_elf.dll丢失”问题全解析与解决方案 在软件安装与运行的过程中&#xff0c;我们时常会遇到各式各样的错误提示&#xff0c;其中“chrome_elf.dll丢失”便是较为常见的一种。这个错误不仅阻碍了软件的正常安装&#xff0c;也给用户带来了不小…

Python爬虫之Scrapy框架基础入门

Scrapy 是一个用于Python的开源网络爬虫框架&#xff0c;它为编写网络爬虫来抓取网站数据并提取结构化信息提供了一种高效的方法。Scrapy可以用于各种目的的数据抓取&#xff0c;如数据挖掘、监控和自动化测试等。 【1】安装 pip install scrapy安装成功如下所示&#xff1a;…