Open12

生成AIサービス集

hiroki_nakaharahiroki_nakahara

Github Copilot

https://zenn.dev/safubuki/articles/turtle-20240223-gitcopilot
機能メモ

インラインチャット

・コードを書いているファイルの中でチャット機能を呼び出し、コードの生成や修正などを行う機能
・プログラムの新規作成、部分的な処理の追加・修正で利用可能
・Ctrl + I (アイ) キー で呼び出せる

コードサジェスチョン

・1行または複数行の最適なコードを提案(サジェスチョン)する機能
・使い方としては、コメントで実行したい処理を記述し、目的の場所で改行するとコードが提案される
・提案が期待する内容ではなかった場合、Ctrl + Enter キーを入力することで、別の提案を一覧で表示することができる

チャット

・エディタ上でコードの生成や関数の説明、その他プログラム開発に関する質問など自然言語により対話する機能
・エディタ左側のチャットタブを選択することで利用可能
・作成したコードは、Insert at Cursor ボタンを押すことで、ファイルに簡単に反映することができる
・会話の話題を切り替えたときは、チャット画面上部の+のボタン(New Chat)を押すことで、今までの会話をクリアして、新しく始めることができる
・会話内容は時計マークのボタン(Show Chats)にて確認可能

よく使うコマンドメモ

  • /fix
    • 修正内容の提案
  • /doc
    • ドキュメンテーションコメントの追加
  • /tests
    • テストコードの生成
  • /explain
    • 選択したコードの意味や動作を解説
  • /new
    • 新しいファイルやコードを生成
  • /help
    • Copilotの使い方を教えてくれる

コンテキスト変数
特定のファイルやコードの一部を指定して、より具体的で関連性の高い回答を得るため機能

  • #selection
    • アクティブなエディタでカーソル選択した範囲を示す変数
    • #selection 処理内容を説明してくださいや#selection 処理を簡略化してくださいと入力することで、選択範囲のコードについてのみ説明や修正を行うことができる
  • #terminalSelection
    • アクティブなターミナルでカーソル選択した範囲を示す変数
    • プログラム実行時にエラーが発生するシーンでよく利用される
    • ターミナルに表示されたエラーを選択し、#terminalSelection エラーの原因と対策を教えてくださいと入力すると、エラーの原因と対策を教えてくれる
    • Ctrl + @でターミナルが起動できる
  • #file
    • ワークスペース内で選択したファイルを示す変数
    • ファイルの概要や関数の一覧、ファイル同士の関係性を知りたいときに便利
    • #file:sample.py ファイルの概要と関数の一覧を示してくださいや#file:kame.py #file:turtle.py これらのファイルの関係性を示してくださいと入力

感想
チャットくらいしか使えてなかったので、ほぼ使えていなかった機能であるインラインチャット + コマンド、コンテクスト変数を使い込んでみる!!!(個人的な反省も含め...)