GitPedia

Intellij protobuf editor

Protocol Buffers for IntelliJ-based IDEs

From jvolkman·Updated January 7, 2026·View on GitHub·
·Archived

This plugin has been adopted by JetBrains and now lives primarly at https://github.com/JetBrains/intellij-plugins/tree/master/protobuf. Future releases will be bundled with certain versions of JetBrains' tools. As such, this repository likely won't see new updates. Issue tracking and other stuff is still in a bit of a transition phase. The project is written primarily in Java, distributed under the Apache License 2.0 license, first published in 2019. Key topics include: grpc, intellij, protobuf, protobuf-files, protobuf3.

Latest release: v2.3.12.3.1
February 25, 2021View Changelog →

Note: this plugin has moved to JetBrains

This plugin has been adopted by JetBrains and now lives primarly at https://github.com/JetBrains/intellij-plugins/tree/master/protobuf. Future releases will be bundled with certain versions of JetBrains' tools. As such, this repository likely won't see new updates. Issue tracking and other stuff is still in a bit of a transition phase.

Protocol Buffers support for IntelliJ

Run Tests Join the chat at https://gitter.im/intellij-protobuf-editor/community

IntelliJ plugin for editing Google Protocol Buffers. Features include:

  • Support for proto2 and proto3
  • Syntax highlighting
  • Code completion
  • Semantic analysis
  • References and navigation
  • Quick documentation
  • Editor enhancements (completion, brace matching, etc.)
  • Navigating between protobuf files and some other languages (Java, Go, Python)
  • Full support for text format, both standalone and in custom options

Editor

This is a fork of google/intellij-protocol-buffer-editor which was released unsupported.

Installation

Install from the JetBrains plugin repository, or:

Building and Testing

This project uses Bazel.

To build protobuf-editor.jar:

bazel build //plugin

To run tests:

bazel test //...

Path Settings

By default, the collection of project source roots is used as the protobuf search path, and the protobuf descriptor and
well-known type files are provided by the plugin JAR. These paths can be customized in the editor's language settings:

Settings

To customize:

  • Uncheck Configure automatically
  • Add paths that include protobuf files
    • The Prefix column can be used to specify an import prefix for the path. So, for example, if the path is
      src/protos and the prefix is foo/bar, the file at src/protos/mine.proto would be imported as
      foo/bar/mine.proto.
  • Organize the paths in the proper resolution order. Files found in paths at the top of the list take precedence.

Text Format

Protobuf Text Format is most commonly used to specify long-form option values in .proto files. For example, as seen
in the GRPC ecosystem:

GRPC example

This plugin also supports standalone text format files with a .textproto or .pb. extension. Text formant by default
does not provide a way to associate a file with its schema (a message in a .proto file). But the plugin supports
the following comments in a text proto file:

# proto-file: path/to/file.proto
# proto-message: SomeMessage
# proto-import: path/to/file_with_extensions.proto
# proto-import: path/to/another_file_with_extensions.proto

foo: bar

Filenames are relative to configured roots (see Settings). The proto-message name is scoped
relatively to the package declared in the proto-file file. proto-message follows the same resolution rules as type
names in .proto files.

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from jvolkman/intellij-protobuf-editor via the GitHub API.Last fetched: 6/23/2026