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.