AI助手 - Fitten Code

news2024/11/18 21:52:02

前言


上一篇介绍了商汤AI编程小助手小浣熊 Raccoon,过程中又发现了另外一款国产AI编程助手,那就是本篇要介绍的非十科技出品的Fitten Code。

Fitten Code 主打一个快:超高准确率、超快的响应速度。号称代码生成比GitHub Copilot 快两倍,准确度还提高了约20%。

快、准、稳的背后是强大的开发团队 -- 非十科技核心开发团队。他们都是毕业于清华大学的博士;而且在校期间,正是他们作为主要开发者,推动了国产深度学习框架计图(Jittor)的开源工作。

简单介绍下其主要功能:

  • 代码自动补全:智能预测并补全代码,提高编程效率。
  • 注释到代码生成:根据开发者的注释说明,自动生成代码片段或完整的代码结构。
  • 自动添加注释:自动为代码添加注释,帮助开发者理解和维护代码。
  • 代码编辑:提供代码重构和优化建议,提升代码质量。
  • 代码解释:对复杂的代码段进行解释,帮助开发者理解其工作原理。
  • 代码测试生成:自动生成测试用例,确保代码的健壮性和正确性。
  • Bug查找:智能识别代码中可能存在的缺陷,帮助开发者提前发现并修复问题。

支持的编程语言 Python、JS、C++ 等 80 余种语言,还支持了 VS Code、JetBrains 系列(包括 IntelliJ IDEA、PyCharm 等)、Visual Studio、Vim 等十余种 IDE

和商汤小浣熊 Raccoon一样,我们以VSCode插件的方式来体验下。

安装


       扩展中搜索 Fitten 安装即可,安装后,在VS Code 的侧边栏上就可以看到新增的图标,登录后即可使用。

编码体验


在 VS Code 中,Fitten Code 提供了侧边栏聊天、代码编辑辅助两方面的AI功能,我们逐一体验下。

侧边栏聊天


问了和 小浣熊Raccoon 一样的两个问题,对于初次使用的AI,我一向希望问的第一个问题就是让它介绍下自己:

另外,问了一个 C++ 问题,回答的也还不错,条理清晰,细节点也比较完善。

代码编辑辅助


还是国际惯例 Helloworld ,直接写注释就好,它甚至会自动猜测补全注释,然后就生成对应代码了

速度确实比较快,但和 小浣熊Raccoon 相比,不知道为什么,它的代码不是一下子写完,而是一段段冒出来的,需要不断TAB让它写完。

同样让它写个冒泡算法

额,有点翻车,再快速补充完注释中的文字后,它卡住了,在使用过程中,时常会遇到这个问题,此时需要把当前行的文字删减些,重新来触发它的提示功能。这一点让我有些失落,和标榜的快有些落差。

但基本的代码提示补全,甚至常用的算法功能,raccon 都可以胜任。

总结


        相比小浣熊Raccoon ,Fitten Code 功能方面少了个控制台交互功能,速度方面不是特别稳定,但手动操作下重新触发可以重新激发AI功能。总体来说,还是不错的,最主要的是,它也免费 :)

       试用了这两款国产AI编程助手插件后,感觉AI辅助编程终于切实的走到了身边,虽然它们都不不足以替代人工,但表现出来的潜力不可小觑,毕竟AI的世界一切才刚刚开始,我对未来的AI世界充满期望!

        后续我将不断介绍些好用的、免费的、有切实功能的AI工具,尽快的把我们带入AI世界,体验AI的强大和便利,也欢迎大家一起多多交流。

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

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

相关文章

逻辑运算函数

true默认为1 false默认为0 可以用于多条件筛选 if语句 多层嵌套

【JVM】(内存区域划分 为什么要划分 具体如何分 类加载机制 类加载基本流程 双亲委派模型 类加载器 垃圾回收机制(GC))

文章目录 内存区域划分为什么要划分具体如何分 类加载机制类加载基本流程双亲委派模型类加载器 垃圾回收机制(GC) 内存区域划分 为什么要划分 JVM启动的时候会申请到一整个很大的内存区域,JVM是一个应用程序,要从操作系统这里申请内存,JVM就需要根据,把…

jscpd对项目进行查重(支持150+类语言)

jscpd jscpd 查重时能够跳过标记为忽略的块和新行以及空符号和注释&#xff08;不支持尖括号注释<!-- --&#xff01;>&#xff09;&#xff0c;重复率判定依据为一定长度标识符的MD5值是否相同。 安装 npm install -g jscpd配置参数(查看更多) OptionTypeDefaultDes…

【C语言基础】:字符函数和字符串函数

文章目录 一、字符函数1. 字符分类函数2. 字符转化函数 二、字符串函数1. strlen函数的使用和模拟实现strlen函数的使用strlen函数的模拟实现 2. strcpy函数的使用和模拟实现strcpy函数的使用strcpy函数的模拟实现 3. strcat函数的使用和模拟实现strcat函数的使用strcat函数的模…

5 个最佳 Mock 工具

在持续发展的前端开发领域&#xff0c;一套高效的自动化工具是关键。这篇文章将带你了解五个出色的模拟工具&#xff0c;它们能极大提升你的生产力、简化数据仿真&#xff0c;并提升接口测试效率。对于寻求提高工作流的前端开发者来说&#xff0c;它们是必不可少的。让我们开始…

牛客题霸-SQL入门篇(刷题记录二)

本文基于前段时间学习总结的 MySQL 相关的查询语法&#xff0c;在牛客网找了相应的 MySQL 题目进行练习&#xff0c;以便加强对于 MySQL 查询语法的理解和应用。 以下内容是牛客题霸-SQL入门篇剩余的第 21-39 道题目的 SQL 代码答案。 由于涉及到的数据库表较多&#xff0c;因…

