这款 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 ...
随机推荐
- 洞元智维产品上线:江浙沪PV访问量飙升背后的深层逻辑与未来发展趋势
洞元智维产品自上线以来,凭借其卓越的智能化产品性能和出色的用户体验,迅速在市场上崭露头角,特别是在上海.江苏.浙江等经济发达地区,其PV访问量持续飙升.这不仅反映了用户对智能化产品的强烈需求,更揭示了 ...
- 记录--用 Vue 实现原神官网的角色切换效果
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 为了更好的了解原神角色,我模仿官网做了一个角色切换效果,在做的过程当中也总结了一些技术点. 为了让大家更好的体验,我兼容了 PC 端 ...
- C++ Concurrency in Action 读书笔记一:thread的管理
为避免混淆,用thread表示std::thread及其对象实例,用线程表示操作系统概念下的线程 Chapter 2 thread的管理 2.1 thread的创建(构造函数) a. 默认构造函数 d ...
- archlinux 安装后xfce没有声音,声音无法调节
参照 http://ivo-wang.github.io/2018/02/17/fix/ sudo pacman -S alsa-utils pavucontrol sudo pacman -S pi ...
- 5W1H聊开源之Why——为什么要参与开源?
中国开源的发展速度发展加快,个人和组织对于为开源作贡献有着前所未有的激情.据<2020年IT行业项目管理调查报告>,约四成受访者以自己开发开源项目.为他人提交项目代码.作为成员开发维护项目 ...
- 利用 🤗 Optimum Intel 和 fastRAG 在 CPU 上优化文本嵌入
嵌入模型在很多场合都有广泛应用,如检索.重排.聚类以及分类.近年来,研究界在嵌入模型领域取得了很大的进展,这些进展大大提高了基于语义的应用的竞争力.BGE.GTE 以及 E5 等模型在 MTEB 基准 ...
- OpenMP优化for循环的基础运用
OpenMP优化for循环的基础运用 OpenMP作为多线程并行优化API,其使用方式与C++自带的多线程使用方式有很大的不同. 在使用OpenMP时,我们是通过 #pragma omp+字句 所组成 ...
- #树形dp,二分#UVA1407 Caves 洛谷 3698 [CQOI2017]小Q的棋盘
题目 给定一棵树,现在需要找到一条由节点1出发长度为\(x\)的路径, 问最多经过的节点数,重复经过只计算一次(不一定是简单路径) UVA的那道题多组数据多组询问,边权还不一定是1,\(n\leq 5 ...
- RabbitMQ 04 直连模式-Java操作
使用Java原生的方式使用RabbitMQ现在已经较少,但这是基础,还是有必要了解的. 引入依赖. <dependency> <groupId>com.rabbitmq< ...
- 空间音频技术与生态发展高峰论坛成功举办,业界首个Audio Vivid创作工具花瓣三维声亮相
11月26日至27日,UWA世界超高清视频产业联盟(以下简称"UWA联盟").上海交通大学-南加州大学文化创意产业学院.华为联合举办了"互联智慧,共赢未来" 超 ...