前言
2022年6月,随着GitHub Copliot正式面向大众发布。让许多开发者都感受到了AI辅助编程工具的魅力所在,Copilot实现了帮助开发者大大提高了编程开发效率,让程序员朝九晚五成为可能。Copilot近乎是完美的,但还是由于种种原因(比如需要魔法上网、需要花钱购买使用等)使得不少人开发者想要找到一款免费且功能强大的AI编程辅助工具,因此CodeGeeX来了。虽然说CodeGeeX没有Copilot那么强大、那么智能,但是在一定的程度上还是能够帮助我们提高不少工作开发效率的。假如您有更好的、免费的、好用的AI编程助手推荐,欢迎在评论区留言🤞。
什么是CodeGeeX?
CodeGeeX是一款基于大模型的全能的智能编程助手。它可以实现代码的生成与补全、自动添加注释、代码翻译以及智能问答等功能,能够帮助开发者显著提高工作效率。CodeGeeX支持主流的编程语言,并适配多种主流IDE。
CodeGeeX2 模型
更强大的多语言代码生成模型:GitHub - THUDM/CodeGeeX2: CodeGeeX2: A More Powerful Multilingual Code Generation Model
CodeGeeX2 是多语言代码生成模型 CodeGeeX (KDD’23) 的第二代模型。不同于一代 CodeGeeX(完全在国产华为昇腾芯片平台训练) ,CodeGeeX2 是基于 ChatGLM2 架构加入代码预训练实现,得益于 ChatGLM2 的更优性能,CodeGeeX2 在多项指标上取得性能提升(+107% > CodeGeeX;仅60亿参数即超过150亿参数的 StarCoder-15B 近10%)。
支持的语言

支持的主流IDE

到这里有的同学就会说了我是开发.NET的不支持Visual Studio我要怎么体验呢?告诉你一个好消息,现在使用Visual Studio Code开发.NET也是很香的哦,具体Visual Studio Code开发.NET环境配置可以参考我的这篇文章:Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用
CodeGeeX的优势
- CodeGeeX不需要魔法上网即可顺畅使用。
- CodeGeeX插件对个人用户完全免费。
- CodeGeeX支持主流的编程语言,并适配多种主流IDE。
- CodeGeeX对中文的支持非常友好,也可以给代码逐行添加代码注释且有详细的中文官方文档。
CodeGeeX VS Code插件安装
CodeGeeX 同样拥有 VS Code 插件,不同于 GitHub Copilot 他是免费的。GitHub Copilot VS Code 插件在技术上是免费的,但是只针对认证的学生,老师和相关开源项目的维护者。对于其他用户则是以月租10美元或年租100美元的形式订阅付费。CodeGeeX 插件不需要任何上述条件,你所需的仅仅是进入插件商店进行下载安装即可使用。
1、VS Code安装插件

2、首次需要注册账号
注册地址:https://codegeex.cn/auth#signup

3、登录账号



首先创建一个.NET控制台应用HelloCodeGeeX
1、打开VS Code,点击VS Code菜单栏里的终端=>新建终端


2、创建一个.NET 控制台应用程序: HelloCodeGeeX 命令如下:
dotnet new console -n HelloCodeGeeX
具体作用如下:
dotnet new console
:这部分表示使用dotnet
命令行工具的new
命令来创建一个新的项目,类型是控制台应用程序。-n HelloCodeGeeX
:这部分表示给新创建的项目指定一个名称,此处名称为HelloCodeGeeX
。
通过执行该命令,将会在当前路径下创建一个名为 HelloCodeGeeX
的新控制台应用程序项目。这个项目将包含一个初始的主程序文件,可以用于编写和执行简单的命令行程序逻辑。

3、打开控制台程序编译查看效果
运行命令:
dotnet run

代码生成与自动补全
1、隐匿模式
该模式的工作方式与代码生成工具相同,它查看你以前的代码或代码注释,并为你生成下一行代码。这里最好的部分是它不会干扰你的代码,仅在你上次键入以来已有3秒钟的情况下建议代码,而建议的代码则以占位符的形式,仅在你按 Tab 键时才会实现。
通过注释自动定义用户状态枚举


定义一个C#用户类


实现一个C# MD5字符串编码的公共方法


2、交互模式
CodeGeeX 插件的交互式模式也具有代码生成的元素,载入该模式仅需要按下 Ctrl+Enter激活,你的VS Code 会分成两个版面。一个版面编写正常代码,另一个版面显示建议的代码片段,你可以使用右边建议的代码如何就会自动添加到左边实际文件中。



代码注释(再也不担心看不懂源码了)
在开发过程中,经常会遇到一些难以理解的代码并且也没有注释,CodeGeeX提供了一个自动添加注释的功能(Add Comment),让你能够快速熟悉并且理解代码。
完全没有注释:

自动添加代码注释:


代码转换
将JS代码转换成C#:


智能问答(免费GPT使用)


最后总结
以下这段文案来源于CodeGeeX智能问答😁!
CodeGeeX 是一款功能强大的AI编程助手,它可以根据用户的输入和要求提供适当的答复和支持,从而提高程序员的效率。对于程序员来说,CodeGeeX 可以帮助他们解决各种编程问题,例如代码的复制粘贴、自动添加注释、代码翻译以及智能问答等。通过使用 CodeGeeX,程序员可以减少花费在查找解决方案和编写代码上的时间,从而提高工作效率。然而,对于个人用户来说,CodeGeeX 的使用可能会受到一些限制,例如注册账号、登录限制等。因此,在使用 CodeGeeX 之前,请确保了解其使用规则和限制。总之,CodeGeeX 是一款功能强大的AI编程助手,它可以帮助程序员提高编程效率。对于个人用户来说,在使用 CodeGeeX 之前,请确保了解其使用规则和限制。

相关地址
CodeGeeX官网地址
https://codegeex.cn/zh-CN?article=0001
VS Code插件安装地址
CodeGeeX: AI Code AutoComplete, Chat, Auto Comment - Visual Studio Marketplace
参考文章
滑动验证页面
如何用CodeGeeX替代GitHub Copilot? - 知乎
DotNetGuide技术社区交流群
- DotNetGuide技术社区是一个面向.NET开发者的开源技术社区,旨在为开发者们提供全面的C#/.NET/.NET Core相关学习资料、技术分享和咨询、项目推荐、招聘资讯和解决问题的平台。
- 在这个社区中,开发者们可以分享自己的技术文章、项目经验、遇到的疑难技术问题以及解决方案,并且还有机会结识志同道合的开发者。
- 我们致力于构建一个积极向上、和谐友善的.NET技术交流平台,为广大.NET开发者带来更多的价值和成长机会。
欢迎加入DotNetGuide技术社区微信交流群👪