开发过程中的AI插件推荐

在ChatGPT日渐火爆的当下,开发工具中的各种AI插件也日渐成熟,在开发过程中能给予我们很大的助力,并大幅节省研发时间和成本,所以学会学会使用AI目前已算是必不可少的技能了。

一. CodeGeex(智谱清言)
CodeGeeX是智谱AI旗下一款基于大模型的智能编程助手,它可以实现代码的生成与补全,自动为代码添加注释,不同编程语言的代码间实现互译,针对技术和代码问题的智能问答,当然还包括代码解释,生成单元测试,实现代码审查,修复代码bug等非常丰富的功能。

你可以用CodeGeeX来做什么?

  1. 自动生成代码
    在编码过程中,CodeGeeX可以根据上下文代码的内容,推理出接下来可能的代码输入。如果认为推理出的代码内容合适,使用快捷键Tab对生成的代码进行采纳,被采纳的代码即会高亮显示并留存在光标后;如果认为内容不合适,任意键可以取消推荐的内容,继续手动编码。
  2. 根据注释生成代码
    CodeGeeX可以针对一段自然语言的注释内容,生成相关的代码片段 。特别是对于能够使用一句话描述清楚的、常见的算法片段、函数段、方法段等。
  3. 自动为代码添加注释
    CodeGeeX可以轻松为代码添加中(英)文注释。 在编辑器中选中代码,点击鼠标右键。在右键菜单中点击“CodeGeeX” ,然后点击下一级菜单“生成注释”即可。
  4. 生成单元测试
    CodeGeeX可以针对一段函数( 方法), 生成其对应的单元测试代码。 在编辑器中选中代码,点击鼠标右键。在右键菜单中点击“CodeGeeX” ,然后点击下一级菜单“生成单测”即可。也可以通过侧边栏的对话框,输入“/test”,生成其对应的单元测试代码。
  5. 智能问答
    CodeGeeX的智能问答支持模型选择,你可以选择Pro版模型或者Lite版的模型
    点击CodeGeeX插件图标,打开 CodeGeeX 侧边栏,点击侧边栏上方的“Ask CodeGeeX”标签, 即可进入问答模式。
    也可以在编辑器中选中代码,通过鼠标点击右键,选择“CodeGeeX”,在下级菜单中选择“向CodeGeeX提问”打开侧边栏。
    在侧边栏的智能问答输入框中用“/”调出预置命令:
命令功能
/explain解释编辑器中选中的代码。若没有选择代码,则解释全部代码。
/comment为编辑器中选中的代码添加逐行注释。 若没有选中代码, 则对所有代码添加注释。
/fixbug修复编辑器中选中的代码中的错误。若没有选中代码, 则针对所有代码进行修复。
/tests为编辑器中选中的代码生成单元测试代码。若没有选中代码,则针对所有代码生成单元测试。
  1. 行内对话编程
    InLine Chat是一种通过在代码中嵌入对话,与智能编程助手CodeGeeX进行交互的方式。你可以使用“Command + i(Mac)或者 Ctrl+Alt+i (Windows)”的快捷键触发InLine Chat功能。
  2. @Repo 针对开源代码仓库的智能问答
    用@Repo 功能对开源代码仓库进行提问,模型会根据检索到的相关背景知识生成回答,大幅减轻生成内容的幻觉性。 开源代码库的检索增强生成功能,目前已经支持超过100+个热门开源代码仓库,用户也可以自行提交希望支持的开源项目。
  3. 代码解释
    代码解释是开发者非常喜爱的功能之一,CodeGeeX设置了多个入口,在编程过程中可以更加便利的使用。
    在编辑框中选中需要解释的代码,这时代码也会在侧边栏AskCodeGeeX的对话框中出现,同时会出现“”的蓝色提示,点击就可以获得代码的解释。 在输入框中使用预制命令“/explain”,或者在输入框中用自然语言交互的方式获得代码解释; 也可以选中代码,点击悬浮的灯泡,选择“使用CodeGeeX解释”。还可以点击鼠标右键,选择“CodeGeeX”,在下级菜单中选择“解释代码”来使用。
  4. 预测候选问题
    CodeGeeX不仅支持预测代码,还支持技术问题的预测。 在智能问答Ask CodeGeeX中,当用户提出一个问题获得回复后,会继续生成接下来的候选问题。这些推荐给用户的候选问题,是和用户提出的问题相关性很强或者更进一步的问题预测。
  5. 代码审查
    CodeGeeX提供的Code Review功能,用户可以从源代码文件中,选择任意被修改的文件,然后使用CodeGeeX的代码变更审查。可以直观看出代码修改的部分。也可以看到智能编程助手给代码的优化建议。
  6. 工具箱
    支持文件处理、数据分析、图表生成、图像处理;
  7. 支持的语言、框架和IDEs
    CodeGeeX支持100+种编程语言及开发框架,适配多种主流IDE平台,包括VSCode,JetBrains IDEs,HBuilderX,DeepIn-IDE等。
