I continue my journey on getting the most out of Github Copilot. Today I want to take a look at Copilot Edits as another way to use AI in your day-to-day coding experience. Until recently, you either had to use completions or the chat experience.
With Copilot Edits, a third option is added to the list.
Why Copilot Edits?
Where the completions or the chat experience are a great fit for single file changes, they can be cumbersome for bigger changes that span multiple files. When using Copilot Edits, you can specify a set of files that should edited and then ask Copilot to do some changes.
Remark: At the moment of writing Copilot Edits seems only to be available inside VS Code and not (yet) in Visual Studio.
Let’s give it a try…
- Click on the Github Copilot icon at the top and choose Open Copilot Edits from the dropdown(or just hit CTRL-Shift-I)
- This will open up the Copilot Edits view where we can start a new editing session.
- First we need to add a set of files to our Working Set. Therefore click on + Add Files and choose the files that should be part of the working set. Copilot will only apply changes to these files.
- Remark: At the moment the working set is limited to 10 files.
- Now we can enter a chat prompt telling the change that we want taking our working set into account.
- We now have the option to go through all the changes and either Accept or Discard them.
- The edits are not saved to disk automatically. You can save the files by clicking on the Save icon.
- Remark: This doesn’t mean that the changes are accepted automatically.
- If you are happy with the final set of changes you can click Accept.
- Click on Done to end the editing session.
This first experience of this new feature was certainly positive. Would be nice if I could define the working set by just specifying it as text(e.g. Edit all razor files...).
Update:
- I was able to mimic the behavior I mentioned above by first entering my request in the Copilot Chat experience:
- And then I hit the Edit with Copilot button:
- Copilot automatically added all impacted files to the working set and when I click on Rerun in the Chat window it starts to apply the change. Nice!