GitHub Copilotのオートコンプリーションを無効にし、手動で補完をトリガーする方法。やっと分かったのでメモ。
まずVSCodeに以下の設定を追加。
"github.copilot.editor.enableAutoCompletions": false, "editor.inlineSuggest.edits.experimental.enabled": false,
続いて、ショートカットキーはデフォルトでalt+\なのだが、日本語キーボードの場合、"editor.action.inlineSuggest.trigger"に "alt+oem_102"を割り当てる必要がある。(設定UIでalt+\を押下するだけでもいい)
こうでもしないと、無料枠の2000補完/月は一瞬で使い切ると思う。あとOpenAIに見せるファイルの主導権はこちらで握っておくなら、オートコンプリートは切っておいたほうがいい。
コンテキストのアタッチだと全部読めている気もする。どういう風にコードを切り取って(あるいは切り取らずそのまま全部)リクエストしてるのかはよくわからないな。パケットキャプチャして調査した方が良さそう。
Copilot Chatをパケットキャプチャして色々見てたんだけど、コンテキストに与えられたファイルのどの行を抽出して送信するかを決定するのには、リモートのLLMは使ってない気がする。
ローカルの小型モデルを動かしてるのか、何らかのアルゴリズムなのかはちょっと分からない。
コード補完の方はssl keyが取れず、パケットキャプチャできんかった。