Github CopilotでJavaのコードをTypeScriptに変換してみた
はじめに
AI EditorとしてCursor使うつもりだったけど、会社側がGithub Copilot businessを使えるようにしてあると聞いて、Github Copilotを使ってみることにした。
Github Copilotのインストール
VS Codeで、会社のアカウントでgithubにログインしたら、Github Copilotをインストールするように言われる。
もちろん、インストールをクリック。
Github Copilot Chat
もGithub
にSign inしていいか聞かれるので、もちろんAllow
。
認可の画面が出るので、Authorize
をクリック。
認証のページになるので、もちろん、Passkeyを使う。
認証が終わると、VS Codeに制御が戻る。
ネットの情報だと、Github Copilot Labs
というExtensionを使って、ある言語のソースコードを別の言語のソースコードに変換するということだったが、その機能は、Github Copilot Chat
に吸収されてなくなったらしい。
Github Copilot Chat
は、先ほど、Github Copilot
をインストールした時に、一緒にインストールされている。
java-oauth-serverのgit clone
今回の目的は、Javaで書かれたAuthleteのjava-oauth-serverのコードのうち、OID4VCIに関わる部分をTypeScriptに移植すること。そこで、java-oauth-serverをgit cloneする。
git clone https://github.com/authlete/java-oauth-server.git
PushedAuthReqEndpoint
最初にPAR Endpointの処理をTypeScriptに移植したいので、PushedAuthReqEndpointを開く。
Extension Pack for Java
をインストールするように進められるので、インストールしておく。これで、コマンド(CTL)クリックで、対象のソースコードにJumpできる。
Activity Bar
にChatアイコンがあるのでクリックする。
Chat Windowが開く。
現在開いているファイルが対象になる。
typescriptに変換して
とお願いしてみよう。
つぎのような結果が返ってくる。
みてわかるように、post()
の変換は不十分だし、buildParams()
は、変換されていない。これで、Github Copilot
は、ダメなんだと決めつけてはいけない。
post()
全体を選択して、
再度、typescriptに変換して
と頼んでみよう。
それっぽい結果が出てきた。
結論
Github Copilot
でJavaのソースコードをTypeScriptに変換するのは、自動で全てうまくいくような感じではない。ただ、全てを一から自分でやるよりは幾分マシと言ったところかな。