サクッと Gemini Code Assist 使ってみる
はじめに
最近の生成AI周りの発展は目まぐるしいものがあります。ちょっと前は Github Copilot や ChatGPT の新しいモデルを触って感動していましたが、今は「軽く触ってみるか」と思っても、追いつけなくなっています。この記事もすぐに情報が古くなってしまうかもしれません。
個人的に生成AIはツールでしかなく、それを比較することに楽しさは見出せません。
やっぱりコードを書きたい。あくまでその補助ツールとして使いたい。
さっさとウェブブラウザみたいに、どこかがデファクトスタンダードになってほしいです。
きっとそれを実現してくれるのは、やっぱりGoogleなのかなとも思っています。そうでなかったとしても、とりあえずGeminiを使っておくのが無難なのかなーと思っています。
そんな感じでたどり着いたのが Gemini Code Assist でした。実質無料で使えてコードレビューまでしてくれます。しかも設定はかなり簡単です。
他を色々と触ったわけではないですが、困ったらとりあえずGeminiは選択肢としてアリなのかなと思っています。
対象読者
- コーディングの補助ツールとして生成AIのコーディングツール使いたい
- 課金したくない
- 色々調べたり比較したり設定するの面倒
Gemini Code Assist
公式ブログ にざっくりとまとまっていました。
要点を抜き出すと、
- パブリックドメインすべてのプログラミング言語をサポート
- コード生成やコード補完などのリクエストに対して、1日あたり 6,000件(1か月あたり180,000 件)の上限
- Visual Studio Code や JetBrains IDE でも提供されるため、個人の開発者も、これまでエンタープライズ向けに提供してきたコード補完、生成、チャット機能を利用できる
- チャットにおける最大 128,000 トークンの入力に対応
- Gemini Code Assist for GitHub は、スタイル上の問題やバグを検出し、自動的にコード変更や修正を提案します
- 個人用 Gmailアカウント があれば登録でき、クレジットカードは不要です。Visual Studio Code、GitHub、または JetBrains IDE に Gemini Code Assist をインストールして、すぐに利用を開始できます
docsはこちら
VSCode に設定する
- VSCode の拡張機能でGemini Code Assistをインストール
- 左のタブのところにGeminiのアイコンが追加されるのでそれをクリックして、Google アカウントでログイン
- 成功すると成功画面が出るのでこれで完了
これでコード補完が効くようになっているはずです。
他にもGeminiアイコンのところからチャットができ、リファクタなりコード生成なり指示すればしてくれます。
チャットでコード生成してもらっているところ
開いているファイル以外のコードも参照してくれたりします。少し時間はかかりますが、わざわざドキュメント見に行くほどでもないときや、簡単なデバッグに便利です。
コードレビューをしてもらう
- GitHubアプリのGemini Code Assistでインストールする
- どのリポジトリにアクセスさせるかを選べます
- 進めて同意を済ますとDoneの画面になるのでこれで完了です。
これでPull requestsとかしてみるとSummaryやCode Reviewをしてくれるようになります。簡単ですね。
個人開発では思想が入りすぎたり、簡単なミスもつい見逃してしまったりしがちなのでレビューしてもらえると心理的安全性が高まります。
レビューしてもらっているところ
Summary of Changes
Code Review
そして、Gemini Code Assistのコードレビューの動作はカスタマイズできるらしいです。
デフォルトでは以下の観点でレビューをしてくれているらしい。
正確性: コードが意図したとおりに機能し、エッジケースを処理し、論理エラー、競合状態、API の誤った使用をチェックします。
効率性: パフォーマンスのボトルネックや最適化の対象となる領域(ループの過剰、メモリリーク、非効率なデータ構造、冗長な計算、過剰なロギング、非効率な文字列操作など)を特定します。
保守性: コードの読みやすさ、モジュール性、言語の慣用句とベスト プラクティスへの準拠性を評価します。変数、関数、クラスの不適切な命名、コメントやドキュメントの欠如、複雑なコード、コードの重複、不整合な形式、マジックナンバーを対象としています。
セキュリティ: 機密データの安全でない保存、インジェクション攻撃、アクセス制御の不備、クロスサイト リクエスト フォージェリ(CSRF)、安全でない直接オブジェクト参照(IDOR)など、データ処理や入力検証の潜在的な脆弱性を特定します。
その他: プルリクエストの審査では、テスト、パフォーマンス、スケーラビリティ、モジュール性と再利用性、エラー ロギングとモニタリングなど、その他のトピックも考慮されます。
そしてこれをカスタマイズするには .gemini/styleguide.md
を設定するとできます。
例えば「日本語でレビューしてください。」と書くと↓の感じで日本語でレビューをしてくれるようになりました。
サンプルコードを見ても分かる通り、スタイルガイドなのでフォーマットなんかを指定する感じだと思いますが、かなり柔軟に対応してくれそうですね。
まとめ
- Gemini Code Assist は、無料・簡単・高性能な生成AIツールとしてかなり有望だと思います。
- VSCodeやGitHubと連携することで、日々の開発やレビューが圧倒的に楽になりました。
- 特に「設定が面倒」「課金したくない」人には最適解だといえます。
- 今後も進化し続ける領域なので、気軽に試してみる価値は十分にありそうです。
Discussion