A first agent pass is often good enough to move into review, not finished enough to merge. The useful question is not whether you used an agent, but whether you can inspect the result, make direct edits, run the project, and return the revised branch to the same review thread. That is where the GitHub Copilot app and Visual Studio Code work well together: the task, the generated diff, and the working tree stay connected while you switch into the editor for closer control.
This MyTechDailyNews Software guide walks through that handoff in the order most teams use it: start in the Copilot app, open the session in VS Code, review the diff, edit by hand, test with npm or other repository checks, continue prompting Copilot when needed, and push the final branch with git.
Opening the Copilot app session inside Visual Studio Code is not the same as copying files into a fresh window. The session remains the source of context, and the editor remains the place where you inspect implementation choices.
| Step | Copilot app | VS Code | Why it matters |
|---|---|---|---|
| Session start | Defines the task and produces the first change | Opens the existing session | You do not rebuild context from scratch |
| Review | Shows the session history | Shows changed files and line-by-line diff | You can inspect implementation quality |
| Editing | Can continue prompting for broader work | Manual edits in the open worktree | Small fixes are faster directly |
| Verification | Remains attached to the session | Integrated terminal runs npm checks | Behavior is confirmed before commit |
| Finish | Same original session | git status, git add, git commit, git push | The linked pull request receives the update |
Open the GitHub Copilot app session that already contains most of the change. Spend a short moment confirming what the session was asked to do. The files are only part of the value; the session also records the task, the plan, and the conversation that led to the current diff.
You do not need to summarize that history into a separate chat. If you want to ask why a component was changed, a specific function was replaced, or an edge case was handled in a certain way, the retained conversation gives you the place to start.
Use the option to open the session in VS Code. If several supported editors or local VS Code installations are shown, choose the environment where the project is already configured. Visual Studio Code then opens the project in the worktree associated with the session and keeps the existing session visible in the editor sidebar.
Before making manual changes, review the diff as a normal code change. Open the changed files in the source control view and read the modified lines. Check whether the implementation solves the requested problem, follows repository conventions, handles errors and edge cases, includes relevant tests, and avoids unrelated file changes.
If the reason for a change is not obvious, ask Copilot in the sidebar instead of reconstructing the task. A direct question such as Explain why you changed this function instead of adding a new helper. Identify any behavior this could affect. keeps the review focused.
Manual editing is useful for small, specific adjustments that are faster to make than to describe. You are editing the session worktree, so the changes build on the agent's existing work. You do not need to copy files between directories or recreate the branch.
Use the terminal in VS Code to run the same validation steps you would run for a human-authored change. The commands depend on the project, but common web-app checks include npm install, npm test, npm run lint, and npm run dev.
When a local development server prints a localhost URL, open it and test the behavior. If your VS Code setup supports it, use the integrated browser to inspect the result without leaving the editor. For interface changes, check nearby states too: small and large viewports, loading, empty, and error states.
The handoff does not force you to choose one mode. You can prompt Copilot when the next task requires repeated edits, repository-wide analysis, or additional test scaffolding. You can edit manually when the desired change is already clear. Many sessions alternate between the two while tests and local checks run.
For example, after adjusting interface text, ask Copilot: Add a test for the updated label. Run the relevant test file. Do not modify unrelated components. The prompt is short because the session context is still connected, so Copilot can interpret the updated label.
Before committing, review the final diff one more time. Then use the source control view or terminal with git status, git add, git commit with a message such as Refine session changes, and git push.
Because VS Code opened the branch and worktree associated with the GitHub Copilot app session, pushing the branch updates the pull request that already tracks that work. You do not need to copy the finished files into another checkout or reconnect the result manually. Use your repository's normal branch protection, review, and approval practices.
No. The workflow continues the existing session. The task, plan, and conversation remain available, so follow-up prompts can refer to the same work.
Yes. Manual edits happen in the session worktree, so your changes build directly on the agent's work.
Not in the normal flow described here. The session is associated with a branch and pull request, so git push updates the pull request already tracking the work.
Run the repository checks that apply to your project. For many web apps, that means npm test, npm run lint, npm run dev, and a local browser check. Treat the output like any other change: inspect failures, verify behavior, and confirm tests cover the changed behavior.
The strongest software workflow is not a contest between agent automation and manual coding. It is a split: the GitHub Copilot app handles repetitive implementation work, while Visual Studio Code becomes the place for review, refinement, testing, and final delivery. Keep the Copilot app session connected, move into VS Code when you need control, verify with npm checks, and finish with git. That preserves the benefit of automation without reducing the engineer's responsibility for the merged result.