Code reviews
組み込みのReviewワークフローを使用して、IDE内でAI搭載のコードレビューを直接取得します。Bobは変更を分析し、作業をコミットする前に潜在的な問題にフラグを立てます。
なぜコードレビューを使うのか?
- 早期のエラー検出: コミット済みの作業に問題が入り込む前に特定します。
- 時間の節約: レビュアーの潜在的なコメントに先手を打ち、PR承認時間を短縮します。
- コード品質の向上: より良いコーディング慣行とメンテナビリティのための提案を得ます。
- issueに対する検証: 変更がissueの要件に沿っていることを確認します(GitHubが必要)。
仕組み
Reviewワークフローは完全にIDEの中で動作します。BobはReviewパネルを提供します。/reviewコマンドで開きます。
Bobは選択したブランチ間のdiffをレビューし、Bob Findingsパネルで潜在的な問題にフラグを立てます。オプションでGitHub issueを含めて、変更がその要件を満たしているかを検証できます。
レビューは自動承認で実行されます。Bobは手動確認を必要とせず、すべての分析ステップを進めます。
コードをレビューする
前提条件
- 比較したいローカルまたはリモートブランチへのアクセス。
- Issue検証の場合: GitHubアカウントとissueのURL(issue関連機能にはGitHubが必要)。
Bobはブランチ比較のためにGitHubとGitLabで動作できます。ただし、issue検証にはGitHubが必要です。
レビューを開始する
/reviewコマンドまたはReviewパネルのアイコンを使用して、サイドバーからBob Reviewパネルを開きます。パネルはレビューを設定して開始するためのビジュアルインターフェースを提供します。
ブランチドロップダウンから比較対象のブランチを選択します。現在のブランチ、ローカルブランチ、リモートブランチ、またはリポジトリのデフォルトブランチと比較できます。
まだコミットされていないローカルの変更を含めたい場合は、未コミットの変更を含めるをオンにします。
オプションで、issueリストからGitHub issueを選択して、変更がその要件を満たしているかを検証します。
レビューを開始をクリックして開始します。
Bobは変更をレビューし、Bob Findingsパネルに結果を表示します。
レビューオプション
比較ブランチの選択
ブランチドロップダウンセレクターには以下が表示されます:
- 現在のブランチ: アクティブなブランチ。
- デフォルトブランチ: リポジトリのデフォルトブランチ(バッジで表示)。
- リモートブランチ: リモートリポジトリのブランチ(バッジで表示)。
- ローカルブランチ: その他のローカルブランチ(バッジで表示)。
リモートmainとローカルmain、現在のブランチと別のブランチ、または任意のrefの組み合わせを比較できます。
未コミットの変更を表示する
未コミットの変更を含めるチェックボックスを有効にして、コミットされていないローカルの変更をレビューに含めます。このオプションは現在のブランチをレビューする際に自動的に有効になります。
レビュー除外の設定
コードレビューから特定のファイルやパターンを除外できます:
Bob設定を開きます。
Bob Findingsタブに移動します。
レビュー除外で、除外するファイルのglobパターンを追加します(例: .vscode/**, *.test.ts)。
除外されたファイルはレビューパネルのファイルリストに表示されず、レビュー中に分析されません。
Bob Findingsを使用する
Bobがレビューを完了すると、結果がBob Findingsパネルに表示されます。これらの結果とさまざまな方法で対話できます:
Findingsの表示
- Bob Findingsパネルの任意のFindingをクリックして、完全な詳細を確認します。
- チャットインターフェースのコンテキストドロップダウンメニューで
@issuesを使用して、会話でFindingsを参照します。 - Findingをクリックしてファイルに移動し、インラインアノテーション付きのコンテキストでコードを確認します。
コンテキストメンションの詳細については、コンテキストメンションを参照してください。
Findingsに対するアクション
各Findingは以下のアクションを提供します:
- Bobで修正: Bobに問題を自動的に修正するよう依頼します。BobはFindingに対処するタスクを作成します。
- 却下: 関連性がない場合はパネルからFindingを削除します。
ヒントとベストプラクティス
- 手動レビューと組み合わせる: 人間のコードレビューの前に、Bobの自動レビューを最初のパスとして使用します。
- issueカバレッジを検証する: Pull Requestを作成する前に変更が要件を完全に満たしていることを確認するために、GitHub issueを含めます。
- 除外を設定する: レビューが不要なテストファイル、生成されたコード、設定ファイルを除外します。
- リモートブランチと比較する: ブランチセレクターを使用して、最新のリモート変更に対して作業をレビューします。