title | shortTitle | intro | allowTitleToDifferFromFilename | versions | topics | redirect_from | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Using GitHub Copilot code review |
Using code review |
Learn how to request a code review from {% data variables.product.prodname_copilot %}. |
true |
|
|
|
Note
- {% data variables.copilot.copilot_code-review %} is in {% data variables.release-phases.public_preview %} and subject to change. Some functionality is available to all {% data variables.product.prodname_copilot_short %} subscribers, but other functionality is only available to a limited number of users. To join the waitlist, see "Join the {% data variables.copilot.copilot_code-review_short %} waitlist."
- The "AUTOTITLE" apply to your use of this product.
{% data variables.product.prodname_copilot %} can review your code and provide feedback. Where possible, {% data variables.product.prodname_copilot_short %}'s feedback includes suggested changes which you can apply with a couple of clicks.
{% data variables.copilot.copilot_code-review_short %} supports two types of review:
- Review selection: Highlight code and ask for an initial review ({% data variables.product.prodname_vscode %} only)
- Review changes: Request a deeper review of all your changes ({% data variables.product.github %} website and {% data variables.product.prodname_vscode %})
The current functionality and availability of the two types of review is summarized in the following table:
{% rowheaders %}
Feature | Review selection | Review changes |
---|---|---|
Description | Initial review of a highlighted section of code with feedback and suggestions | Deeper review of all changes |
Language support | All | C#, Go, Java, JavaScript, Markdown, Python, Ruby, TypeScript |
Custom coding guidelines support | No | Yes, see Customizing {% data variables.product.prodname_copilot_short %}'s reviews with coding guidelines |
Environment | {% data variables.product.prodname_vscode %} | {% data variables.product.prodname_vscode %} and the {% data variables.product.github %} website |
Availability | {% data variables.release-phases.public_preview_caps %}, available to all {% data variables.product.prodname_copilot_short %} subscribers | {% data variables.release-phases.public_preview_caps %} with waitlist, see "Join the {% data variables.copilot.copilot_code-review_short %} waitlist" |
{% endrowheaders %}
[!WARNING] {% data variables.product.prodname_copilot_short %} isn't guaranteed to spot all problems or issues in a pull request, and sometimes it will make mistakes. Always validate {% data variables.product.prodname_copilot_short %}'s feedback carefully, and supplement {% data variables.product.prodname_copilot_short %}'s feedback with a human review.
For more information, see "AUTOTITLE."
{% webui %}
These instructions explain how to use {% data variables.copilot.copilot_code-review_short %} in the {% data variables.product.github %} website. To see instructions for {% data variables.product.prodname_vscode %}, use the "{% data variables.product.prodname_vscode %}" tool switcher at the top of the page.
[!NOTE] Requesting a pull request review from {% data variables.product.prodname_copilot_short %} is currently only available to a limited number of {% data variables.product.prodname_copilot_short %} subscribers. To join the waitlist, see "Join the {% data variables.copilot.copilot_code-review_short %} waitlist."
-
On {% data variables.product.prodname_dotcom_the_website %}, create a pull request or navigate to an existing pull request.
-
Open the Reviewers menu, then select {% data variables.product.prodname_copilot_short %}.
-
Wait for {% data variables.product.prodname_copilot_short %} to review your pull request. This usually takes less than 30 seconds.
-
Scroll down and read through {% data variables.product.prodname_copilot_short %}'s comments.
{% data variables.product.prodname_copilot_short %} always leaves a "Comment" review, not an "Approve" review or a "Request changes" review. This means that {% data variables.product.prodname_copilot_short %}'s reviews do not count toward required reviews for the pull request, and {% data variables.product.prodname_copilot_short %}'s reviews will not block merging changes. For more details, see "AUTOTITLE."
-
{% data variables.product.prodname_copilot_short %}'s review comments behave like review comments from humans. You can add reactions to them, comment on them, resolve them and hide them.
Any comments you add to {% data variables.product.prodname_copilot_short %}'s review comments will be visible to humans, but they won't be visible to {% data variables.product.prodname_copilot_short %}, and {% data variables.product.prodname_copilot_short %} won't reply.
Where possible, {% data variables.product.prodname_copilot_short %}'s feedback includes suggested changes which you can apply with a couple of clicks.
If you're happy with the changes, you can accept a single suggestion from {% data variables.product.prodname_copilot_short %} and commit it, or accept a group of suggestions together in a single commit. For more information, see "AUTOTITLE."
If you want to validate {% data variables.product.prodname_copilot_short %}'s suggested changes (for example by running automated tests or your linter), or if you want to make modifications before committing the suggested changes, click the Open in Workspace button. For more information, see "AUTOTITLE."
You can provide feedback on {% data variables.product.prodname_copilot_short %}'s comments directly within each comment. We use this information to improve the product and the quality of {% data variables.product.prodname_copilot_short %}'s suggestions.
-
On a pull request review comment from {% data variables.product.prodname_copilot_short %}, click the thumbs up (:+1:) or thumbs down (:-1:) button.
-
If you click the thumbs down button, you're asked to provide additional information. You can, optionally, pick the reason for your negative feedback and leave a comment before clicking Submit feedback.
When you push changes to a pull request that {% data variables.product.prodname_copilot_short %} has reviewed, it won't automatically re-review your changes.
To request a re-review from {% data variables.product.prodname_copilot_short %}, click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the Reviewers menu. For more information, see "AUTOTITLE."
[!NOTE] When re-reviewing a pull request, {% data variables.product.prodname_copilot_short %} may repeat the same comments again, even if they have been dismissed with the "Resolve conversation" button or downvoted with the thumbs down (:-1:) button.
By default, you will have to manually request a review from {% data variables.product.prodname_copilot_short %} on each pull request.
You can enable automatic reviews from {% data variables.product.prodname_copilot_short %} on all pull requests using rulesets configured at the repository level or organization level. For more information, see "AUTOTITLE."
To turn this on, enable the Request pull request review from {% data variables.product.prodname_copilot_short %} branch rule, nested under Require a pull request before merging.
{% data reusables.copilot.code-review.custom-coding-guidelines %}
{% endwebui %}
{% vscode %}
These instructions explain how to use {% data variables.copilot.copilot_code-review_short %} in {% data variables.product.prodname_vscode %}. To see instructions for the {% data variables.product.github %} website, use the "Web browser" tool switcher at the top of the page.
[!NOTE] {% data variables.copilot.copilot_code-review_short %} is only available in {% data variables.product.prodname_vscode %} with version 0.22 or later of the {% data variables.product.prodname_copilot_chat %} extension.
You can request an initial review of a highlighted selection of code in {% data variables.product.prodname_vscode %}.
-
In {% data variables.product.prodname_vscode %}, select the code you want to review.
-
Open the {% data variables.product.prodname_vscode_command_palette_shortname %}
- For Mac:
- Use: Shift+Command+P
- For Windows or Linux:
- Use Ctrl+Shift+P
- For Mac:
-
In the command palette, search for and select {% data variables.product.prodname_copilot %}: Review and Comment.
-
Wait for {% data variables.product.prodname_copilot_short %} to review your changes. This usually takes less than 30 seconds.
-
If {% data variables.product.prodname_copilot_short %} has any comments, they will be shown inline in your file, and in the Problems tab.
[!NOTE] Reviewing changes is currently only available to a limited number of {% data variables.product.prodname_copilot_short %} subscribers. To join the waitlist, see "Join the {% data variables.copilot.copilot_code-review_short %} waitlist."
You can request a review for your staged or unstaged changes in {% data variables.product.prodname_vscode %}.
-
In {% data variables.product.prodname_vscode_shortname %}, switch to the Source Control tab.
-
To request a review on your unstaged changes, hover over Changes in the sidebar, and then click the {% data variables.copilot.copilot_code-review_short %} - Changes button.
-
To request a review on your staged changes, hover over Staged Changes in the sidebar, and then click the {% data variables.copilot.copilot_code-review_short %} - Staged Changes button.
-
Wait for {% data variables.product.prodname_copilot_short %} to review your changes. This usually takes less than 30 seconds.
-
If {% data variables.product.prodname_copilot_short %} has any comments, they will be shown inline in your file(s), and in the Problems tab.
Where possible, {% data variables.product.prodname_copilot_short %}'s feedback includes suggested changes which you can apply with a single click.
If you're happy with the change, you can accept a suggestion from {% data variables.product.prodname_copilot_short %} by clicking the Apply and Go To Next button. Any changes you apply will not be automatically committed.
If you don't want to apply {% data variables.product.prodname_copilot_short %}'s suggested change, click the Discard and Go to Next button.
You can provide feedback on {% data variables.product.prodname_copilot_short %}'s comments directly within each comment. We use this information to improve the product and the quality of {% data variables.product.prodname_copilot_short %}'s suggestions.
To provide feedback, hover over the comment and click the thumbs up or thumbs down button.
{% data reusables.copilot.code-review.custom-coding-guidelines %}
{% endvscode %}