VS Code中Copilot的使用

VS Code中Copilot的使用
现在大家都已经在VS Code中使用Copilot了,像基础的使用包括代码注释、代码补全、分析问题等。那具体在使用上有没有小tips呢?在此我把自己的用法记录一下。

先放上copilot在vscode的使用链接,大家可以了解:

自定义聊天响应 - Visual Studio (Windows) | Microsoft Learn

1.常用场景

1.根据注释写代码

在编辑器里打上注释,回车,根据注释就能得到一个简易函数。例:

// 写一个数组去重的方法

2.根据函数名写代码

举个栗子:

想得到对象数组的key值,取一个见名思意的函数名称,基本就能自动分析出你想要的函数。Tab补全即可。

const getObjectArraysKeys = (arr: any[]) => { return arr.map(item => Object.keys(item)); }; console.log(getObjectArraysKeys(arr)); // [["name"], ["name"], ["name"]]
3.给出注释/解释原理

这个不用多说了,选中需要的代码,输入给出注释或者解释原理,就能在聊天框里得到这段代码的解释,可以选择应用或不应用。对代码加注释很有帮助。

4.代码修复/优化

比如以下代码,本来想从对象数组中提取名称展示成新数组,按以下的fun1的写法打印出来是undefined

//从对象数组中提取名称展示成新数组 let arr = [{ name: "Alice" }, { name: "Bob" }, { name: "Charlie" }]; const fun1 = (array) =>{ array.map(item=>item.name) } console.log(fun1(arr)) // undefined

可以把代码选中,在AI聊天框里输入代码修复或者代码优化,输出是正常的:

const fun1 = (array) =>{ array.map(item=>item.name) } console.log(fun1(arr))
5.解释错误信息

举个栗子:

const b = null; console.log(b.xxx);

以上代码在控制台会报错:

可以将报错复制到聊天框询问原因和解决方案:

2.快捷键使用(很实用)

PS:注意

1.代码修复并不全对

2.给出的代码解释并不全对

比如以下代码,copilot分析的输出顺序是错的:

console.log("1"); setTimeout(function () { console.log("2"); new Promise(function (resolve) { console.log("3"); resolve(); }).then(function () { console.log("4"); }); }, 0); new Promise(function (resolve) { console.log("5"); resolve(); }).then(function () { console.log("6"); }); console.log("7");// 输出顺序为1 7 5 6 2 3 4

所以虽然Copilot能起到帮助,也绝不是百分百完善的,我们可以让它帮忙做些重复性工作,快速生成一些辅助代码,加快我们的开发效率,但需要多思考的问题,还是自己完成最好。

Could not load content