这篇文章介绍了 GitHub Copilot Labs 的一些功能,包括中文解释代码、代码转换、提升代码可读性、加类型定义、修改 bug、调试、清除注释、逐行注释、加安全代码、抽取代码、文档编写和自定义执行。这个工具目前还在测试阶段,很多功能都有问题,需要自己去阅读调试。

GitHub Copilot Labs 中文解释技巧及其它不靠谱的功能

前言

网址: https://githubnext.com/projects/copilot-labs

image-20230420232705404

Copilot Labs 是一个实验性的项目,目前除了 vscode 插件。

主要功能有:

  • 解释代码
  • 翻译代码
  • 各种工具刷子(加注释、加类型、抽取代码、去注释、加安全代码,自定义。。。)
  • 编写测试

估计你和我一样都是想看看这个 copilot labs 能做到什么程度的工作。

正文

安装 GitHub Copilot Labs

目前只有 vscode 插件,安装顺序:

  • github copilot 插件先安装,激活
  • github copilot labs 插件安装,激活
image-20230420232902177

左侧面板打开侧栏

image-20230420233019317

选中代码后左侧栏自动显示

image-20230420233152533

中文解释代码

这不错

很多同学反应解释这个代码英文的,看着不习惯。

image-20230421001301963

类型选 custom , 在 prompt 中加入中文要求。

代码转换

image-20230421091551819

支持的语言很多

image-20230421091629841

提升代码可读性

不敢用,破坏代码

处理之前

    chapterCount = course?.chapters?.length ?? 0;
    for (int i = 0; i < chapterCount; i++) {
      var chapter = course?.chapters?[i];
      sectionCount += chapter?.sections?.length ?? 0;
      for (int j = 0; j < (chapter?.sections?.length ?? 0); j++) {
        var section = chapter?.sections?[j];
        minutesAll += section?.minutes ?? 0;
      }
    }

可读性处理

image-20230421092005609

加类型定义

还可以

之前

  // 载入播放器
  Future<void> loadVideoPlayer({ nextSuri}) async {
    suri = nextSuri ?? suri;
    videoController?.pause();
    videoController?.dispose();
    chewieController?.dispose();

之后

image-20230421092714884

修改bug

不敢用,破坏代码

之前

  // 载入播放器
  Future<void> loadVideoPlayer({String nextSuri}) async {
    suri = nextSuri ?? suri;
    videoController.pause();
    videoController.dispose();
    chewieController.dispose();

    if (section?.minutes == 0) {
      return;
    }

之后

image-20230421093100406

调试

不敢用,破坏代码

image-20230421093158039

就是给你加入了 print 代码

清除注释

不敢用,破坏代码

image-20230421093317907

逐行注释

还可以,不会破坏代码

image-20230421093423245

加安全代码

还可以, 但是需要我仔细的调试代码

image-20230421093623749

抽取代码

还可以,但是需要自己测试好

image-20230421093851421

文档编写

看着还可以,挺能忽悠

image-20230421093930461

自定义执行

接着用中文忽悠

输入: 加入中文函数注释,包括函数入参、返回值、每一步执行过程说明

image-20230421094612105

小结

GitHub Copilot Labs 是一个强有力的 copilot 补强,但是目前还在测试阶段,很多功能都是有问题的。造成很多 bug,所以你要自己去阅读调试。

一句话总结,只能帮上很基础的代码工作,但是往往这种工作是耗费体力的,正好可以用上。


end