当前位置: 首页 > news >正文

Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码 【AI辅助开发系列】

🎀🎀🎀【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 协助调试
  6. Visual Studio 使用 IntelliCode AI 辅助代码开发
  7. Visual Studio 玩转 IntelliCode AI辅助开发

文章目录

  • 前言📋
  • 一、AI 辅助开发如何提供帮助❓
    • 1.1 让 AI 帮助你更快地编写代码
    • 1.2 询问 AI 助手更好地了解代码
    • 1.3 更快速地进行分析和调试
  • 二、GitHub Copilot 与 IntelliCode🤖
    • 2.1 Visual Studio 中的 GitHub Copilot
    • 2.2 Visual Studio 中的 IntelliCode
    • 2.3 功能对比 🆚
  • 三、总结🎯


在这里插入图片描述

前言📋

今天介绍两款 Visusal Studio AI辅助开发工具 ,后续还会介绍一些其他的好用的工具,比如阿里的 通义灵码 等。借助这些工具可以大大提高我们的工作效率和开发效率。


一、AI 辅助开发如何提供帮助❓

1.1 让 AI 帮助你更快地编写代码

  • 可以帮助你生成代码 和整个 函数建议(例如,如何通过用自然语言进行描述来编写代码以执行任务)
  • 根据编程模式 预测 接下来要编码的内容(补全)。
  • 通过 AI 驱动型上下文 感知建议 进行 代码重构

1.2 询问 AI 助手更好地了解代码

  • 代码部分的说明(例如,在你尝试理解别人的代码时)。
  • 编程问题的解答

1.3 更快速地进行分析和调试

  • 根据 AI 建议 优化性能
  • AI 标识的 bug 和解决方法。

二、GitHub Copilot 与 IntelliCode🤖

GitHub CopilotIntelliCode 可帮助你更快、更准确地编写代码,帮助更深入地了解代码库,并帮助执行其他开发任务,例如编写 单元测试调试分析

2.1 Visual Studio 中的 GitHub Copilot

Visual Studio IDE 中的 GitHub Copilot 充当 AI 结对程序员,帮助你在编写代码时提高工作生产力和效率。

Visual Studio 中的 GitHub Copilot 完成通过基于你提供的 上下文生成 整行或代码块,为开发过程添加了增强的 AI 协助。 它利用在数十亿行开源代码中训练出来的 AI 模型,在你编写代码时,直接在编辑器中实时提供自动完成式的代码建议。 它可帮助你更快地编写代码,且工作量更少。

可以在 IDE 中从 GitHub Copilot 获取建议,方法是开始编写想要使用的代码,或者在代码文件中编写 函数签名自然语言注释 来描述希望代码执行的功能。 可以选择通过接受建议的代码来使用它。

下图显示了 Visual Studio 中 GitHub Copilot 的代码生成功能。 在此示例中,你在代码文件中添加自然语言注释,GitHub Copilot 会为你生成灰色文本的代码建议。 如果选择使用代码,则可以选择 Tab 以将其插入代码文件中:

在这里插入图片描述

开始使用 Visual Studio 中的 GitHub Copilot 完成。 请注意,它需要 Visual Studio 2022 17.8 或更高版本。

Visual Studio 中的 GitHub Copilot 聊天是 Visual Studio IDE 中 GitHub Copilot 所提供完全集成的 AI 支持的聊天体验。 它使你能够使用 IDE 中的聊天界面与 GitHub Copilot 交互。 通过以自然语言询问与编码相关的问题,你可以接收特定于上下文的代码建议,深入了解代码块的工作原理、生成单元测试、查找问题并获取建议的修补程序。 它使你能够在不离开 IDE 的情况下获取编码信息和支持,帮助你做出明智的决策并编写更好的代码。

下图显示了 Visual Studio 中 GitHub Copilot Chat 的聊天窗口和内联(交互式代码助手询问 Copilot)视图。 在此示例中,你询问 Copilot 使用聊天窗口或交互式代码助手生成测试函数。 如果 Copilot Chat 提供要使用的代码建议,则可以接受将代码插入代码文件中:

在这里插入图片描述
所有 GitHub Copilot for Individuals 用户都可以访问 GitHub Copilot Chat。 了解详细信息。 所有 GitHub Copilot for Business 都有权访问有限的 GitHub Copilot Chat beta 版本。 了解详细信息。

2.2 Visual Studio 中的 IntelliCode

