Visual Studio 智能代码插件:CodeGeeX

前言

在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键。

随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具。其中,CodeGeeX作为一款专为Visual Studio设计的免费智能编程助手,凭借其强大的功能和便捷的使用体验,赢得了广大开发者的青睐。

CodeGeeX通过深度学习技术,能够理解开发者的编程意图,提供智能的代码补全、错误检查、代码重构等功能,帮助开发者快速编写出高质量、易维护的代码。同时,它还能够与Visual Studio无缝集成,无需额外的配置和设置,即可轻松使用。

在本文中,将详细介绍CodeGeeX的特点和优势,以及如何使用它来提升编程效率和质量。无论你是经验丰富的开发者,还是刚刚入门的初学者,CodeGeeX都将成为编程路上的得力助手。

CodeGeeX 是什么?

CodeGeeX是一款基于大模型的智能编程助手,它可以实现代码的生成与补全、自动为代码添加注释、自动解释代码、自动编写单元测试、实现代码审查Code Review、自动修复代码fixbug、自动生成commit message完成git提交,以及在不同编程语言的代码间实现互译、针对技术和代码问题的智能问答等丰富的功能。

帮助开发者显著提高工作效率,CodeGeeX支持100+种编程语言,适配多种主流IDE平台,包括Visual Studio Code,JetBrains IDEs,Visual Studio,HBuilderX,DeepIn-IDE等。

CodeGeeX支持的常见语言/框架

序号分类支持语言
1前端VUE、Javascript、TypeScript、HTML、CSS、React
2后端C、C++、C#、Java、Python、Go、PHP、Rust、SQL
3APP端ObjectC、Kotlin、Swift、Uni-App
4其他Peal、Ruby.GraphQL、Cobol

注意:支持语言完整列表 https://github.com/THUDM/CodeGeeX2/blob/main/evaluation/utils.py#L14

图片

图片

CodeGeeX的核心能力

功能描述
单行/多行代码续写根据上下文代码内容,推理出光标所在的当前行、当前段代码的内容。在实际开发场景中最常见也是提效最明显的场景。
根据注释生成代码根据自然语言的注释,自动生成所需要的代码,可以生成完整的方法级函数。
AskCodeGeeX智能问答通过侧边栏的智能问答交互,可以将开发中遇到的技术问题,直接向CodeGeeX提问获得快速解答。
自动添加注释给代码自动添加行级注释,可以根据需要选择英文或者中文。
代码翻译多种编程语言之间进行互译。理解代码语义并在保留原始代码语义和功能的基础上,翻译成另一种编程语言的等效代码。
生成单元测试根据函数、方法的内容和运行逻辑,生成相关的单元测试代码。支持Java、PythonGo、C/C++、JavaScript等,
NL2SQL基于给定的SQL表结构和自然语言描述的查询需求,生成SQL查询语句。
函数重构快速进行函数重构,梳理代码逻辑,降低出错风险。
生成调试日志通过理解代码运行逻辑,为代码自动生成调试信息,帮助用户快速定位问题。
生成ReadMe文档根据代码内容快速生成符合ReadMe格式的文档信息,
Code Interpreter工具箱接入了Code Interpreter的能力,可以实现批量处理文件,分析多种格式的数据并进行可视化,绘制数学函数,分析代码文件等。

自动模式

当CodeGeeX插件处于激活状态下,在编辑器中输入停止时,会从当前光标处开始进行自动的代码生成与补全。此时,右下角CodeGeeX图标转圈表示正在生成。生成的代码以灰色显示,按Tab键即可将生成结果在当前位置插入。如果不需要使用生成的代码,可按Esc键取消,也可以忽略生成的代码并继续输入。

交互模式

在需要获取代码生成结果时,按Ctrl+Enter激活交互模式。CodeGeeX插件将生成若干段候选代码,并显示在右侧窗口中。若希望使用其中某段候选代码,点击候选代码上方的"use code",即可将代码插入编辑器中的光标位置候选代码数量可以在插件设置中调整。

