Skip to content

Conversation

@m4dc4p
Copy link
Contributor

@m4dc4p m4dc4p commented Jul 29, 2025

Update this tool so it can gather all errors.

  • Updated model description so agent knows the tool can gather all errors
  • Updated implementation such that if no URL is given, the tool returns all errors.

Fixes microsoft/vscode#260675

@m4dc4p
Copy link
Contributor Author

m4dc4p commented Jul 29, 2025

@microsoft-github-policy-service agree

@m4dc4p
Copy link
Contributor Author

m4dc4p commented Jul 29, 2025

This is for microsoft/vscode#257837. If anyone can give me guidance on how to test this locally (that is, install the updated extension in my VS code so the updated tool description is accessible to Copilot) I'd really appreciate it. Guidance on how to best implement this feature also welcome!

@m4dc4p m4dc4p force-pushed the 257837-update-get-tools branch 2 times, most recently from 2a502cd to c41277d Compare July 30, 2025 00:23
Update this tool so it can gather all errors.

* Updated model description so agent knows the tool can gather all errors
* Updated implementation such that if no URL is given, the tool returns all
errors.
@m4dc4p m4dc4p force-pushed the 257837-update-get-tools branch from c41277d to 96cf0b2 Compare July 30, 2025 00:26
@mjbvz mjbvz assigned connor4312 and unassigned mjbvz Jul 30, 2025
Made the 'filePaths' argument optional, and updated description
to indicate how the argument should be used.
@connor4312
Copy link
Member

cc @roblourens

@roblourens roblourens added this to the August 2025 milestone Jul 31, 2025
@roblourens
Copy link
Member

If filePaths is optional, make sure it's also optional in IGetErrorsParams and the tool is implemented accordingly

@roblourens
Copy link
Member

See the build errors

m4dc4p added 2 commits August 4, 2025 09:58
* Made filePaths on IGetErrorParams optional, updated implementation of
invoke accordingly.
* Updated prepareInvoke to handle optional argument properly as
well.
@m4dc4p
Copy link
Contributor Author

m4dc4p commented Aug 4, 2025

Thanks @roblourens for your attention! I updated the interface, and realized I had not really restructed invoke correctly. Now it handles lack of filePaths vs any array properly.

The prepareInvoke function also needed to be updated so it wouldn't throw an error if no paths were given.

@m4dc4p
Copy link
Contributor Author

m4dc4p commented Aug 4, 2025

BTW can you tell me how to install this into my local VS code so I can test it with copilot? I still don't know if the LLM will understand how to use this new tool definition.

@roblourens
Copy link
Member

You should be able to just debug the extension normally to run it https://github.com/microsoft/vscode-copilot-chat/blob/main/CONTRIBUTING.md#developing

@m4dc4p
Copy link
Contributor Author

m4dc4p commented Aug 6, 2025

I didn't have any luck running the extension (maybe due to use latest main?). In any case this about all the effort I'm able to give right now.

@roblourens roblourens self-assigned this Aug 7, 2025
@roblourens
Copy link
Member

roblourens commented Aug 7, 2025

Can you share the trouble you had running the extension? I want it to be a good experience for external contributors.

You may need to use VS Code Insiders, not the stable release, maybe that's the issue

@m4dc4p
Copy link
Contributor Author

m4dc4p commented Aug 7, 2025

Can you share the trouble you had running the extension? I want it to be a good experience for external contributors.

No problem! I am using Insiders; I usually write Haskell so running & debugging an extension is a little new. I didn't understand the "Launch Copilot Extension - Watch Mode" from CONTRIBUTING.md, but F5 did start the extension for me.

When I open VS Code ("[Extension Development Host]" is in title bar, so I know its the version I launched), the copilot tab has no models for me to select. When I submit a message, I just get an endless spinner.

Some screenshots to illustrate:

VS Code Version VS Code ("[Extension Development Host]") Version Copilot Input (lack of) Chat Response Extension Version
image image image image image

I am running based on 60bbbc7 of the copilot extension.

3791ec9 (HEAD -> 257837-update-get-tools, m4dc4p/257837-update-get-tools) Merge remote-tracking branch 'm4dc4p/257837-update-get-tools' into 257837-update-get-tools
5b21add Updates from review
60bbbc7 Merge branch 'main' into 257837-update-get-tools
8c49dc9 Fixes microsoft/vscode#258501 (#421)
7a0177d Fix issue with internal api key reference (#431)

Let me know if I can provide more! Happy to try something different.

@roblourens
Copy link
Member

Interesting- I'm assuming that it didn't get built properly or is missing an npm install or something. If you check the debug console (in the initial window), or the Copilot Chat output channel (in the debuggee), you may see a clue.

@roblourens
Copy link
Member

In order to merge this, I need to fix this task, which is currently not working on PRs from forks...
image

@roblourens roblourens enabled auto-merge August 8, 2025 21:41
@m4dc4p
Copy link
Contributor Author

m4dc4p commented Aug 8, 2025

@roblourens Thanks for your help with this! Excited to see it land!

@roblourens roblourens added this pull request to the merge queue Aug 8, 2025
Merged via the queue into microsoft:main with commit 6357511 Aug 8, 2025
6 checks passed
pierceboggan pushed a commit that referenced this pull request Aug 11, 2025
* Update getErrors (GetErrors / problems) tool

Update this tool so it can gather all errors.

* Updated model description so agent knows the tool can gather all errors
* Updated implementation such that if no URL is given, the tool returns all
errors.

* Update tool definition

Made the 'filePaths' argument optional, and updated description
to indicate how the argument should be used.

* Updates from review

* Made filePaths on IGetErrorParams optional, updated implementation of
invoke accordingly.
* Updated prepareInvoke to handle optional argument properly as
well.

* Tweaks

---------

Co-authored-by: Rob Lourens <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow get_errors to return errors from all files

4 participants