{"id":256964,"date":"2026-09-01T09:00:27","date_gmt":"2026-09-01T16:00:27","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=256964"},"modified":"2026-08-24T17:23:53","modified_gmt":"2026-08-25T00:23:53","slug":"today-i-will-review-github-prs","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/today-i-will-review-github-prs\/","title":{"rendered":"Today I will&#8230; review GitHub PRs"},"content":{"rendered":"<p>Today I will show you how we can tackle one of the most common tasks when working in a development team or managing an open-source project, and that is working with Pull Requests.<\/p>\n<p>While we&#8217;re going to be using the GitHub tooling within Visual Studio for this, the approach would be very similar with Azure DevOps.<\/p>\n<h3>Getting our PRs<\/h3>\n<p>Start by opening the pull requests for your repository. Select <strong>Git \u2192 GitHub \u2192 View Pull Requests<\/strong>. You can also search for the command in the Command Palette with <strong>Ctrl+Shift+P<\/strong>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image.webp\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-300x169.webp\" alt=\"Feature Search showing how to open the View GitHub PRs window\" width=\"300\" height=\"169\" class=\"alignnone size-medium wp-image-256965\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-300x169.webp 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1024x576.webp 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-768x432.webp 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1536x864.webp 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image.webp 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>From here, Visual Studio will load all the PRs in the repo and group them to the ones that are assigned to me, all the PRs in the repo, and even the PRs that Copilot has created on my behalf.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1.webp\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1-300x169.webp\" alt=\"Window showing the list of PRs in a GitHub project\" width=\"300\" height=\"169\" class=\"alignnone size-medium wp-image-256966\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1-300x169.webp 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1-1024x576.webp 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1-768x432.webp 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1-1536x864.webp 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-1.webp 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Time to select one of the PRs and start our review.<\/p>\n<h3>Working with our PR<\/h3>\n<p>Opening the PR loads it into the main section of the View Pull Requests tab, but I like to click the &#8220;Open in New Tab&#8221; option as pops it into a new tab and maximises my screen real estate.<\/p>\n<p>In the view of the PR I have a file browser down the lefthand side, while the main window initially provides me with an overview of the PR, I can read the description, see the comments currently on it, as well as add my own comments.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-2.webp\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-2-300x169.webp\" alt=\"Details of a PR\" width=\"300\" height=\"169\" class=\"alignnone size-medium wp-image-256967\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-2-300x169.webp 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-2-1024x576.webp 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-2-768x432.webp 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-2-1536x864.webp 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-2.webp 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Clicking on the files within our file list will give me a diff view of the file, and because I&#8217;m in Visual Studio we get syntax highlighting of the C#, as well as the list of all the types in the file I&#8217;m opening.<\/p>\n<p>When viewing a file that has edits to it rather than a new file, you can choose to view the whole file, or a summary which will condense down the file to hide lines between points that are changed. This can be helpful if you&#8217;re viewing a long file and want to avoid excessive scrolling.<\/p>\n<p>We can annotate files in the PR by clicking on the gutter next to the line (or lines if we select multiple first), then opening the inline comment window. Visual Studio will buffer our comments until we submit our review.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-3.webp\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-3-300x169.webp\" alt=\"Adding an inline comment to a file diff in a PR\" width=\"300\" height=\"169\" class=\"alignnone size-medium wp-image-256968\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-3-300x169.webp 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-3-1024x576.webp 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-3-768x432.webp 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-3-1536x864.webp 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-3.webp 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>Approve and Merge<\/h2>\n<p>This PR looks good and is ready to merge into the main branch. In Visual Studio, click <strong>Approve<\/strong> in the top-right corner to update its status on GitHub.<\/p>\n<p>The adjacent options let you merge the PR or configure auto-merge while waiting for additional checks. These options follow the policies configured for your repository.<\/p>\n<h3>Bringing Copilot in<\/h3>\n<p>We might want to get Copilot to act as a pair while we&#8217;re reviewing the PR, maybe we want a rubber-ducky review of some of the changes or ask it questions about the solution proposed. To do this, right-click on the PR within the list of active pull requests and select Add to Chat, or from a Copilot session, use <code>#pullrequest:&lt;id&gt;<\/code> &#8211; both of these will add it as context to the session you&#8217;re in.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-4.webp\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-4-208x300.webp\" alt=\"A GitHub Copilot session with a PR added as context for the agent.\" width=\"208\" height=\"300\" class=\"alignnone size-medium wp-image-256969\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-4-208x300.webp 208w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-4-711x1024.webp 711w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/08\/Image-4.webp 750w\" sizes=\"(max-width: 208px) 100vw, 208px\" \/><\/a><\/p>\n<p>Now you can continue working with Copilot, and it will have the context of that PR available to it as you work.<\/p>\n<h3>Wrap-up<\/h3>\n<p>Reviewing and actioning pull requests is a daily task for developers, whether they are working on open-source projects, or within their organisation. With Visual Studio, we can perform all of this within the one experience, avoiding the context switching as we jump between tools. This also means that we integration with Visual Studio, such as syntax highlighting and member hierarchy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I will show you how we can tackle one of the most common tasks when working in a development team or managing an open-source project, and that is working with Pull Requests. While we&#8217;re going to be using the GitHub tooling within Visual Studio for this, the approach would be very similar with Azure [&hellip;]<\/p>\n","protected":false},"author":40333,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[4381,526,7019],"class_list":["post-256964","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-github","tag-productivity","tag-visual-studio-2026"],"acf":[],"blog_post_summary":"<p>Today I will show you how we can tackle one of the most common tasks when working in a development team or managing an open-source project, and that is working with Pull Requests. While we&#8217;re going to be using the GitHub tooling within Visual Studio for this, the approach would be very similar with Azure [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/40333"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=256964"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256964\/revisions"}],"predecessor-version":[{"id":257143,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256964\/revisions\/257143"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=256964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=256964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=256964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}