IntelliCode 利用代码上下文,结合从成千上万个公共开源代码中学习到的模式,为 IntelliSense 提供 AI 驱动的增强功能,包括建议、上下文感知的代码完成、整行完成和 API 使用示例。 通过使用人工智能,IntelliCode 利用你当前的代码上下文和模式,动态地将建议排列在完成列表的顶部,并在其旁边标注星形图标,从而帮助你更快地编写出准确的代码。

下图显示了 Visual Studio 中的 IntelliCode 完成:
在这里插入图片描述

2.3 功能对比 🆚

下表比较了 GitHub Copilot(和 GitHub Copilot Chat)和 IntelliCode 的功能。
在这里插入图片描述
看了对比真的好难抉择啊,怎么办?

在这里插入图片描述

可以将 GitHub CopilotIntelliCode 一起使用。 无需在它们之间进行选择。

三、总结🎯

这只是 AI 辅助开发系列的开篇文章,后续会更具体的介绍如何使用。请点赞关注持续留意后续文章。💕


🎀🎀🎀【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 协助调试
  6. Visual Studio 使用 IntelliCode AI 辅助代码开发
  7. Visual Studio 玩转 IntelliCode AI辅助开发

相关文章:

Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码 【AI辅助开发系列】

🎀🎀🎀【AI辅助编程系列】🎀🎀🎀 Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…...

Linux高级--2.4.5 靠协议头保证传输的 MAC/IP/TCP/UDP---协议帧格式

任何网络协议,都必须要用包头里面设置写特殊字段来标识自己,传输越复杂,越稳定,越高性能的协议,包头越复杂。我们理解这些包头中每个字段的作用要站在它们解决什么问题的角度来理解。因为没人愿意让包头那么复杂。 本…...

【UE5 C++课程系列笔记】14——GameInstanceSubsystem与动态多播的简单结合使用

效果 通过在关卡蓝图中触发GameInstanceSubsystem包含的委托,来触发所有绑定到这个委托的事件,从而实现跨蓝图通信。 步骤 1. 新建一个C类 这里命名为“SubsystemAndDelegate” 引入GameInstanceSubsystem.h,让“SubsystemAndDelegate”继承…...

PyQt实战——随机涂格子的特色进度条(十一)

