Full-featured Protocol Buffers support for JetBrains IDEs
Semantic analysis · Cross-file navigation · Multi-language integration · Protobuf Editions
This plugin turns your JetBrains IDE into a protobuf-aware development environment — not just syntax highlighting, but deep understanding of your schema.
Warning
Not compatible with the bundled JetBrains Protocol Buffer plugin. Disable Protocol Buffer and gRPC before installing.
- Open Settings → Plugins → Marketplace
- Search for "Protobuf" by kanro
- Install and restart
The language IDs are now protocol_buffers (previously protobuf) and
protocol_buffers_text (previously prototext). File type names, extensions, display names,
plugin settings, and color scheme keys are unchanged. No aliases for the old language IDs are registered.
Language-specific code style settings and custom integrations that reference the old IDs may need
manual migration. Back up your IDE and project settings first. For code style schemes, copy only
the codeStyleSettings entry for the old language to the new language ID if the destination is
absent; keep the original entry and never overwrite existing settings for the new ID.
The separate ProtobufCodeStyleSettings entry does not need renaming.
Update custom language injection targets, @Language annotations, and language injection comments
that reference the old IDs only when they are intended for this plugin, not the bundled plugin.
Live Template context IDs are separate from language IDs and are not renamed; review custom template
applicability rather than replacing their context IDs. Third-party plugins must update their language
bindings or lookups to the new IDs.
Migration is not automatic: the old IDs can also identify JetBrains' bundled languages, so their settings cannot safely be attributed to this plugin. Legacy code style entries are retained by the platform, but are not automatically applied to the new languages. Ordinary file associations retain their existing file type names. This change does not establish full coexistence with the bundled Protocol Buffer and gRPC plugins; the compatibility warning above still applies.
Understands your .proto files semantically — resolves types across files and imports, validates field numbers, checks naming conventions, and catches errors in real time.
Go-to-definition, find usages, and rename refactoring that works across files, packages, and even library proto definitions.
Auto-completion that understands context — types, field names, enum values, options. Auto-import and import optimization built in.
| Module | Features |
|---|---|
| Java / Kotlin | Navigate between .proto and generated Java code |
| Go | Go code navigation, decompile from proto descriptors |
| gRPC | Send requests via HTTP Client, explore APIs via Endpoints |
| AIP | Google API design spec validation and completion |
| Sisyphus | Sisyphus Kotlin framework integration |
- Protobuf Editions (
edition = "2023") support - Text Format (
.textproto) with schema-based validation - Buf support via companion plugin
Validates and auto-completes Google API Improvement Proposals — resource definitions, HTTP rules, and naming conventions.
This project uses AI-assisted development with a structured workflow:
brainstorm → implement → ship → reflect
Every non-trivial change goes through a brainstorm (design discussion with a state machine), followed by implementation, shipping with quality gates, and post-ship reflection. Learnings accumulate in a knowledge base that feeds back into future work.
See .github/copilot-instructions.md for the workflow and .github/skills/ for the skill definitions.
| Overview | What the plugin does and why |
| Architecture | How the pieces fit together |
| Getting Started | Build, run, and test |
| Contributing | Code style and how to add features |
| Design Docs | Deep-dive into subsystem design decisions |
| Extension Points | API for extending the plugin |
Inspired by protobuf-jetbrains-plugin and intellij-protobuf-editor.