分类支持的语言
前端VUE、JavaScript、TypeScript、HTML、CSS、React
后端C、C++、Java、Python、Go、PHP、Rust、SQL
APP端ObjectC、Kotlin、Swift、Uni-App
其他Peal、Ruby、GraphQL、Cobol
  1. 使用方式
    在编译器中如Android studio、IDEA中直接搜索对应插件,安装即可。
    在这里插入图片描述
    二. Bito
    Bito AI了解您的代码库,并由OpenAI的ChatGPT和GPT-4o、Claude Sonnet 3.5、GPT-4o-mini和其他类似模型提供支持。基于您的代码生成高质量的AI驱动代码,运行AI代码审查,访问AI代码完成,解释复杂代码,生成单元测试等等——所有这些都是毫不费力的!
    使用能够理解代码的AI进行开发
    在本地环境中运行实时代码审查
    获得AI驱动的代码补全
    提出后续问题以完善Bito的输出
    控制代码更改,如审查、接受和拒绝
    用您喜欢的语言聊天
    强大的数据隐私意味着您的代码仍然是私有的

你能用Bito做什么?

  1. 问Bito什么都行
    立即获得编码问题的答案。只需在聊天框中键入您的编码问题,让Bito完成其余的工作。

  2. 与理解代码的AI合作
    Bito AI现在可以理解你的代码库了。只需在Bito聊天框中的AI请求中添加英语、广东话、日语、普通话、西班牙语或葡萄牙语(更多语言即将推出)的“我的代码”。

  3. 编辑器中的实时代码审查
    在您的下一个pull请求之前,通过Bito的AI代码审查代理接收有关代码的高质量反馈,以提高代码质量并加快开发速度。及早发现错误并优化代码。Bito的Agent理解您的代码,并像高级工程师一样在生产线级别提供上下文感知的审查。了解更多

  4. 通过AI驱动的代码补全轻松编码
    在编写代码时,在IDE中获得实时、个性化的代码建议。由最新的顶级LLM(如GPT-3.5和Google PaLM 2)提供支持,Bito了解您的代码库,并提供上下文准确的代码建议。请注意,代码行、完整功能甚至整个代码块都会在运行中毫不费力地为您生成。

  5. 使用预先构建的提示
    模板是精心制作的提示,易于访问。只需选择一段代码,然后从8个标准模板中选择一个,即可执行解释代码、检查代码性能或生成单元测试等任务。此外,保存您最喜欢的提示,以便随时快速访问。

  6. 使用方式
    在编译器中如Android studio、IDEA中直接搜索对应插件,安装即可。
    在这里插入图片描述

三. 使用体验
这两款AI插件在使用过程中都为我提供了不少的便利,也大大提高了我的工作效率,弥补了许多开发过程中的知识盲区,但相对而言,相对来说,个人感觉CodeGeex还是不太够智能。我就遇到一个较为不好的体验,我在开发过程中,经常会在xml用到生成ViewBinding类快捷键”Alt + 回车“,但是我有时候会忘了这快捷键,我就会向AI询问,这就导致我遇到一个很令人诧异的现象,如下:

  1. 我分别向两款AI提问”xml绑定viewbinding快捷键是什么“,得到的结果如下:
    CodeGeex:
    在这里插入图片描述

