VSCode For Your Repo
Background
I recently discovered that Insta has Go to Definition
support for snapshots via a custom VSCode extension.
Also saw that Prefab has a neat VSCode integration for feature flags.
After seeing that the latest release of VSCode includes local workspace extensions, I decided to add an extension for Recipeyak.
Creating a Repo Specific VSCode Extension
There were a couple ideas I had, mainly we could jump from the Python API endpoint definitions to their generated callers in JS, and vice versa.
Code Lenses
I first added some code lenses to help with jumping between the client and server:
DefinitionProvider
Then I added support for clicking the http path on the server and client as another way to navigate:
Future
With the code lenses and the pathname navigation, we get some of the benefits that the Relay LSP & TRPC have, but we’re missing clicking on individual fields to get to jump between the client and server definitions.
I think for this, we’d want to use a TypeScript language service plugin for the client side, the server side is trickier since Pyright & Mypy don’t support the same style of plugins.