diff --git a/content/post/NeovimでGithub Copilotを試す.md b/content/post/NeovimでGithub Copilotを試す.md index 6c3349b..1a4b53a 100644 --- a/content/post/NeovimでGithub Copilotを試す.md +++ b/content/post/NeovimでGithub Copilotを試す.md @@ -1,7 +1,7 @@ --- title: "NeovimでGithub Copilotを試す" -date: 2024-09-30T20:55:09+09:00 -draft: true +date: 2024-09-30T21:30:09+09:00 +draft: false tags: ['tech'] --- @@ -88,11 +88,11 @@ cmp.setup({ }) ``` -以上の設定でGitHub Copilotの提案が補完候補の一部として表示されるようになる。 +以上の設定でGitHub Copilotの提案が補完候補に表示されるようになる。不要な時は次の候補に飛ばせばいいだけなので使いやすいと思われる。たとえCopilotの重要性が今後増してくるとしても、既存のLSPによる補完が依然有効なのは変わりない。 -![](/img) +![](/img/337.png) -さて、これでCopilotの設定は終わりかと思いきや、実はそうではない。LLMの最大と言っても過言ではない機能は対話による改善なので、チャットができないことには魅力半減だ。しかし公式のCopilot.vimにも今回紹介した非公式の方にもチャット機能は備わっていない。そこで、CopiotChat.nvimというさらに別のプラグインを導入する。 +さて、これでCopilotの設定は終わりかと思いきや、実はそうではない。LLM最大の機能と言うべきは対話による改善なので、チャットができないことには魅力半減だ。しかし公式のCopilot.vimにも今回紹介した非公式の方にもチャット機能は備わっていない。そこで、CopiotChat.nvimというさらに別のプラグインを導入する。 CopilotChat.nvimは名前通りCopilotとの対話機能を提供するプラグインである。数多くの連携プラグインが用意されており設定内容も多岐に渡るが、本稿では自由記述方式と、Telescopeと連携して定型文で質問を行う方法について記す。例によってTelescopeは導入済みとする。 @@ -162,13 +162,13 @@ vim.api.nvim_set_keymap( 上記のうち`prompts`に続く日本語文は、デフォルトでは英語で用意されている定型文を書き換えたものとなる。Copilot Chatは質問文と同じ言語で回答が返ってくるため、日本語で回答が欲しければ日本語で質問しなければならない。 -![](/img/) +![](/img/338.png) `ShowCopilotChatActionPrompt`ではTelescopeを呼び出す関数が定義されている。この機能のなにが嬉しいのかというとコーディング中に頻繁に用いるであろう質問文をショートカットキーで即時に呼び出せるところだ。質問文が固定されていると回答も一意に定まりやすい。 他方、自由記述の入力は`CopilotChatBuffer`によって呼びされる。現在のバッファを対象に具体的な質問を行うことで、より高度な提案を引き出す効果が期待できる。ただし、Copilotはあくまでコーディング支援用のツールなので天気や時事問題、文章の校正などについて尋ねても回答は得られない。 -![](/img/) +![](/img/339.png) たとえば、対応している質問を入力すると上記のような回答が得られる。期待以上に的を射た内容が多く、これがいつでも使えて月額10ドルなら十分割に合うと感じた。業務上のコードをむやみに読み取らせるのは下手をするとインシデントに発展しかねないが、工夫次第では活用できる見込みが高い。 diff --git a/themes/qiss/static/img/337.png b/themes/qiss/static/img/337.png new file mode 100644 index 0000000..9050f45 Binary files /dev/null and b/themes/qiss/static/img/337.png differ diff --git a/themes/qiss/static/img/338.png b/themes/qiss/static/img/338.png new file mode 100644 index 0000000..d3c6291 Binary files /dev/null and b/themes/qiss/static/img/338.png differ diff --git a/themes/qiss/static/img/339.png b/themes/qiss/static/img/339.png new file mode 100644 index 0000000..c2c4ad5 Binary files /dev/null and b/themes/qiss/static/img/339.png differ