Bito:
在这里插入图片描述
2. 这令我感到诧异,但也没什么,既然AI回答错误,那我就更正AI的回答,如下。
CodeGeex:
在这里插入图片描述
Bito:
在这里插入图片描述
3. 至此,我对两款插件都是满意的,在我更正后,能正确回答。但是问题来了,当我下一次再进行提问时,就发现并没有完全更正,如下。
CodeGeex:
在这里插入图片描述
Bito:
在这里插入图片描述
4. Bito的回答在我意料之中,而CodeGeex的回答却让我略感失望和诧异,作为一款AI工具,既然已经更正错误的回答,在下一次问答中,还是回答错误,这是我不能理解和接受的,我一开始认为是不是我提问的方式有问题,于是我换了个方式进行提问,得到的结果还是一样的,如下。

在这里插入图片描述
5. 这样的结果让我感觉不太像AI,而是一个单纯的问答库,算是不太圆满吧,相应的问题我也反馈给官方了,希望后续能够优化吧。

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

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

相关文章

鸿蒙之路的坑

1、系统 Windows 10 家庭版不可用模拟器 对应的解决方案【坑】 升级系统版本 直接更改密钥可自动升级系统 密钥找对应系统的(例:windows 10专业版) 升级完之后要激活 坑1、升级完后事先创建好的模拟器还是无法启动 解决:删除模拟…

企业销售人员培训系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…

C 实现植物大战僵尸(一)

C 实现植物大战僵尸(一) 对应资源链接,C语言项目:完整版植物大战僵尸 以下内容为个人实现版,与原 UP 主项目代码内容有出入,提高了些可读和简洁性 一 创建主场景 安装 easyx 库,easyx 官网 …

SQL创建和操纵表

本文介绍创建、更改和删除表的基本知识。 1. 创建表 SQL 不仅用于表数据操纵,而且还用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法: 多数DBMS 都具有交互式创建和管理数据库表的工具;表也可以…

Java开发经验——数据库开发经验

摘要 本文主要介绍了Java开发中的数据库操作规范,包括数据库建表规范、索引规约、SQL规范和ORM规约。强调了在数据库设计和操作中应遵循的最佳实践,如字段命名、数据类型选择、索引创建、SQL语句编写和ORM映射,旨在提高数据库操作的性能和安…

NTLM 中继到 LDAP 结合 CVE-2019-1040 接管全域

