LoginSignup
5
2

Github Copilot ショートカット一覧 【VSCode】

Last updated at Posted at 2023-12-22

最近になって Github Copilot を学生は無料で利用できるということを知り(いまさら……)学生の登録と Github Copilot の利用を開始しました.

学生が Github Copilot を無料で利用するための申請についてはこちらの記事を参考にさせて頂きました.
https://qiita.com/SNQ-2001/items/796dc5e794ac3f57a945 (SNQ-2001(たいしん)様)

ショートカットキーについてまとめている記事が少なかったため,自分用のメモとしてこちらにまとめておきたいと思います.なお,本記事はGitHub Copilot の概要をまとめたものになります.

項目 コマンド 説明
コードの生成 ctrl + Enter コメントに従ってコードの生成をおこなう
インラインチャット ctrl + i Github Copilot に会話形式でコードの生成を依頼できる
候補の生成 *** コードの候補を生成してくれる
候補に対する操作 コマンド 説明
候補の受け入れ tab 提示された候補を受け入れる
代替候補の表示 Alt + [ or Alt + ] 次の候補を表示 or 前の候補を表示
候補の部分的な受け入れ ctrl + → 表示された候補のうち,次の単語を受け入れる

コードの生成

コメントに従ってコードを生成してくれます.コマンドはctrl + Enterです.

test.py
# 素数をmax_numまで挙げていき,それらを格納したリストを返り値とする関数

上記のようなコメントに対して,ctrl + Enterを実行すると下のような結果が得られました!

image.png

いくつかの候補が出てくるので,気に入ったコードのAccept Solutionを実行することでコードに反映されます.

image.png

インラインチャット

Github Coplilot に会話形式でコードの生成を依頼できます.コマンドはctrl + iです.
いくつかの操作については既に特定のコマンドが用意されているようです.その呼び出しは/でできます.今回は/docを試してみました.

image.png

image.png

関数のdocstringが自動で生成されました!

候補の生成

候補の生成には特に操作は必要ありません.ただコードを記述していくとそれに合わせて候補を生成してくれます.

image.png

候補に対する操作は下表の通りです.

候補に対する操作 コマンド 説明
候補の受け入れ tab 提示された候補を受け入れる
代替候補の表示 Alt + [ or Alt + ] 次の候補を表示 or 前の候補を表示
候補の部分的な受け入れ ctrl + → 表示された候補のうち,次の単語を受け入れる

最後に

ここに紹介している以外にも便利なコマンドがあれば紹介頂けますと幸いです.

また,今回 Github Copilot に書いてもらったコードを掲示しておきます.

test.py
# 素数をmax_numまで挙げていき,それらを格納したリストを返り値とする関数
def make_prime_list(max_num):
    """
    指定された範囲内の素数のリストを作成する関数。

    Parameters:
    max_num (int): 素数を探索する範囲の最大値。

    Returns:
    list: 範囲内の素数のリスト。
    """
    prime_list = []
    for num in range(2, max_num + 1):
        for i in range(2, num):
            if num % i == 0:
                break
        else:
            prime_list.append(num)
    return prime_list


def make_prime_list_v2(max_num):
    prime_list = []
    for num in range(2, max_num + 1):
        for p in prime_list:
            if num % p == 0:
                break
        else:
            prime_list.append(num)
    return prime_list

if __name__ == '__main__':
    print(make_prime_list(100))
    print(make_prime_list_v2(100))  

出力結果は以下のようになります.

>> python3 test.py 
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2