MRが楽しい

MRやVRについて学習したことを書き残す

VisualStudioCodeのGitHubCopilotのドキュメントを読む その16(コード補完を有効または無効にする)

本日はVisualStudioCodeの学習枠です。
VisualStudioCodeのGitHubCopilotのドキュメントを読みながら実際に操作を試してみました。

前回記事

以下の前回記事の続きです。
bluebirdofoz.hatenablog.com

Code completions with GitHub Copilot in VS Code

以下のCode completions with GitHub Copilot in VS Codeドキュメントを日本語訳しながら実行時のキャプチャをしていきます。
code.visualstudio.com

コード補完を有効または無効にする

コード補完機能は全ての言語または特定の言語を指定して有効または無効にできます。
コード補完を有効または無効にするにはステータスバーのCopilotメニューを選択し、コード補完を有効または無効にするオプションのチェックまたはチェックを外します。

特定の言語のコード補完を無効にするオプションはアクティブなエディタの言語に依存します。

設定の[github.copilot.enable]を変更することでも切り替えることができます。
コード補完を有効または無効にしたい言語ごとにエントリーを追加します。

全ての言語でコード補完を有効または無効にするには[*]の値をtrueまたはfalseに設定します。

スヌーズ機能を使用するとエディタ内の全てのコード補完を一時的に無効にすることができます。
コード補完をスヌーズするにはCopilot メニューを選択し、Snoozeボタンを選択してスヌーズ時間を5分増やします。

コード補完を再開するにはCopilotメニューのCancel Snoozeボタンを選択します。

補完のためのAIモデルを変更する

異なる大規模言語モデル(LLM)は異なるタイプのデータで訓練されるので異なる能力と強みを持っている場合があります。
エディタでコード補完の生成に使用する言語モデルを変更する手順は以下のとおりです。

コマンドパレット(F1)を開きます。

[change completions model]を実行し、GitHub Copilotを選択します。

ドロップダウンメニューで使用するモデルを選択します。

またはコマンド・センターが有効になっている場合はVS Codeタイトル・バーのCopilotメニューをクリックし、ドロップダウン・メニューからConfigure Code Completionsをクリックすることもできます。

次にドロップダウン・メニューからChange Completions Model... を選択し、使用するモデルを選択します。


ヒントとトリック

適切なインライン候補を表示するためにCopilotはエディタで現在開いているファイルを調べてコンテキストを分析し、適切な候補を作成します。
Copilotの使用中に関連ファイルを開いておくとCopilotがプロジェクトの全体像を把握できるようになります。

関連設定

コード補完の設定

github.copilot.enable

全ての言語または特定の言語のインライン補完を有効または無効にする。

editor.inlineSuggest.fontFamily

インライン補完のフォントを設定する。

editor.inlineSuggest.showToolbar

インライン補完で表示されるツールバーを有効または無効にします。

editor.inlineSuggest.syntaxHighlightingEnabled

インライン補完のシンタックスハイライトを有効または無効にします。

次の編集候補(Copilot NES)の設定

github.copilot.nextEditSuggestions.enabled

次の編集候補(Copilot NES)を有効にします。

editor.inlineSuggest.edits.allowCodeShifting

Copilot NESがサジェストを表示するためにコードをシフトできるかどうかを設定します。

editor.inlineSuggest.edits.renderSideBySide

可能であればCopilot NESで大きな編集候補を横に並べて表示するかCopilot NESで常に関連するコードの下に大きな編集候補を表示するかを設定します。

auto (デフォルト): ビューポートに十分なスペースがある場合、大きな編集候補を横に並べて表示します。そうでない場合、候補は関連するコードの下に表示されます。
never: 提案を横に並べて表示せず、常に関連するコードの下に候補を表示します。