💻

VSCode で GitHub Copilot にリファクタリングをお願いする

2023/08/23に公開

業務でやってみたらいい感じにリファクタリングしてもらえたので Zenn にメモしておく。

前提条件

VSCode で GitHub Copilot を使えるようにする。

実施方法

GitHub Copilot の QA 機能を利用してリファクタリングしてもらう。

Copilot に質問を投げる

各言語のコメントアウトを利用して、 :q を入力した後に質問したいことを記載する。

// q: <質問したいことを記載する>

Copilot から回答をもらう

各言語のコメントアウトを利用して、 :a を入力すると Copilot の回答が自動入力されるので、サジェストが出たら tab キーを押すと回答がエディターに入力される。

// q: 回答が自動入力される

実施例

// ↓↓↓↓↓↓↓ リファクタリング対象の関数 ↓↓↓↓↓↓↓
const myFizzBuzz = () => {
  for (let i; i <= 100; i++) {
    if (i % 15 === 0) {
      console.log('FizzBuzz');
      continue;
    }

    if (i % 3 === 0) {
      console.log('Fizz');
      continue;
    }

    if (i % 5 === 0) {
      console.log('Buzz');
      continue;
    }
  }
}

// ↓↓↓↓↓↓↓ GitHub Copilot の QA 機能を利用してリファクタしてもらった結果 ↓↓↓↓↓↓↓
// q: myFizzBuzz() 関数を可読性の高いコードに書き換えることはできますか?
// a: できる
const myFizzBuzz = () => {
  for (let i; i <= 100; i++) {
    const isFizz = i % 3 === 0;
    const isBuzz = i % 5 === 0;

    if (isFizz && isBuzz) {
      console.log('FizzBuzz');
      continue;
    }

    if (isFizz) {
      console.log('Fizz');
      continue;
    }

    if (isBuzz) {
      console.log('Buzz');
      continue;
    }
  }
}

実施例の Gif

まとめ

  • 便利
  • 「a: できる」 ← かっこいい

Discussion