Jira自动化的实用工具——ScriptRunner简介及最佳实践

近日&#xff0c;龙智举办的DevSecOps研讨会年终专场“趋势展望与实战探讨&#xff1a;如何打好DevOps基础、赋能创新”在上海圆满落幕。龙智Atlassian技术与顾问咨询团队&#xff0c;以及清晖、JamaSoftware、CloudBees等生态伙伴的嘉宾发表了主题演讲&#xff0c;分享他们在D…

【鸿蒙HarmonyOS开发笔记】常用组件介绍篇 —— Progress进度条组件

概述 Progress为进度条组件&#xff0c;用于显示各种进度。 参数 Progress组件的参数定义如下 Progress(options: {value: number, total?: number, type?: ProgressType})● value value属性用于设置当前进度值。 ● total total属性用于设置总值。 ● type type属…

小程序搜索排名优化二三事

小程序的优化主要是排名优化和性能优化两个版块。性能优化这方面主要靠开发者自己完善&#xff0c;我们团队提供的服务就是把产品的排名打上去&#xff0c;获得更多的自然流量&#xff0c;实现盈利。 如何提升小程序的搜索排名主要从如下几个方面出发&#xff1a; 首先要知道…

nodeJs 学习

常用快捷键 二、fs模块 回调函数为空&#xff0c;则表示写入成功&#xff01; 练习 const fs require(fs); fs.readFile(../files/成绩.txt, utf-8, (err, dataStr) > {if (err) {console.log(读取失败);return err;}console.log(读取成功);const arr dataStr.split( )co…

B007-springcloud alibaba 消息驱动 Rocketmq

目录 MQ简介什么是MQMQ的应用场景异步解耦流量削峰 常见的MQ产品 RocketMQ入门RocketMQ环境搭建环境准备安装RocketMQ启动RocketMQ测试RocketMQ关闭RocketMQ RocketMQ的架构及概念RocketMQ控制台安装 消息发送和接收演示发送消息接收消息 案例订单微服务发送消息用户微服务订阅…

华中师范大学伍伦贡联合研究院与南京大学联合主办——第三届人工智能、物联网和云计算技术国际会议(AIoTC 2024)

#先投稿&#xff0c;先送审# 第三届人工智能、物联网和云计算技术国际会议&#xff08;AIoTC 2024&#xff09; 2024 3rd International Conference on Artificial Intelligence, Internet of Things and Cloud Computing Technology 2024年8月2-4日 | 中国南京 重要信息 大…

1.详细解释单链表中的头结点;2.Java算法——力扣707题:设计链表

1.详细解释单链表中的头结点 在做这道算法之前&#xff0c;首先务必要弄明白三个问题&#xff1a; 对于含头节点的单链表&#xff0c; 头结点是否是第一个节点&#xff1f;单链表的长度是否包含该头节点&#xff1f;头结点是否有索引&#xff1f;如果有的话&#xff0c;又是多…

[保姆级教程]Windows安装MongoDB教程

文章目录 MongoDB安装包下载1.点击进入mongodb官网2.点击MongoDB Community Edition&#xff08;社区版&#xff09;&#xff0c;进入下图界面3.选择版本4.下载5.安装6.勾选同意协议&#xff0c;点击“Next"7.选择自定义安装8.点击“Next"9.修改到合适的地址10.点击i…

linux 使用docker安装 postgres 教程,踩坑实践

linux 使用docker安装 postgres 教程 踩坑实践,安装好了不能远程访问。 防火墙已关闭、postgres 配置了允许所有ip 访问、网络是通的。端口也是开放的&#xff0c;就是不能用数据库链接工具访问。 最后发现是云服务器端口没开 ,将其打开 到这一步完全正确了&#xff0c;但是…

Springboot笔记-01

简化spring应用开发&#xff0c;约定大于配置 简化Spring应用开发的一个框架&#xff1b; 整个Spring技术栈的一个大整合&#xff1b; J2EE开发的一站式解决方案&#xff1b; 优点&#xff1a; 快速创建独立运行的spring项目以及于主流框架集成 使用嵌入式的Servlet容器&#x…

HarmonyOS NEXT应用开发—多层级轮播图案例

介绍 本示例介绍使用ArkUIstack 组件实现多层级瀑布流。该场景多用于购物、资讯类应用。 效果图预览 使用说明 加载完成后显示轮播图可以左右滑动。 实现思路 SwiperDataSource&#xff0c;实现IDataSource接口的对象&#xff0c;用于LazyForEach加载数据。源码参考Swiper…

iframe重新加载最简单的方法!初次渲染和更新后渲染不会引起其他页面变动

我们项目有一个【加载场景】【切换场景】的需求&#xff0c;iframe是子组件&#xff0c;数据传过去之后没有重新加载 &#xff0c;我测试发现 重新渲染的时候&#xff0c;iframe的load方法没有重新加载&#xff0c;数据变动后也不会影响&#xff0c;然后我用了网上好几种方法&a…

一个简单的Vue2例子讲明白拖拽drag、移入dragover、放下drop的触发机制先后顺序

几个小细节说明&#xff1a; 执行顺序dragstart→dragover→drop被拖拽的物体必须要设置draggable"true"&#xff08;实际上只需要draggable就可以了&#xff0c;默认就是true&#xff09;&#xff0c;否者默认一般是不允许被拖拽的&#xff08;图片除外&#xff09;…

将main打包成jar;idea打包main为jar包运行

将main打包成jar&#xff1b;idea打包main为jar包运行 适用场景&#xff1a;可以封装一些小工具。 配置jar Maven中添加 <packaging>jar</packaging>将其打包为jar。 设置运行入口main 编译jar 看到jar输出 运行效果&#xff1a; 其中&#xff0c;三方依赖也被…