你还在手动写代码吗?Github的Copilot有多强?

你还在手动写代码吗?Github的Copilot有多强?

获得了资格

前几周,我拿到了Copilot的资格,这是一个AI自动辅助写代码的VScode插件,可以自动生成代码。

用了几周之后,感觉给我的惊喜很多。

如何使用

获得了资格之后,就可以在vscode插件市场下载插件,在每次打开vscode的时候,都需要登录github账号

登录之后,在代码中回车会触发代码自动补全

能补全什么

只要是vscode能打开的,基本上都能补全

js

在平常的开发中,只需要写下你想要的代码注释,就会出现补全

例如,下面的代码中,我只打了注释部分,之后的代码都是copilot自动补全的

// quick sort
function quickSort(arr) {
  if (arr.length <= 1) return arr;
  let pivotIndex = Math.floor(arr.length / 2);
  let pivot = arr.splice(pivotIndex, 1)[0];
  let left = [];
  let right = [];
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] < pivot) {
      left.push(arr[i]);
    } else {
      right.push(arr[i]);
    }
  }
  return quickSort(left).concat([pivot], quickSort(right));
}//这些都是自动补全的

css

有时不需要注释,它也能根据你的代码自动补全

.class {
  width: 100px;
  height: 100px;
  display: flex;
  /* 下面都是自动补全的 */
    justify-content: center;
    align-items: center;
}

other

甚至,webgl的代码也能自动补全

uniform float u_saturation;//饱和度
uniform float u_brightness;//亮度
uniform float u_contrast;//对比度
void main() {
    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
    vec4 total=vec4(0.0,0.0,0.0,1.0);
    total=texture2D(u_Sampler, v_TexCoord);
    //u_contrast
    total= total + (total - 0.5) * (u_contrast - 1.0);
    //u_saturation 在这之后都是自动补全的
    float lum = total.r * 0.299 + total.g * 0.587 + total.b * 0.114;
    total.r = total.r + (lum - total.r) * (1.0 - u_saturation);
    total.g = total.g + (lum - total.g) * (1.0 - u_saturation);
    total.b = total.b + (lum - total.b) * (1.0 - u_saturation);
    gl_FragColor=total;
}

可以看到,它自动补全了饱和度算法,并且带出了计算明度的公式

markdown文件也可以补全,在vscod中写文章,它甚至能写出可能的后续,对于写作也有辅助作用

编写组件文档时,它能自动识别组件的各个参数的作用,并且列出表格

## Example
```html

  
  

\```
## Attributes
传入option对象,可以自定义属性,如下:

| 属性名 | 类型 | 默认值 | 说明 | 样例 |
| :--- | :--- | :--- | :--- | :--- |

| gutter | number | 0 | 列间距 | 0 |
| span | number | 0 | 列宽 | 0 |
| align | string | '' | 列对齐方式 | '' |

其他

copilot会替代程序员吗?可能在遥远的将来,是会的,但是,在当下,它对我们效率的提升是实打实的。

Last But Not Least

别忘了关注➕,点赞,收藏,订阅, o(( * ^ ▽ ^ * ))o

你可能感兴趣的:(github,vscode,前端,后端,java)