VS Codeでプロジェクトを操作する
GitLab for VS Code拡張機能を使用して、GitLabプロジェクトを操作します:
- イシューで作業を計画し追跡する。
- GitLab DuoをAIネイティブな計画とコーディングに利用します。
- マージリクエストの変更点をレビューし、議論します。
- ブランチを比較し、GitLabでファイルを表示します。
- コードをスニペットで保存共有します。
この拡張機能を使用すると、これらのタスクの多くをVS Codeで直接完了できます。その他の場合、拡張機能はブラウザでGitLabを開きます。
前提条件
作業中にGitLab Duoを使用する
GitLab for VS Code拡張機能を使用すると、プロジェクトでの作業中にGitLab Duo Agent PlatformとGitLab Duo (Classic) にアクセスできます。
GitLab Duo Agent Platform
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed
GitLab Duo Chat (エージェント型)、エージェント、およびフローを使用するには:
- 左側のサイドバーで、GitLab Duo Agent Platform ( ) を選択します。
- GitLab Duo Chatと対話するには、チャットタブを選択し、プロンプトを入力します。
- エージェントと連携するには、チャットタブを選択し、New chat ( ) ドロップダウンリストを使用して、基本的なエージェントまたはカスタムエージェントを選択します。
- ソフトウェア開発フローを使用するには、フロータブを選択し、プロンプトを入力します。
GitLab Duoのコード提案を使用するには:
- 下部のステータスバーで、Duo ( ) を選択して機能のステータスを確認します。
- コードを作成する際に、インラインコード提案をレビューして受け入れます。
GitLab Duo(クラシック)
- プラン: Premium、Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise、GitLab Duo with Amazon Q
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Duo Chat (Classic) を使用するには:
- 左側のサイドバーで、GitLab Duo Chat ( ) を選択します。
- メッセージボックスに質問を入力し、Enterキーを押すか、送信を選択します。
GitLab Duoのコード提案 (Classic) を使用するには:
- 下部のステータスバーで、Duo ( ) を選択して機能のステータスを確認します。
- コードを作成する際に、インラインコード提案をレビューして受け入れます。
イシューを作成する
現在のプロジェクトでイシューを作成するには:
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- コマンドパレットでGitLab: Command PaletteでGitLab: Create New Issue on Current Projectと入力し、Enterを押します。
GitLabは、デフォルトのブラウザで新規イシューページを開きます。
マージリクエストを作成する
現在のプロジェクトでマージリクエストを作成するには、下部のステータスバーでCreate MR ( ) を選択します。
または、コマンドパレットを使用することもできます:
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- コマンドパレットでGitLab: Command PaletteでGitLab: Create New Merge Request on Current Projectと入力し、Enterを押します。
GitLabは、デフォルトのブラウザで新しいマージリクエストページを開きます。
イシューとマージリクエストを表示する
特定のプロジェクトのイシューとマージリクエストを表示するには、次の手順に従います。
- VS Codeの左側のサイドバーで、GitLab ( ) を選択します。
- イシューおよびマージリクエストセクションを展開する。
- プロジェクトを選択して展開する。
- 項目の一覧をレビューするには、以下のいずれかのオプションを選択します:
- Issues assigned to me(自分に割り当てられたイシュー)
- Issues created by me(自分が作成したイシュー)
- Merge requests assigned to me(自分に割り当てられたマージリクエスト)
- Merge requests I’m reviewing(自分がレビュー中のマージリクエスト)
- Merge requests created by me(自分が作成したマージリクエスト)
- All project merge requests(プロジェクトのすべてのマージリクエスト)
- Your custom queries(自分のカスタムクエリ)
- イシューまたはマージリクエストを選択すると、新しいVS Codeタブで開きます。
イシューとマージリクエストを検索する
フィルタリングされた検索または高度な検索を使用して、VS Codeからプロジェクトのイシューおよびマージリクエストを直接検索します。フィルター検索では、定義済みのトークンを使用して検索結果を絞り込みます。高度な検索により、GitLabインスタンス全体でより高速かつ効率的な検索が可能です。
前提条件:
- GitLabプロジェクトのメンバーであること。
プロジェクトを検索するには:
- VS Codeでコマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- 希望する検索タイプを選択します:
- GitLab: Search Project Issues (Supports Filters)
- GitLab: Search Project Merge Requests (Supports Filters)
- GitLab: Advanced Search (Issues, Merge Requests, Commits, Comments…)
- プロンプトに従って検索値を入力し、検索を絞り込みます。
GitLabがブラウザタブで結果を開きます。
検索結果をフィルタリングするためのトークン
大規模なプロジェクトで検索する際は、フィルターを追加するとより適切な結果が得られます。この拡張機能は、マージリクエストとイシューをフィルタリングするための次のトークンをサポートしています。
| トークン | 例 | 説明 |
|---|---|---|
| assignee | assignee: sjones | 担当者のユーザー名(@なし)。 |
| author | author: zwei | 作成者のユーザー名(@なし)。 |
| label | label: frontendまたはlabel:frontend label: Discussion | 1つのラベル。複数回使用でき、同じクエリでlabelsと併用できます。 |
| labels | labels: frontend, Discussion, performance | 複数のラベルのカンマ区切りリスト。同じクエリでlabelと併用できます。 |
| milestone | milestone: 18.1 | マイルストーンのタイトル(%なし)。 |
| scope | scope: created-by-me | イシューまたはマージリクエストのスコープ。値: created-by-me(デフォルト)、assigned-to-me、またはall。 |
| title | title: discussions refactor | タイトルまたは説明で一致する単語。フレーズの周りに引用符を追加しないでください。 |
トークンの構文とガイドライン:
- 各トークン名の後にはコロン(
:)が必要です(例:label:)。- コロンの前にスペースを入れる(
label :)と無効になり、解析エラーが返されます。 - トークン名の後のスペースは省略可能です。
label: frontendとlabel:frontendはいずれも有効です。
- コロンの前にスペースを入れる(
labelトークンとlabelsトークンは複数回使用でき、また組み合わせて使用することもできます。次のクエリはいずれも同じ結果を返します。labels: frontend discussion label: performancelabel: frontend label: discussion label: performancelabels: frontend discussion performance(最終的に得られる結合クエリ)
1つの検索クエリで複数のトークンを組み合わせることができます。例:
title: new merge request widget author: zwei assignee: sjones labels: frontend, performance milestone: 17.5この検索クエリは、次の条件に一致するものを探します。
- タイトル:
new merge request widget - 作成者:
zwei - 担当者:
sjones - ラベル:
frontendとperformance - マイルストーン:
17.5
マージリクエストをレビューする
VS Codeでマージリクエストをレビューし、コメントし、承認するには:
左側のサイドバーで、GitLab ( ) を選択します。
イシューおよびマージリクエストセクションを展開し、プロジェクトを選択します。
レビューするマージリクエストを選択します。
マージリクエストの番号とタイトルの下にある概要を選択して、マージリクエストの詳細を確認します。
提案されたファイルの変更をレビューするには、リストからファイルを選択してVS Codeタブに表示します。GitLabは、差分コメントをタブ内にインライン表示します。リストでは、削除されたファイルは赤色で表示されます。
差分を使用して次の操作を行います。
- ディスカッションをレビューおよび作成する。
- ディスカッションを解決および再オープンする。
- 個々のコメントを削除および編集する。
クイックアクションを使用する
イシューおよびマージリクエストでGitLabクイックアクションを使用するには:
- VS Codeでイシューまたはマージリクエストを表示するための手順に従います。
- コメントセクションを見つけるには、下にスクロールします。
- 新しいコメントにクイックアクションを入力し、Enterを押します。たとえば、イシューに
bugラベルを追加するには、/label bugと入力します。
デフォルトブランチと比較する
マージリクエストを作成せずに、自分のブランチをプロジェクトのデフォルトブランチと比較するには、次の手順に従います。
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- コマンドパレットでGitLab: Command PaletteでGitLab: Compare Current Branch with Default Branchと入力し、Enterを押します。
拡張機能が新しいブラウザタブを開き、自分のブランチの最新コミットと、プロジェクトのデフォルトブランチの最新コミットの差分を表示します。
GitLab UIで現在のファイルを開く
現在のGitLabプロジェクトのファイルをGitLab UIで開き、特定の行を強調表示するには、次の手順に従います。
- VS Codeで目的のファイルを開きます。
- 強調表示する行を選択します。
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- コマンドパレットでGitLab: Command PaletteでGitLab: Open Active File on GitLabと入力し、Enterを押します。
スニペットを作成する
スニペットを作成して、コードやテキストの一部を保存し、他のユーザーと共有できます。スニペットは、選択範囲またはファイル全体を指定して作成できます。
VS Codeでスニペットを作成するには、次の手順に従います。
- スニペットの内容を選択します。
- ファイル全体を使用してスニペットを作成するには、ファイルを開きます。
- ファイルの一部の選択範囲を使用してスニペットを作成するには、ファイルを開き、含める行を選択します。
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- コマンドパレットでGitLab: Command PaletteでGitLab: Create Snippetと入力し、Enterを押します。
- スニペットのプライバシーレベルを選択します。
- Private(非公開)スニペットは、プロジェクトメンバーのみに表示されます。
- Public(公開)スニペットは、すべてのユーザーに表示されます。
- スニペットのスコープを選択します。
- Snippet from file(ファイルからスニペット)を作成する場合は、アクティブなファイル全体の内容を使用します。
- Snippet from selection(選択範囲からスニペット)を作成する場合は、アクティブなファイルで選択した行を使用します。
GitLabは、新しいブラウザタブで新しいスニペットのページを開きます。
パッチファイルを作成する
マージリクエストをレビューするとき、複数のファイルにわたる変更を提案する場合は、スニペットパッチを作成します。
- ローカルマシンで、変更を提案するブランチをチェックアウトします。
- VS Codeで、変更するすべてのファイルを編集します。変更をコミットしないでください。
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- コマンドパレットでGitLab: Command PaletteでGitLab: Create Snippet Patchと入力し、Enterを押します。このコマンドは
git diffコマンドを実行し、プロジェクト内にGitLabスニペットを作成します。 - Patch name(パッチ名)を入力し、Enterキーを押します。GitLabはこの名前をスニペットのタイトルとして使用し、拡張子
.patchが付加されたファイル名に変換します。 - スニペットのプライバシーレベルを選択します。
- Private(非公開)スニペットは、プロジェクトメンバーのみに表示されます。
- Public(公開)スニペットは、すべてのユーザーに表示されます。
VS Codeは、新しいブラウザタブでスニペットパッチを開きます。スニペットパッチの説明には、パッチを適用する手順が記載されています。
スニペットを挿入する
メンバーになっているプロジェクトから既存の単一ファイルまたは複数ファイルのスニペットを挿入するには、次の手順に従います。
- スニペットを挿入する位置にカーソルを置きます。
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
- GitLab: Command PaletteでGitLab: Insert Snippetと入力し、Enterを押します。
- スニペットを含むプロジェクトを選択します。
- 適用するスニペットを選択します。
- 複数ファイルのスニペットの場合は、適用するファイルを選択します。
