Proto Navigation

Navigate from .proto to implementation

Jump from Protocol Buffer definitions straight to your C# and Python service code. Press F12 and go.

Works with VS Code 1.85+ · Free and open source

Features

Smart Navigation

  • F12 Go to Definition
  • Cmd/Ctrl+F12 Go to Implementation
  • Alt/Option+F12 Peek Definition

Intelligent Search

  • Auto-discovers *Service.cs and *Service.py
  • Configurable search paths
  • Per-file service_file directive override

Developer Friendly

  • Zero configuration for standard projects
  • Smart caching for fast navigation
  • Detailed logging in Output panel

See it in action

Demo showing F12 navigation from proto file to C# implementation

Quick Start

1

Install

Install from the VS Code Marketplace or search "Proto Navigation" in Extensions.

2

Open a .proto file

The extension activates automatically on any .proto file. Zero config needed for standard project layouts.

3

Navigate

Press F12 on a service method to jump to C# or Python implementation. Customize paths via Command Palette.

Keyboard Shortcuts

Shortcut Action
F12 Go to Definition
Cmd/Ctrl+F12 Go to Implementation
Alt/Option+F12 Peek Definition

Release History

Security

  • Upgraded protobufjs to 7.5.8 (bringing transitive @protobufjs/utf8 to 1.1.1) to remediate 7 Dependabot advisories:
    • GHSA-685m-2w69-288q (high) — DoS via unbounded protobuf recursion
    • GHSA-66ff-xgx4-vchm (high) — Code injection through bytes field defaults in generated toObject
    • GHSA-75px-5xx7-5xc7 (high) — Code-generation gadget after prototype pollution
    • GHSA-jvwf-75h9-cwgg (high) — Process-wide DoS through unsafe option paths
    • GHSA-2pr8-phx7-x9h3 (medium) — DoS from crafted field names
    • GHSA-fx83-v9x8-x52w (medium) — Prototype injection in generated message constructors
    • GHSA-q6x5-8v7m-xcrf (medium) — Overlong UTF-8 decoding