microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.89k stars 29.17k forks source link

Chat: Support custom attachments for participants #232151

Open bwateratmsft opened 6 days ago

bwateratmsft commented 6 days ago

Right now, in Insiders, the currently-opened editor is included as an attachment in chat requests. The user can easily disable it by clicking.

Certain participants (thinking about @azure particularly) would benefit from being able to default-attach their own items in this list. For example, for @azure, attaching azure.yaml by default (if present) would help with a multitude of user questions. We can attach it automatically today, but we cannot make it show up in the attachments list and allow the user to detach it easily for queries where it is unhelpful.

Image

Implementation-wise, perhaps if, after typing @azure, a method can be called to resolve additional attachments?

/cc @isidorn

isidorn commented 6 days ago

This sounds reasonable to me. What do you think @roblourens

roblourens commented 6 days ago

That's something that I don't like about the current implicit context, it doesn't really capture all the implicit context. Not sure whether I want to try to spell everything out or just rely on participants to report references but I'll keep thinking about it.

Do you currently return a reference for the files you use?

bwateratmsft commented 6 days ago

Right now we're only using attached files, we're not auto-attaching anything. Auto-attaching felt like it introduced wrong answers but with no way to detach the file causing the wrong answers. For example, when we auto-attached azure.yaml, and asked what ports the app listens on, it would try (and fail) to find the answer in azure.yaml. Instead, we wanted it to query our workspace context plugin (which essentially just calls the copilot_codebase lmTool underneath)