系类往期文章: PyQt5实战——多脚本集合包,前言与环境配置(一) PyQt5实战——多脚本集合包,UI以及工程布局(二) PyQt5实战——多脚本集合包,程序入口QMainWindow(三&…...

.NET 8.0 项目升级到 .NET 9.0

本文项目从.NETCore3.1开始一直延续到目前,如果您没有升级过,请参考以下文章: .Net Core 2.2 升级到 .Net Core 3.1:https://blog.csdn.net/hefeng_aspnet/article/details/131259537 NetCore3.1或Net6.0项目升级到Net7.0&#x…...

用Python写炸金花游戏

文章目录 **代码分解与讲解**1. **扑克牌的生成与洗牌**2. **给玩家发牌**3. **打印玩家的手牌**4. **定义牌的优先级**5. **判断牌型**6. **确定牌型优先级**7. **比较两手牌的大小**8. **打印结果** 完整代码 以下游戏规则: 那么我们要实现的功能,就是…...

深度学习中的并行策略概述:2 Data Parallelism

深度学习中的并行策略概述:2 Data Parallelism 数据并行(Data Parallelism)的核心在于将模型的数据处理过程并行化。具体来说,面对大规模数据批次时,将其拆分为较小的子批次,并在多个计算设备上同时进行处…...

电商平台能挡住恶意网络爬虫的攻击吗?

爬虫盗取电商数据的步骤 爬虫技术作为一种数据获取工具,正逐渐成为电商平台的一大隐患。网络爬虫不仅能够获取商家关键信息并滋生仿冒网站,还能收集用户敏感信息,对用户的财产安全和隐私造成严重威胁。同时,爬虫攻击还会扰乱正常…...

Jenkins安装方法二

配置环境 和 Jenkins 官方的 yum 源之后进行安装 # 关闭防火墙 $ sudo systemctl stop firewalld $ sudo systemctl disable firewalld# 安装 EPEL 源 $ sudo yum install -y epel-release # 安装 wget $ sudo yum install -y wget# 配置 Jenkins 官方 yum 源 $ sudo wget -O /…...

Nginx性能优化全方案:打造一个高效服务器

提到前面:一个热衷技术,反对八股的资深研发,不卖课不引流,专注分享高质量教学博客。 如果觉得文章还不错的话,可以点赞收藏关注 支持一下,持续分享高质量技术博客。 如果有什么需要改进的地方还请大佬指出❌…...

【每日学点鸿蒙知识】沙箱目录、图片压缩、characteristicsArray、gm-crypto 国密加解密、通知权限

1、HarmonyOS 如何创建应用沙箱目录? 下载文件,想下载到自己新建的应用沙箱目录,有什么方法实现吗? fs.mkdir可以创建目录 参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis…...

XMLHttpRequest的基础知识

get请求 const xml new XMLHttpRequest(); xml.open("GET", "https://jsonplaceholder.typicode.com/todos/1", true); xml.onreadystatechange function () {if (xml.readyState 4 && xml.status 200) {console.log(xml.responseText);} }…...

学习笔记(C#基础书籍)-- C#基础篇

(12.24) C#介绍:《第一章》 特点:语法简洁,面向对象,支持绝大部分的web标准,强大的安全机制(垃圾回收器),兼容性好(遵循.NET的公共语言规范【CL…...

现在有什么赛道可以干到退休?

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:点击跳转到网站 ,对人工智能感兴趣的小伙伴可以点进去看看。 最近,一则“90后无论男女都得65岁以后退休”的消息在多个网…...

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么? CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台,包括VSCode、IDER、Chrome插件、Web和APP等,支持插件安装,尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…...

选择屏幕的用法

**************************定义控件*********************************** SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002. SELECT-OPTIONS bukrs FOR iloa-bukrs . "公司代码 SELECT-OPTIONS swerk FOR iloa-swerk OBLIGATORY . "工厂 SELECT-O…...

VirtualBox下ubuntu23.04使用主机串口以及使用 minicom 进行串口调试

VirtualBox下ubuntu23.04使用主机串口以及使用 minicom 进行串口调试 一、打开设备管理器看主机(Window系统)是否识别出串口,我这边显示的串行通信端口是COM3 二、打开VirtualBox,设置串口和USB设备 串口设置: 启用…...

CH340系列芯片驱动电路·CH340系列芯片驱动!!!

目录 CH340基础知识 CH340常见类型 CH340引脚功能讲解 CH340驱动电路 CH340系列芯片数据手册 编写不易,仅供学习,请勿搬运,感谢理解 常见元器件驱动电路文章专栏连接 LM7805系列降压芯片驱动电路降压芯片驱动电路详解-CSDN博客 ME62…...

Unity中使用环形缓冲区平滑抖动值

环形缓冲数据结构,就是如下图一样的一个收尾相接的列表 在index指针指到4时,再往里添加数据,index就会指向0,并覆盖已有数据。 如何绘制Sin函数,请看下面一篇文章 Unity中如何实现绘制Sin函数图像-CSDN博客 接下来要…...

如何通过HTTP API插入或更新Doc

本文介绍如何通过HTTP API向Collection中插入或更新Doc。 说明 若调用本接口时Doc Id已存在,则等同于更新Doc;Doc Id不存在,则等同于插入Doc。 若调用本接口时不指定Doc Id,则等同于插入Doc,DashVector会自动生成Doc …...

RTMW:实时多人2D和3D 全人体姿态估计

单位:上海AI实验室 代码:mmpose/tree/main/projects/rtmpose 系列文章目录 RTMO: 面向高性能单阶段的实时多人姿态估计 目录 系列文章目录摘要一、背景二、相关工作2.1 自上而下的方法。2.2 坐标分类。2.3 3D Pose 3 实验方法3.1.1 任务限制3.1.3训练技…...

《Java源力物语》-3.空值猎手

~犬📰余~ “我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎” \quad 夜色渐深,在一处偏僻小径上,月光透过浓密的源力云层,在地面上投下斑驳的光影。String正独自练习着刚从…...

macrodroid通过http请求控制手机运行宏

macrodroid adb命令 adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS例:http请求手机播放指定MP3文件 声音素材_电量过低提醒 新建一个宏 添加触发器-连接-http服务器请求 路径随意填,最好不要有特殊符号,不然浏览器识别链接会出错,…...

Redis分片集群+MQ处理高并发

Redis的三大集群模式:主从复制、哨兵模式和Cluster模式。每种模式都有其特点和应用场景,具体如下: 主从复制模式:适用于数据备份和读写分离场景,配置简单,但在主节点故障时需要手动切换。哨兵模式&#xff…...

Linux内核 -- UIO (User-space I/O) 简介与使用笔记

UIO (User-space I/O) 简介 UIO (User-space I/O) 是 Linux 内核提供的一种机制,用于简化设备驱动的开发。它将设备的硬件资源(如内存映射、中断等)通过简单的接口暴露给用户空间程序,从而使用户可以在用户空间编写复杂的设备逻辑…...

《计算机组成及汇编语言原理》阅读笔记:p86-p115

《计算机组成及汇编语言原理》学习第 6 天,p86-p115 总结,总计 20 页。 一、技术总结 1.if statement 2.loop 在许多编程语言中,有类种循环:一种是在程序开头检测条件(test the condition),另一种是在程序末尾检测条件。 3.C…...

Python爬虫实战(保姆级登网页信息爬取教程)

此blog为爬虫实战教学,代码已附上,可以复制运行。若要直接看实战代码翻到博客后半部分。 本文使用selenium库进行爬虫,实现爬取数据操作,此库是通过模仿用户的操作进行对页面的处理。了解了这个思维模式,可以对代码进…...

探索CSDN博客数据:使用Python爬虫技术

探索CSDN博客数据:使用Python爬虫技术 在数字化的浪潮中,数据的获取与分析变得日益关键。CSDN作为中国领先的IT社区和服务平台,汇聚了海量的技术博客与文章,成为一座蕴藏丰富的数据宝库。本文将引领您穿梭于Python的requests和py…...

PPT画图——如何设置导致图片为600dpi

winr,输入regedit打开注册表 按路径找,HKEY_CURRENT_USER\Software\Microsoft\Office\XX.0\PowerPoint\Options(xx为版本号,16.0 or 15.0或则其他)。名称命名:ExportBitmapResolution 保存即可,…...

uniapp——APP读取bin文件,解析文件的数据内容(二)

文章目录 读取bin文件内容,发送给蓝牙设备;上传文件返回数据格式通过URL路径获取文件对象,读取文件的数据内容file对象返回数据格式 读取bin文件内容,发送给蓝牙设备; 上传文件,根据返回路径,解…...

Paddler负载均衡器

Paddler负载均衡器 Paddler本身是用Go语言编写的,没有直接的Python接口,但可以通过以下方式在Python中使用: 执行命令行调用 在Python中可以使用 subprocess 模块来调用Paddler的命令行工具,实现负载均衡功能 。例如: import subprocessdef start_paddler_agent():com…...

`we_chat_union_id IS NOT NULL` 和 `we_chat_union_id != ‘‘` 这两个条件之间的区别

文章目录 1、什么是空字符串?2、两个引号之间加上空格 好的,我们来详细解释一下 we_chat_union_id IS NOT NULL 和 we_chat_union_id ! 这两个条件之间的区别,以及它们在 SQL 查询中的作用: 1. we_chat_union_id IS NOT NULL 含…...

clicbot可立宝编程 易错归纳笔记

1、屏幕播放表情模块和等待时间 易错点1: (1)等待时间: (a)不是等上一个代码执行完,再执行等待时间,这是错误的。 (b)等待时间上面的代码1刚开始执行,上面的代码2也刚开始执行,不是等到代码1执行完&#xf…...

MySQL 数据”丢失”事件之 binlog 解析应用

事件背景 客户反馈在晚间数据跑批后,查询相关表的数据时,发现该表的部分数据在数据库中不存在 从应用跑批的日志来看,跑批未报错,且可查到日志中明确显示当时那批数据已插入到数据库中 需要帮忙分析这批数据丢失的原因。 备注:考虑信息敏感性,以下分析场景测试环境模拟,相关数据…...

基于人工智能时代政务智慧转型的实现前景初探

去年6月,我有幸聆听了由华政公共管理与政治学院精心组织的2019年MPA研究生高端论坛,上午场:由董海军(中共上海市委机构编制委员会办公室处长)主讲的深化机构改革的探索与实践,以及下午场:由束金…...

【论文笔记】Visual Alignment Pre-training for Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Visual Alignment Pre-tra…...

一起学Git【第五节:git版本回退】

git reset 是 Git 版本控制系统中一个非常强大的命令,它可以用来重置当前分支到指定的状态,即执行撤销操作或者回退至之前的某一版本,他可以回退至之前的某一个提交状态。有三种主要的用法:git reset --soft;git reset --hard;git reset --mixed; 对比如图: 1.git res…...

金蝶V10中间件的使用

目录 环境准备搭建过程配置修改应用部署 环境准备 Linux内核服务器JDK1.8安装包:AAS-V10.zip程序包:***.war 搭建过程 将安装包上传至服务器opt目录下,官方给定的默认服务主目录为“/opt/AAS-V10/ApusicAS/aas/”;解压安装包(解…...

hi168大数据离线项目环境搭建

hi168大数据离线项目环境搭建 ## **1. 服务器准备**##### 1.1 创建集群应用节点 集群服务器使用“我的应用“中的Ubuntu22.04集群模版创建三个节点应用,并且进入“我的应用”中去修改一下节点名称(node1对应master,node2对应hadoop1&#xf…...

Ubuntu 22.04安装Docker

陈拓 2024/10/19-2024/12/26 0. 概述 docker是容器(Container),有点像一个轻量级的虚拟机。 容器是一种轻量级、可移植、并将应用程序进行的打包的技术,使应用程序可以在几乎任何地方以相同的方式运行。Docker将镜像文件运行起…...

穿山甲等广告联盟依据哪些维度给APP、小程序结算广告变现收益

媒体在开展广告变现商业化时,最关心的是变现收益问题,所运营的不同体量的APP、小程序能产生多少广告变现收益。#广告联盟# 广告变现的价格、收益不是一成不变的,广告转化是影响广告收益的重要因素之一。广告平台针对整个变现链路上的各环节&…...

【ES6复习笔记】迭代器(10)

什么是迭代器? 迭代器(Iterator)是一种对象,它能够遍历并访问一个集合中的元素。在 JavaScript 中,迭代器提供了一种统一的方式来处理各种集合,如数组、字符串、Map、Set 等。通过迭代器,我们可…...

ROS1入门教程6:复杂行为处理

一、新建项目 # 创建工作空间 mkdir -p demo6/src && cd demo6# 创建功能包 catkin_create_pkg demo roscpp rosmsg actionlib_msgs message_generation tf二、创建行为 # 创建行为文件夹 mkdir action && cd action# 创建行为文件 vim Move.action# 定义行为…...

【 Copilot】云开发 Copilot 实战教程:从入门到精通,掌握云开发核心技能

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 引言 云开发 Copilot 作为一款革新性的开发辅助工具,利用先进的人工智能技术,为开发者在云开发的征程中点亮…...

DataCap MongoDB Driver: 全面解析MongoDB在DataCap中的使用指南

在大数据时代,MongoDB作为一款广受欢迎的NoSQL数据库,其灵活的文档存储模型和强大的查询能力使其成为许多现代应用的首选数据存储方案。今天,我们将深入探讨DataCap MongoDB Driver,这是一个强大的工具,它让在DataCap环…...

[x86 ubuntu22.04]双触摸屏的触摸事件都响应在同一个触摸屏上

1 问题描述 CPU:G6900E OS:ubuntu22.04 Kernel:6.8.0-49-generic 系统下有两个一样的 edp 触摸屏,两个触摸屏的触摸事件都响应在同一个 edp 屏幕上。 2 解决过程 使用“xinput”命令查看输入设备,可以看到只有一个 to…...

Linux:SystemV通信

目录 一、System V通信 二、共享内存 代码板块 总结 一、System V通信 System V IPC(inter-process communication),是一种进程间通信方式。其实现的方法有共享内存、消息队列、信号量这三种机制。 本文着重介绍共享内存这种方式。 二、共…...

全面Kafka监控方案:从配置到指标

文章目录 1.1.监控配置1.2.监控工具1.3.性能指标系统相关指标GC相关指标JVM相关指标Topic相关指标Broker相关指标 1.4.性能指标说明1.5.重要指标说明 1.1.监控配置 开启JMX服务端口:kafka基本分为broker、producer、consumer三个子项,每一项的启动都需要…...

Springboot项目Druid运行时动态连接多数据源的功能

项目支持多数据库连接是个很常见的需求&#xff0c;这不仅是要在编译前连已经知道的多个数据库&#xff0c;有时还要在程序运行时连后期增加的多个数据源来获得数据。 一、编译前注册数据库连接 1.引入依赖包 <!-- springboot 3.x --><dependency><groupId&g…...

【漏洞复现】F5 BIG-IP Next Central Manager SQL注入漏洞(CVE-2024-26026)

免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作…...