这款 AI 代码辅助插件真不错,还能帮你发现 bug!
大家好,我是树哥。
随着 ChatGPT 风靡全球之后,编程界也迎来了许多代码辅助工具,有非常出名的 Github Copilot 工具。今天,树哥给大家介绍一款免费的代码辅助插件,它无需代理上网,直接在 IDEA 中搜索安装即可。它不仅可以帮你辅助写代码,还可以帮你发现 bug 哦!它就是 —— Fitten Code!
介绍
Fitten Code 旨在帮助程序员提高代码开发效率以及代码质量,它可以自动生成代码,提升开发效率,帮您调试 Bug,节省您的时间。还可以对话聊天,解决您编程碰到的问题。免费且支持 80 多种语言:Python、C++、Javascript、Typescript、Java 等。

目前,Fitten Code 支持 VSCode、JetBrains、Visual Studio、Vim 四个平台,如下图所示。

功能介绍
Fitten Code 插件目前支持四个主要的功能,分别是:智能问答、代码解释、寻找 bug、自动生成代码。
代码解释
要使用代码解释功能,只需要选中需要解释的代码,然后右键选中「Fitten Code」->「Explain Code」即可解释代码,如下图所示。

随后就会在窗口中弹出关于代码的详细解释,如下图所示。

树哥非常喜欢这个功能,它在我看某些复杂的语法代码的时候特别好用,例如:JDK1.8 Stream 语法。Stream 语法太多,总不可能都记住,这时候用这个功能就非常合适。你看上面的代码解释,就是对于如下这行代码的解释,是不是非常方便呢!
List<ArrearsPeriod> sortPeriods = periodBillMap.keySet().stream()
.sorted(Comparator.comparing(ArrearsPeriod::getYearName)
.thenComparing(ArrearsPeriod::getSort))
.collect(Collectors.toList());
智能问答
智能问答功能,其实就是一个类 ChatGPT 的功能。它会根据你的问题,解答你的疑问。
我想这个功能比较适合遇到报错问题的时候,直接把错误的问题复制到问答框,让它告诉你解决方向。
自动生成代码
有时候我们想要快速地实现某个简单的功能,但又记不起某个 API 是啥,这时候直接用注释写出你想做的事情,随后 Fitten Code 就可以帮你生成代码。例如我想打印出某个目录下所有文件的文件名,于是在注释中写:
// 打印指定目录下所有文件的文件名
随后 Fitten Code 便会弹出代码补全的提示,按下 TAB 键就可以一直补全代码,最后得出如下所示的代码。
private static void listFolderFile(String directoryPath) {
// 打印指定目录下所有文件的文件名
File directory = new File(directoryPath);
if (directory.exists() && directory.isDirectory()) {
File[] files = directory.listFiles();
if (files != null && files.length > 0) {
Arrays.sort(files);
for (File file : files) {
System.out.println(file.getName());
}
} else {
System.out.println("目录为空或无法访问。");
}
} else {
System.out.println("指定的路径不是一个有效的目录。");
}
}
随便输入某个目录,可以成功输出目录下的文件名。太赞了!
这个功能对于效率狂人,真的太好用了,自己都不用去记乱七八糟的 API 了!
寻找 bug
看到解决 bug 的功能,还是感觉新奇的,但仔细一想,其实这不也是问答的一种方式么。
算了,还是让我们进入正题吧!
为了测试这个功能,我设计了一个 bug,如下代码所示。
public class ForBugDemo {
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 10; j++) {
System.out.println(i);
}
}
}
明眼人能发现其中的问题吧?哈哈。随后让 Fitten Code 帮我看看有什么问题,如下是它的输出:
这段代码中存在一些问题:
1. 循环条件中的计数器没有进行自增操作,导致循环无法结束。
2. 循环内打印的是未变化的变量 i,而不是正在递增的变量 j。
以下是修复建议的代码:
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
修复后的代码中,循环条件中的变量 i 会在每次迭代时自增,同时在循环内正确地打印被递增的变量 i。
看来它确实能够帮你发现一些 bug 哦,还不错!
总结
Fitten Code 还是挺不错的一款插件,比起 ChatGPT 来说,它的优势在于:
- 无须FQ,并且速度够快,几乎没有卡顿。
- 直接集成在编辑器中,更加方便!
人工智能迅速发展的今天,这些插件确实能够极快提高我们的工作效率。之前需要谷歌半天才知道的某个语法知识点,现在直接 1 秒钟就告诉你结果。
学起来吧,小伙伴们!
这款 AI 代码辅助插件真不错,还能帮你发现 bug!的更多相关文章
- 推荐一款VS2008代码增强插件——MetalScroll
时光如水,岁月如歌.虽然现在已经是2013年底马上就要步入2014了,但还是有很多人在使用VS2008开发项目,今天要推荐一款VS2008(同时支持VS2005,但不支持VS2010)代码增强插件给仍 ...
- Android Studio 中的FindBugs插件使用,轻松帮你发现Bug (转)
在日常开发过程中难免会因为一时疏忽而留下一些Bug,这些Bug就是埋在程序里的定时炸弹,如果不能及时铲除就会导致程序的不稳定,异常或闪退的现象,从而导致用户的体验的下降.那么怎么才能找出这些埋在程序里 ...
- 7个高性能JavaScript代码高亮插件
本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染 ...
- [转]7个高性能JavaScript代码高亮插件
对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染任何一种编程语言,包括一些关键字的着色,以及每行代码的缩进等.今天我们要来分享一些高 ...
- JS/JQ常见兼容辅助插件
1.Respond.js Respond.js 是一个快速.轻量的 polyfill,用于为 IE6-8 以及其它不支持 CSS3 Media Queries 的浏览器提供媒体查询的 min-widt ...
- CKEditor 4.4.1 添加代码高亮显示插件功能--使用官方推荐Code Snippet插件
随着CKEditor4.4.1的发布,以前一直困扰的代码高亮问题终于完美的得到解决,在CKEditor4.4中官方发布了Code Snippet这个代码片段的插件,终于可以完美的内嵌使用代码高亮了,以 ...
- 一款检测代码中TODO的eslint插件
一款检测代码中TODO的eslint插件 前言 看了我标题进来的同学应该也知道我做的是个啥东西 没错是一个eslint插件,前端魔法师们日常所使用的工具之一 什么?你不知道eslint是干嘛的--吃鲸 ...
- Spring Boot (七)MyBatis代码自动生成和辅助插件
一.简介 1.1 MyBatis Generator介绍 MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper.dao.entity 的框架 ...
- 一款代码高亮插件 -- SyntaxHighlighter
SyntaxHighlighter 是当前用得最多的一款代码高亮插件,包括本博客也用到了该插件来显示代码,大家可以看到效果了.只不过这是针对WordPress的一款代码高亮插件,而今天我要给大家介绍的 ...
- Idea没安装几款好用的插件,怎么风骚的写代码???
工欲善其事,必先利其器,好的工具可以提升我们的开发效率,越来越多的Java程序员从Eclipse转到了Jetbrains家的Idea.今天给大家介绍的是我常用的十几款Idea必装的插件. Ti ...
随机推荐
- python基础七(函数名称空间及作用域、函数对象、函数嵌套、闭包函数、装饰器)
一 名称空间(namespaces):存放名字的地方,是对栈区的划分. 有了名称空间之后,就可以在栈区中存放相同的名字,详细的名称空间.分三种1.1 内建名称空间存放的名字:存放的python解释器内 ...
- 记录--实时音视频功能简析(live-pusher与live-player)
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 使用须知 2017年下半年,微信6.5.21版本支持在线音视频功能.开发者可以通过两个音视频组件 和 实现实时地在线直播.视频通话.语音通 ...
- 线上gc问题-SpringActuator的坑
整体复盘: 一个不算普通的周五中午,同事收到了大量了cpu异常的报警.根据报警表现和通过arthas查看,很明显的问题就是内存不足,疯狂无效gc.而且结合arthas和gc日志查看,老年代打满了,gc ...
- FPGA中与时序有关的概念
FPGA中与时序有关的概念 一.时序分析 时序分析是对整个时序进行分析的操作.作用就是了解设计的时序性能,一般而言就是最大时钟频率.时钟频率越高,设计的工作速度越快(忽略设计实现方法的不同导致的效率提 ...
- [Linux]将ArchLinux安装到U盘
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安装教程,同时由于当时硬盘空间不太够于是就打算安装到U盘上,也因此踩了不少坑. 但128G的U盘都拿来装Arch的话未免也太浪费了 ...
- 4 HTML表格标签
4 表格标签 表格标签也是一种复合标签.由:table,tr,td,th,thead,tbody组合,由行和列组合成,行和列交叉的地方就是单元格.在HTML中使用table来定义表格.网页的表格和办公 ...
- #dp,齐肯多夫定理#CF126D Fibonacci Sums
题目 \(T(T\leq 10^5)\) 组数据,每次给定数字 \(n(n\leq 10^{18})\), 问有多少种方案将 \(n\) 分解成若干个互不相同的斐波那契数 分析 如果找到一个方案使得所 ...
- 您有一份OpenHarmony开发者论坛2023年度总结,请查收~
2023 年 11 月,OpenHarmony 开发者论坛 1.0 版本正式上线. 感谢各位开发者对 OpenHarmony 的大力支持和热爱,成为 OpenHarmony 开发者论坛的第一批体验用户 ...
- 战码先锋直播预告丨参与ArkUI,共建OpenHarmony繁荣生态
OpenAtom OpenHarmony(以下简称"OpenHarmony")工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开 ...
- MogDB/openGauss 自定义snmptrapd告警信息
MogDB/openGauss 自定义 snmptrapd 告警信息 在实际使用中,默认的报警规则信息并不能很好的满足 snmp 服务端的需求,需要定制化报警信息,这里以添加 ip 为例,看似一个简单 ...