Christian Heilmann

GitHub Copilot explaining code and translating it from one language to another

Tuesday, June 7th, 2022 at 9:57 pm

GitHub Copilot is already the dog’s bollocks, but I just installed the GitHub Labs extension and my jaw is still open.

Code explanation

This one allows you to highlight a piece of code and get explanations of what it does:

Screencast showing the explanation feature in action

For example:

async function downloadZipFile(downloadUrl) {
  await fs.remove('out/edge');
  const file = fs.createWriteStream('');
  https.get(downloadUrl, function(response) {
    response.on('end', async ()=>{
      await fs.createReadStream('').pipe(unzipper.Extract({path: 'out/edge/'}));
      await fs.unlink('', () => {} );
      const outdir = path.join(__dirname, 'out', 'edge');
      console.log(`Edge files extracted to: ${outdir}`);

Turns into:

  1. We first delete the ‘out/edge’ folder.
  2. We downoad the file from the GitHub release page.
  3. We unzip the Edge zip file to the ‘out/edge’ folder.
  4. We print a message to the console.

Code translation

You can also highlight a piece of code and it gets translated to another language. For example, JavaScript to PHP.

Screencast of GitHub Copilot translating JavaScript to PHP

I am so looking forward to where this is all going!

Share on Twitter

My other work: