title | shortTitle | intro | allowTitleToDifferFromFilename | product | 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 |
See the table below. |
|
|
|
{% webui %}
Note
{% data reusables.copilot.code-review.preview-note %}
- If you get a {% data variables.product.prodname_copilot_short %} subscription from an organization, you will only be able to participate in the {% data variables.release-phases.public_preview %} on the {% data variables.product.github %} website if an owner of your organization {% ifversion ghec %}or enterprise{% endif %} has enabled {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_dotcom_the_website %} > Opt in to preview features in the {% data variables.product.prodname_copilot %} policies page of the organization {% ifversion ghec %}or enterprise{% endif %} settings. See AUTOTITLE{% ifversion ghec %} and AUTOTITLE{% endif %}.
{% endwebui %}
{% vscode %}
Note
{% data reusables.copilot.code-review.preview-note %}
- If you get a {% data variables.product.prodname_copilot_short %} subscription from an organization, you will only be able to participate in the {% data variables.release-phases.public_preview %} in {% data variables.product.prodname_vscode_shortname %} if an owner of your organization {% ifversion ghec %}or enterprise{% endif %} has enabled Editor preview features in the {% data variables.product.prodname_copilot %} policies page of the organization {% ifversion ghec %}or enterprise{% endif %} settings. See AUTOTITLE{% ifversion ghec %} and AUTOTITLE{% endif %}.
{% endvscode %}
{% 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 |
---|---|---|
Environment | {% data variables.product.prodname_vscode %} | {% data variables.product.prodname_vscode %} and the {% data variables.product.github %} website |
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 |
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 %}, available with {% data variables.product.prodname_copilot_pro_short %}, {% data variables.product.prodname_copilot_business_short %}, and {% data variables.product.prodname_copilot_enterprise_short %} subscriptions. |
{% 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
To access the {% data variables.release-phases.public_preview %} of this feature, see Join the preview for {% data variables.copilot.copilot_code-review_short %}-powered code reviews.
-
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 manually request a review from {% data variables.product.prodname_copilot_short %} on each pull request, in the same way you would request a review from a human. However, you can set up {% data variables.product.prodname_copilot_short %} to automatically review all pull requests in a repository, or for all repositories in an organization. See AUTOTITLE.
{% 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
To access the {% data variables.release-phases.public_preview %} of this feature, see Join the preview for {% data variables.copilot.copilot_code-review_short %}-powered code reviews.
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 reusables.copilot.code-review.staging-icon-vscode %} {% 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 reusables.copilot.code-review.staging-icon-vscode %} {% 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 %}