Copilot Workspace: From Issue Description to Merged PR in One Flow
🎯 Why This Matters
The obvious way to use Copilot is autocomplete — you still drive every keystroke and hold the whole change in your head. The issue-to-PR flow flips it: you describe the outcome, Copilot reads your actual files to figure out where the change belongs, then proposes a plan you can correct before a single line is written. That plan step is the difference between a tool that guesses and a tool you can steer. It solves the real bottleneck — not typing speed, but the context-gathering that happens before you type.
📖 Overview
A product manager pasted a messy 200-word feature request into Copilot's agent chat, attached the repo folder, and watched it generate a plan, edit six files, and open a pull request — all before her coffee got cold. That is the issue-to-PR flow: you stop writing code line by line and instead describe the change, let Copilot plan it against your actual codebase, review the diff, and ship it.\n\nYou need GitHub Copilot (Pro, Business, or Enterprise — the free tier won't cut it for agent mode), VS Code updated to the September 2026 release or later, and a repo you have write access to. The repo should be reasonably clean: if your main branch is broken or your tests fail before you start, Copilot will confidently build on top of the mess.\n\nBy the end you'll have a working pull request with a real diff, a commit message, and a linked issue — produced from a plain-English description rather than manual coding. You'll also know the three places where this flow silently goes wrong and how to catch them before you merge.\n\nTime estimate: 15–40 minutes for a small-to-medium change, depending on how much review the diff needs. The output is a standard GitHub pull request: a branch, a set of file changes, a generated description, and a reviewable diff you can comment on line by line.
🛠️ Step-by-Step Guide
Step 1
Open your project folder in VS Code. Open the Copilot chat panel (View menu > Copilot Chat, or the chat icon in the activity bar). Confirm the model selector at the bottom of the chat shows an agent-capable model — if you only see chat options and no agent mode toggle, your subscription tier doesn't include it. [screenshot: Copilot chat panel open with a model dropdown visible at the bottom]
Step 2
In the chat input, attach your project folder using the attach/context control (the paperclip-style attachment button next to the input box), and select the folder, not a single file. This is the step most people skip — without the folder attached, Copilot can't see your codebase and will invent file paths that don't exist.
Step 3
Paste your issue description and explicitly ask for a plan first. Use wording like: 'Here is the issue: [paste]. Read the relevant files and give me a plan of which files to change and what the change is. Do not edit anything yet.' Wait for the plan.
Step 4
Read the plan critically and correct it in the chat before approving. If it names the wrong file, say so: 'No, the validation logic is in [correct file], not [wrong file] — redo the plan with that.' Only when the plan is right do you say: 'Good — apply this plan now.'
Step 5
After Copilot applies the changes, open the Source Control panel in VS Code and review the diff file by file. Click each changed file to see the diff. For anything wrong, select the offending lines, right-click, and choose the option to ask Copilot about the selection — then describe the fix. Do not commit until every file in the diff is one you intended to change.
Step 6
Run your tests locally before committing. Then in the Source Control panel, stage the changes, write a commit message (or ask Copilot to generate one from the diff), and commit. Push the branch, then open the pull request on GitHub — if you reference the issue number in the PR description, GitHub links and closes it automatically on merge.
🚀 Level up your AI toolkit
Understand AI in 5 minutes a day. No jargon. No hype. Unsubscribe anytime.