1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Github CopilotでJavaのコードをTypeScriptに変換してみた

Last updated at Posted at 2024-04-09

Github CopilotでJavaのコードをTypeScriptに変換してみた

はじめに

AI EditorとしてCursor使うつもりだったけど、会社側がGithub Copilot businessを使えるようにしてあると聞いて、Github Copilotを使ってみることにした。

Github Copilotのインストール

VS Codeで、会社のアカウントでgithubにログインしたら、Github Copilotをインストールするように言われる。

Screenshot 2024-04-09 at 10.26.47.png

もちろん、インストールをクリック。

Github Copilot ChatGithubにSign inしていいか聞かれるので、もちろんAllow

Screenshot 2024-04-09 at 10.29.41.png

認可の画面が出るので、Authorizeをクリック。

Screenshot 2024-04-09 at 10.35.37.png

認証のページになるので、もちろん、Passkeyを使う。

Screenshot 2024-04-09 at 10.36.10.png

認証が終わると、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アイコンがあるのでクリックする。

Screenshot 2024-04-09 at 13.19.51.png

Chat Windowが開く。

Screenshot 2024-04-09 at 13.22.28.png

現在開いているファイルが対象になる。

typescriptに変換してとお願いしてみよう。

Screenshot 2024-04-09 at 13.24.35.png

つぎのような結果が返ってくる。

Screenshot 2024-04-09 at 13.28.24.png

みてわかるように、post()の変換は不十分だし、buildParams()は、変換されていない。これで、Github Copilotは、ダメなんだと決めつけてはいけない。

post()全体を選択して、

Screenshot 2024-04-09 at 13.33.39.png

再度、typescriptに変換してと頼んでみよう。
それっぽい結果が出てきた。

Screenshot 2024-04-09 at 13.36.15.png

結論

Github CopilotでJavaのソースコードをTypeScriptに変換するのは、自動で全てうまくいくような感じではない。ただ、全てを一から自分でやるよりは幾分マシと言ったところかな。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?