这款 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 语法太多,总不可能都记住,这时候用这个功能就非常合适。你看上面的代码解释,就是对于如下这行代码的解释,是不是非常方便呢!

Java 复制代码
List<ArrearsPeriod> sortPeriods = periodBillMap.keySet().stream()
                        .sorted(Comparator.comparing(ArrearsPeriod::getYearName)
                        .thenComparing(ArrearsPeriod::getSort))
                        .collect(Collectors.toList());

智能问答

智能问答功能,其实就是一个类 ChatGPT 的功能。它会根据你的问题,解答你的疑问。

我想这个功能比较适合遇到报错问题的时候,直接把错误的问题复制到问答框,让它告诉你解决方向。

自动生成代码

有时候我们想要快速地实现某个简单的功能,但又记不起某个 API 是啥,这时候直接用注释写出你想做的事情,随后 Fitten Code 就可以帮你生成代码。例如我想打印出某个目录下所有文件的文件名,于是在注释中写:

// 打印指定目录下所有文件的文件名

随后 Fitten Code 便会弹出代码补全的提示,按下 TAB 键就可以一直补全代码,最后得出如下所示的代码。

Java 复制代码
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,如下代码所示。

Java 复制代码
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 来说,它的优势在于:

  1. 无须FQ,并且速度够快,几乎没有卡顿。
  2. 直接集成在编辑器中,更加方便!

人工智能迅速发展的今天,这些插件确实能够极快提高我们的工作效率。之前需要谷歌半天才知道的某个语法知识点,现在直接 1 秒钟就告诉你结果。

学起来吧,小伙伴们!