GitLab DuoのCode Suggestionsを使ってみた

GitLab DuoにあるCode Suggestionsをご存知でしょうか。
2024.03.28

こんにちは、こんばんは。アライアンス事業部のきだぱんです。

GitLabに様々な機能があるのをご存知でしょうか。
ソースコード管理/バージョン管理だけではないのです。

今回は最新バージョンGitLab 16.9にて、Premium版でも使用できるようになりましたGitLab DuoのCode Suggestionsについて書いていきたいと思います。

GitLabとは

そもそもGitLabとは?
計画から開発・運用・監視までライフサイクルの全ステージを一貫してサポートしてくれるのが、GitLabです。
単一のアプリケーションでDevOpsのライフサイクル全般を対応してくれるのです。便利ですね。^ ^

GitLabを使うにあたって、まずは試してみたいという方も多いのではないでしょうか。
GitLabでは30日間、無料でトライアルを始められます。
お問い合わせは下記から。

アカウント作成については下記のブログをご覧ください。

GitLab Duoとは

GitLab DuoとはGitLabが提供するAIによる支援機能の総称です。
Code Suggestions以外にも様々な機能があります。

  • GitLab Duo Suggested Reviewers
    マージ リクエストに対してレビュー担当者を自動的に提案することで、より迅速で高品質なレビューの作成を支援します。

  • Vulnerability explanation
    脆弱性をより効率的に修復し、スキルを向上させ、より安全なコードを作成します

  • GitLab Duo Chat

  • Fill in merge request templates
    テンプレートの内容に基づいてマージ リクエストの説明を生成します。

上記は一部の機能ですが、他にも様々な機能があります。

GitLab Code Suggestionsについて

GitLab Code Suggestionsができることを見てみましょう。
Code Suggestionsは、コードの提案をしてくれる機能です。
開発中にエラー箇所を迅速に発見し修正することが可能になったり、現状のコードから続きの処理を推測し提案してくれます。

サポートする開発環境は、VS Code・Microsoft Visual Studio・JetBrains IDE・Neovim、そしてGitLab WebIDEが対象です。

サポートする言語は以下です。(2024/03/28時点)

Language VS Code JetBrains IDEs Visual Studio Neovim
C Yes No Yes Yes
C++ Yes Yes Yes Yes
C# Yes Yes Yes Yes
CSS No Yes Yes Yes
Go Yes Yes Yes Yes
Google SQL No Yes Yes Yes
HTML No Yes Yes Yes
Java Yes Yes Yes Yes
JavaScript Yes Yes Yes Yes
Kotlin Yes Yes Yes Yes
PHP Yes Yes Yes Yes
Python Yes Yes Yes Yes
Ruby Yes Yes Yes Yes
Rust Yes Yes Yes Yes
Scala Yes Yes Yes Yes
Shell scripts No Yes Yes Yes
Swift Yes Yes Yes Yes
TypeScript Yes Yes Yes Yes
Terraform Yes Yes No Yes

IaCを実現するツール (Terraform 等) も一部サポートしています。Code SuggestionsでサポートされているIaCを実現するツールは以下の通りです。
- Google Cloud CLI - Kubernetes Resource Model (KRM) - Terraform
こちらも併せてご確認ください。

GitLab Code Suggestionsを使用する

self-managed版では、GitLab バージョン 16.8 以降の使用と設定が必要です。

左側のサイドバーの下部にある管理画面から、[Settings] > [General]を選択します。 AI を利用した機能を展開し、 [このグループのプロジェクトではコードの提案を使用できます] にチェックを入れます。をチェックを入れます。
[変更を保存]します。

また、VS CodeでCode Suggestionsを利用するためには、VS CodeにGitLabの拡張機能 "GitLab Workflow" をインストールする必要があります。

GitLabとVSCodeの通信を許可するため、 Connect to GitLab.com with OAuth を選択し、Code Suggestionsを利用するアカウントでログインします。

尚、対象はプロジェクト内のファイルのみです。 Code Suggestionsは、GitLab プロジェクト上のファイルに対してのみ有効となります。そのため、別のリポジトリサービスやローカルでのみ扱っているファイルにはCode Suggestionsは利用できません。

おわりに

実際に使用してみましたが、普段通りにプログラムを書いていくだけで、Code Suggestionsによりその後のコード提案してくれ、Tabキーを押すと、コードに取り込まれました。(実際には提案コードがグレー色で表示されます。うまく切り取れませんでした。是非お試しいただいてご確認ください!)
開発者が効率的にコードを記述できるよう支援してくれるでしょう。

今回は、GitLab Duoの一つGitLab Code Suggestionsについてブログにしてみました。
今回ご紹介した機能は一部で、まだまだ豊富な機能が沢山あります。
GitLab Documentationでは、様々な情報やドキュメントを確認することが出来ます。
GitLabに関するブログも展開されていますので、是非こちらもご覧ください。

この記事がどなたかのお役に立てば幸いです。
以上、きだぱんでした。

お知らせ

4月18日にGitLab CI/CDハンズオンが開催されます。GitLabについて知りたい方、CI/CD機能を試してみたい方など、是非ご参加いただければと思います。