Lesstep
Azure DevOps Services・Server 2022 以降・プルリクエスト・2026年10月28日

Azure DevOps のプルリクの「変更の提案」

Azure DevOps のプルリクエストでは、レビュー担当者が行へのコメントに、その行の書き換え案を書けます。作成者はそれをプルリクのページから取り込めます。以下は、Microsoft の Review pull requests(英語)とその画面写真からまとめたものです。

変更を提案する

  1. プルリクの Files タブで行にカーソルを合わせ、コメントのボタンを押します。複数の行なら、先に行を選び、その上に出るコメントのボタンを使います。
  2. コメント欄の下の電球のボタンを押します。```suggestion で始まるコード ブロックが書かれ、中にはコメントした行が入ります。
  3. ブロックの中の行を、あるべき形に書き換えて Comment を押します。書いている間、コメントの下の Suggested change の欄に差分が出ます。

取り込まれると、ブロックの中の文が、コメントの付いた行と置き換わります。元のコード(左右に並べた差分の左側)には電球が出ません。提案が変えるのは、プルリク側のファイルです。

別のもの:Approve with suggestions(提案付きで承認)は投票で、承認したうえで任意の意見があることを伝えるだけです(投票それぞれの意味)。何も取り込みません。

提案を取り込む

このコミットは、プルリクへの新しい push です。ターゲット ブランチのポリシーが push で投票をリセットするなら、それまでの承認は消えます(投票が完了を止めるとき)。取り込んだら、コメントに返信するか、状態を Resolved にします(コメントの状態と解決)。

使える版

Azure DevOps Services、Azure DevOps Server 2022、今の Azure DevOps Server。Microsoft の Azure DevOps Server 2020 向けのページには、提案も電球も出てきません。2020 以前では、```suggestion のブロックはただのコード ブロックです。

REST API で書いた提案

Microsoft は説明していません。行へのコメントはスレッドで、その threadContext がファイル(filePath)とプルリク側の行(rightFileStart・rightFileEnd)を持ちます。提案の文はコメントの中にしかありません。道具によって報告が分かれます。オープンソースの PR-Agent は、Azure DevOps では提案を ```diff のブロックに変えて書き、そのソースに「API で書いた ```suggestion のブロックは、誰も取り込めないただのブロックとして出る」と書いています。一方、```suggestion のブロックをそのまま書く道具もあります。Apply change が要るなら、まず試しのプルリクに1件書いて確かめてください。Azure DevOps の Copilot コードレビューも提案を書きます(Copilot コードレビュー)。

IntelliJ IDEA と Rider で見るなら

Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。プルリクのコメントのスレッドを IDE に出します。行へのコメントの中の ```suggestion のブロックの上には、提案が何をするかを書きます。たとえば「変更の提案:12〜14 行目 を下の行に置き換えます。」、ブロックが空なら「消します」と書き、取り込みはプルリクのページで行うと添えます。行に付いていないコメントでは、ブロックはふつうのコードとして出ます。レビューの受信箱は無料、投票・コメント・完了は Pro(月 US$1・30日間の無料試用つき)です。画面は日本語です。

JetBrains Marketplace で入れる

Azure DevOps は Microsoft Corporation の商標、IntelliJ IDEA と Rider は JetBrains s.r.o. の商標です。このページは Microsoft・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:投票 · コメントの状態と解決 · Copilot コードレビュー · English