插件会根据当前光标位置自动判断生成一行或生成多行。CodeGeeX作为辅助工具,并不保证每次生成的是一段完整的代码。如果生成的代码没有完成一项功能,只需要让插件再次调用模型,继续向后生成,直到完成即可。

插件对于给定的输入,多次生成的结果可能不同。这是因为通过大模型进行生成,结果带有随机性。这种随机性可以从宏观统计上提高生成的准确率。如果希望降低随机性,可以在插件设置中调整部分参数设置,但不建议一般用户调整这些设置。

Visual Studio 插件安装

CodeGeeX适配了Visual Studio 2022之后所有的最高版本。

插件安装方式

1.在Visual Studio 2022的扩展->管理扩展中搜索CodeGeeX。

2、在Visual Studio窗口顶部的"扩展"菜单中,点击下拉菜单中选择"管理扩展"。或者直接用快捷键组合"Alt+Shift+X“访问扩展管理器。

3、搜索CodeGeeX,然后单击"下载"或"安装"按钮,具体如下图所示:

图片

4、重新启动Visual Studio,就完成了安装,可以在Visual Studio 的扩展看到CodeGeeX目录,具体如下图所示:

图片

使用方式

CodeGeex 在Visual Studio 中的使用方式,保持了它在Visual Studio Code 和 JetBrains IDEs 全家桶的使用方式,您可以无缝的拓展到不同IDE平台来使用。

1、登录

启动后进行登录,有三种登录方式,可以点击左上角的 登录 链接,也可以点CodeGeeX菜单中的"登录”,也可以打开聊天框打开侧边栏进行登录,具体如下图所示:

图片

这里通过CodeGeeX的侧边栏登录,可以选择验证码登录,账号登录,第三方账号登录。通过第三方登录,然后绑定手机号,就可以使用CodeGeeX的全部功能,开启倍速编程的体验吧!

图片

2、设置

可以通过点击侧边栏顶部的更多按钮,下拉菜单中直接进入设置,修改更符合开发习惯的设置。

每一个选项点击后,下方会有相应的描述。

图片

3、侧边栏

侧边栏可以通过拖拽的方式变宽,或是同其他visual窗口一样进行停靠、锚定,或放在更习惯的左侧或右侧位置,确保在Visual Studio 上编程的丝滑体验。

图片

切换模型 Change Model

图片

在边栏的智能问答输入框中,使用“/”调出预设命令:

图片

核心功能

自动生成代码

在编码过程中,CodeGeeX可以根据上下文代码的内容,推理出接下来可能的代码输入。如果认为推理出的代码内容合适,使用快捷键Tab对生成的代码进行采纳,被采纳的代码即会高亮显示并留存在光标后;

如果认为内容不合适,任意键可以取消推荐的内容,继续手动编码。可以使用Tab键接收建议,也可以通过开始编写要使用的代码来接收建议。

根据注释生成代码 将注释转换为代码

CodeGeeX可以针对一段自然语言的注释内容,生成相关的代码片段 。

特别是对于能够使用一句话描述清楚的、常见的算法片段、函数段、方法段等。

自动为代码添加注释

CodeGeeX可以轻松为代码添加中(英)文注释。在编辑器中选中代码,点击鼠标右键。在右键菜单中点击CodeGeeX ,然后点击下一级菜单生成注释即可。

生成单元测试

在编辑器中选中代码,点击鼠标右键,菜单中点击CodeGeeX,然后点击下一级菜单生成单测。也可以通过侧边栏的对话框,输入“/test”,生成其对应的单元测试代码。

图片

智能问答

CodeGeeX 的智能问答支持模型选择,你可以选择Pro版模型或者Lite版的模型,点击CodeGeeX目录,打开 CodeGeeX 侧边栏(聊天窗),点击侧边栏上方的Ask CodeGeeX标签, 即可进入问答模式。

图片

代码解释

