First and boring stuff out of the way, GitHub Copilot is an AI pair programmer that can suggest whole lines or functions inside of VSCode.
About a week ago, I heard this Copilot announcement. Whoah, an AI extension that can help you program? Github ran an AI learning model on all the lines of code publicly available on GitHub? Am I going to be out of a job by an AI machine? I decided to sign up for the technical preview to take a look. A supervisor of the Copilot project accepted my request within the week! So now I started to program away with Copilot enabled.
I received multiple emails from Copilot Github discussions. So I turned off my watch mode for that repo. Before that, there was one discussion that caught my eye though! You can “chat” with CoPilot! So I had to try it out. I thought to see if I can name Copilot “CHEWIE” since Chewbacca is the best copilot!
Yes, I don’t know how Chewie learned English, and this Chewie doesn’t seem like a good Copilot for the Millenium Falcon at least. And, I’m not sure if this is a good start for Copilot.
After a few days, I did find Copilot helpful for completing the line that I’ll probably want to do. For example, I am a prolific user of console.log
in JavaScript or println!
in Rust. Copilot is able to speed up the logging very effectively. In regular programming and not debugging, Copilot has been around 80% - 90% helpful with completing the line. I’m digging it.
So it’s an intellisense plugin on steroids.
Copilot is able to write whole functions from a comment description. I have yet to try that out yet. It seems to me that I’ll have to write effective comments now. I’m not sure if it will truly be the code that I am wanting, so I have to review the code nonetheless. Maybe this can get me into writing better comments.
Overall, GitHub Copilot is a very interesting extension, and I am intrigued to see where it’ll go. Since being named Copilot, the developer is obviously the pilot. The Copilot is just meant to help speed up development work, and I think I have been able to develop faster.