目录 LDAP中继 LDAP签名 CVE-2019-1040 NTLM MIC 绕过漏洞 漏洞背景 漏洞利用链 利用方式 1:配置基于资源的约束委派-攻击域控 利用方式 2:攻击 Exchange Exchange windows permissions 组介绍 复现 LDAP中继 LDAP(轻量级目录访问协…

如何通过采购管理系统实现智能化采购?

随着人工智能、大数据等技术的快速发展,采购管理逐步迈入智能化时代。智能化采购不仅提升了效率,还为企业提供了更精准的采购决策支持。本文将从智能化采购的优势出发,探讨采购管理系统如何助力企业实现这一目标。 文中用到的采购管理系统&a…

STM32学习(一)

STM32是什么 STM32是意法半导体(ST)公司基于ARM Cortex-M内核开发的32位微控制器‌。他的名字是由;意大利SGS&法国Thomson共同研制的,中国人民取两家公司名称的首字母于是ST就是这样来的,M是单片机M-Micro Contro…

C# 读取多种CAN报文文件转换成统一格式数据,工具类:CanMsgRead

因为经常有读取CAN报文trace文件的需求,而且因为CAN卡不同、记录软件不同会导致CAN报文trace文件的格式都有差异。为了方便自己后续开发,我写了一个CanMsgRead工具类,只要提供CAN报文路径和CAN报文格式的选项即可将文件迅速读取转换为统一的C…

hiprint结合vue2项目实现静默打印详细使用步骤

代码地址是:vue-plugin-hiprint: hiprint for Vue2/Vue3 ⚡打印、打印设计、可视化设计器、报表设计、元素编辑、可视化打印编辑 本地安装包地址:electron-hiprint 发行版 - Gitee.com 1、先安装hipint安装包在本地 2、项目运行npm(socket.…

WPF+MVVM案例实战与特效(四十七)-实现一个路径绘图的自定义按钮控件

文章目录 1、案例效果2、创建自定义 PathButton 控件1、定义 PathButton 类2、设计样式与控件模板3、代码解释3、控件使用4、直接在 XAML 中绑定命令3、源代码获取4、总结1、案例效果 2、创建自定义 PathButton 控件 1、定义 PathButton 类 首先,我们需要创建一个新的类 Pat…

《传染病与人类历史》传染病如何推动人类历史进程

《传染病与人类历史》传染病如何推动人类历史进程 Epidemics: The Impact of Germs and Their Power Over Humanity Joshua S. Loomis(约书亚S卢米斯)美国,教授,微生物学家。主要教授微生物学、遗传学、免疫学、细胞生物学与传染病…

如何检查交叉编译器gcc工具链里是否有某个库(以zlib库和libpng库为例)

freetype 依赖于 libpng,libpng 又依赖于 zlib,所以我们应该:先编译 安装 zlib,再编译安装 libpng,最后编译安装 freetype。 但是,有些交叉编译器工具链里已经有 zlib库和freetype,所以我们需要…

MySql详细教程-从入门到进阶(超实用)

基础篇 通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用…

Burp炮台实现(动态ip发包)

基本步骤 1.使用 zmap 爬取大量代理ip 2.使用py1脚本初步筛选可用ip 3.利用py2脚本再次筛选对目标网站可用ip(不带payload安全检测) 4.配置 burp 插件并加载收集到的代理池 5.加载payload,开始爆破 Zmap kali安装 sudo apt update apt …

海外招聘丨 苏黎世联邦理工学院—机器学习在社会和政治科学中的应用博士后

雇主简介 苏黎世联邦理工学院是世界领先的科技大学之一。我们以优质的教育、尖端的基础研究和将新知识直接转化为社会而闻名。来自 120 多个国家的 30,000 多名学生认为我们的大学是一个鼓励独立思考和激励卓越的环境的地方。 我们位于欧洲中心,但与世界各地建立联…

【微信小程序】3|首页搜索框 | 我的咖啡店-综合实训

首页-搜索框-跳转 引言 在微信小程序中,首页的搜索框是用户交互的重要入口。本文将通过“我的咖啡店”小程序的首页搜索框实现,详细介绍如何在微信小程序中创建和处理搜索框的交互。 1. 搜索函数实现 onClickInput函数在用户点击搜索框时触发&#x…

VS Code AI开发之Copilot配置和使用详解

随着AI开发工具的迅速发展,GitHub Copilot在Cursor、Winsuf、V0等一众工具的冲击下,推出了免费版本。接下来,我将为大家介绍GitHub Copilot的配置和使用方法。GitHub Copilot基于OpenAI Codex模型,旨在为软件开发者提供智能化的代…

表达式语句、复合语句和空语句

欢迎拜访:雾里看山-CSDN博客 本篇主题:表达式语句、复合语句和空语句 发布时间:2024.12.26 隶属专栏:C语言 目录 1. 表达式语句定义作用常见类型赋值语句函数调用语句 2. 复合语句定义作用变量作用域 3. 空语句定义作用 1. 表达式…

数学建模助力干细胞研究,配体纳米簇如何影响干细胞命运

大家好!今天来了解一篇关于对干细胞行为的可逆调控的研究——《Modularity-based mathematical modeling of ligand inter-nanocluster connectivity for unraveling reversible stem cell regulation》发表于《Nature Communications》。这项研究利用图论对细胞外基…