代码解释是开发者非常喜爱的功能之一,CodeGeeX设置了多个入口,在编程过程中可以更加便利的使用。

图片

总结

CodeGeeX 是一款功能强大的AI编程助手,可以根据用户的输入和要求提供适当的答复和支持,从而提高工作的效率。

快来开始免费使用 CodeGeeX!

具体可访问官方地址:https://codegeex.cn/。

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

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

相关文章

让大模型更聪明——复杂而艰巨的任务

一、引言 在人工智能领域,大模型因其强大的数据处理能力和复杂的结构,成为了推动技术进步的重要力量。然而,要让大模型真正展现出“聪明”的特质,即具备高度的人类智能水平,仍是一项极具挑战性的任务。本文将从数据质…

Java-Stream流-概述、创建、使用:遍历/匹配、筛选、聚合、映射、归约、排序、提取/组合

Java8-Stream: 一、Stream流概述1.Stream流的特点:2.使用步骤:3.常用方法示例: 二、Stream流创建1.常见的创建Stream的方法2. stream()或parallelStream()方法的使用和选择 三、Stream流使用Optional案例中使用的实体类1.遍历/匹配…

MYSQL之安装

一,下载仓库包 wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm二,安装仓库 yum -y install mysql80-community-release-el7-3.noarch.rpmsed -i s/gpgcheck1/gpgcheck0/g mysql-community.repo三,安装MY…

JS——对象

1.什么是对象 对象是什么? 对象是一种数据类型 无序的数据的集合( 数组是有序的数据集合 ) 对象有什么特点? 无序的数据的集合 可以详细地描述某个事物 静态特征 (姓名, 年龄, 身高, 性别, 爱好) > 可以使用数字, 字符串…

618有哪些值得买的好物?这几款好物通宵整理吐血推荐!

随着618购物节越来越近,很多买家终于等到了用好价钱买好东西的好机会。不管是你一直想要的家居电器,还是最新的数码产品,平时挺贵的东西在618期间会便宜不少。不过,这么多东西可选,促销活动也多得让人看花了眼&#xf…

antd-vue a-tree 当两个不同一级下二级key相同的时候就会导致两个同时选择, 拿到node.parent的数据也会出问题, 解决办法

一、问题如下图: 当两个不同一级下二级key相同的时候就会导致两个同时选择, 同时拿到node.parent的数据也会出问题, 出现一下问题的原因是因为数据treeData 的key出现相同的了 然后如下图、因为我的查询条件 第二层是给 cloud , 第二层是给 relatedPool…

内存泄漏面面谈

概述 主要介绍了内存泄漏的关注点是对象,对内存问题进行了分类并且确定本文关注点是内存泄漏,15种内存泄漏判断方式,hprof文件的用法和分析过程,以及memory profiler工具一些基本概念,最后提到了如何触发内存泄漏问题…

企业文件加密软件有哪些?企业文件加密软件排名榜一

企业文件加密软件有哪些?企业文件加密软件排名榜一 企业文件加密软件在市场上种类繁多,尤其是2024年的市场,很多新生加密软件也出现了,那么排在榜一的是哪款加密软件呢? 1、安企神软件: 这款软件支持7天试用…

YOLOv8猫狗检测:从SwanLab可视化训练到Gradio Demo网站

基于YOLO模型在自定义数据上做训练,实现对特定目标的识别和检测,是CV领域非常经典的任务,也是AI项目落地最热门的方向之一。 这篇文章我将带大家使用Ultralytics、SwanLab、Gradio这两个开源工具,完成从数据集准备、代码编写、可…

第十八节:带你梳理Vue2: Vue组件中的注意事项和特例

1. Vue组件名推荐使用驼峰命名 现在我们来看看为什么在Vue中推荐注册组件时使用驼峰写法, 在了解这个之前,相信大家应该都能明白为什么在Vue中, 局部组件的使用频率高于全局组件. 推荐使用驼峰写法也是和局部组件有关系 我们先看一个示例 <div id"app"><…

