feat: add ability to browse and search through VS Code
Previously, this extension only supported features that allowed the user to open Sourcegraph in the browser for further exploration. This commits adds several new features that allows the user to browse Sourcegraph while staying in the editor:
- New
FileSystemProviderto display contents of text files and list directories from Sourcegraph - New "Files"
TreeDataProviderto browse file system contents in a tree view - New "Diffs"
TreeDataProviderto compare git revisions using VS Code's built in diff support - New
NotebookSerializerto interactively edit and run search queries in a notebook-like environment
Demo: https://www.loom.com/share/71dab72106ea45f8a5881e2e2382cebe
This is still a draft since I have a few more items that I want to clean up before getting a review. I decided to open the PR just to give a heads up that this is a large PR 😅
This is finally ready for review! I apologize for the mostly meaningless git commit log. I can try to clean it up a bit but I'm not sure how much easier that will be to review because most of the changes are new files.
This looks really slick! I'm super happy you did this!
I pushed a new commit adding testing infrastructure that I'm hoping will make it much more manageable to maintain and evolve the new code. The tests are written directly against the GraphQL API on sourcegraph.com but the responses are recorded by Polly so that subsequent test runs can work offline (and they're super fast since no RPCs take place).