2、PHP 8.1.0-dev 后门远程命令执行漏洞复现

1、青少年ctf&#xff0c;题目PHP后门 2、页面 3、bp抓包发现PHP版本为8.1.0-dev 4、尝试使用以前爆出过的漏洞&#xff08;网上查相关案例&#xff09; User-Agentt: zerodiumvar_dump(5*5); User-Agentt: zerodiumsystem("cat /flag"); 5、查找flag User-Agentt: z…

双向带头链表实现

目录 一. 逻辑结构图解 1. 节点中存储的值 2.逻辑实现 二. 各种功能实现 1. 创建节点函数 2. 初始化哨兵位 3. 尾插 4. 头插 5. 尾删 6. 头删 7. 打印链表值 8. 查找数据&#xff0c;返回节点地址 9. 指定地址后插入节点 10. 删除指定地址节点 11. 销毁链表 三.…

JAVA云HIS医院系统源码 云HIS运维平台源码 融合B/S版电子病历系统,支持电子病历四级,saas模式

JAVA云HIS医院系统源码 云HIS运维平台源码 融合B/S版电子病历系统&#xff0c;支持电子病历四级&#xff0c;saas模式 HIS系统就是医院信息管理系统&#xff0c;HIS系统是整个医院信息化的核心&#xff0c;门诊、住院、药房、药库等都是由HIS系统来承载起来的&#xff0c;所以…

【Spring】深入学习AOP编程思想的实现原理和优势

【切面编程】深入学习AOP编程思想的实现原理和优势 前言AOP的由来及AOP与代理的关系AOP的实现方式详解静态代理动态代理 AOP的应用场景记录日志权限控制数据库事务控制缓存处理异常处理监控管理 AOP的底层实现全流程解析Spring AOP的简介动态代理的实现原理Spring AOP的实现原理…

rockeylinux 搭建k8s 1.28.10

1.关闭防火墙 systemctl stop firewalld systemctl disable firewalld 2.关闭selinux # 临时禁用selinux # 将 SELinux 设置为 permissive 模式&#xff08;相当于将其禁用&#xff09; setenforce 0 sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selinux/config 3.网…

tinyrenderer-渲染器着色

整理了代码&#xff0c;创建了一个相机类&#xff0c;控制镜头 class Camera { public:Camera(Vec3f cameraPos, Vec3f target, Vec3f up):cameraPos_(cameraPos), target_(target), up_(up) {}Matrix getView();Matrix getProjection(); private:Vec3f cameraPos_;Vec3f targ…

2024年区块链,物联网与信息技术国际会议(ICBITIT 2024)

2024年区块链&#xff0c;物联网与信息技术国际会议&#xff08;ICBITIT 2024&#xff09; 2024 International Conference on Blockchain, Internet of Things, and Information Technology 会议简介&#xff1a; 2024年区块链&#xff0c;物联网与信息技术国际会议&#xff…

css样式,点击 箭头方向上下转换

实现效果&#xff1a; 点击切换箭头方向 实现代码 <divclass"modelPart"click"showClick"><div class"modelPart_left"><img:srcaidefalutIconclass"sNodeIcon"><div>{{ selectModel }}</div><div …

Scala的简单认识

Scala编程基础 小白的Scala学习笔记 2024/5/21 上午某一时刻 文章目录 Scala编程基础spark是用Scala开发出来的Scala的优点 打开idea 搜索scala&#xff0c;安装 如果不小心点了取消&#xff0c;或者没有上图的提示&#xff0c;就在依赖里面添加 spark是用Scala开发出来的 类比…

英语学习笔记21+23——Which book?/Which glasses?

Which book?/Which glasses? 哪本书&#xff1f;/哪些杯子&#xff1f; 词汇 Vocabulary give v. 给 搭配&#xff1a;Give me five! 击掌庆祝 用法&#xff1a;give 人 东西     give 东西 to 人    把……东西给某人 例句&#xff1a;把这些苹果给 Bobby.   …