An open API service indexing awesome lists of open source software.

https://github.com/numq/protobuf-blueprint-plugin

Protobuf Blueprint is an Intellij Idea plugin that allows you to generate Protocol Buffers code using simple format
https://github.com/numq/protobuf-blueprint-plugin

blueprint code-generation intellij-platform intellij-plugin java jetbrains-plugin kotlin proto protobuf protobuf-generator protocol-buffers template-generator

Last synced: about 1 month ago
JSON representation

Protobuf Blueprint is an Intellij Idea plugin that allows you to generate Protocol Buffers code using simple format

Awesome Lists containing this project

README

          

[![Version](https://img.shields.io/jetbrains/plugin/v/21792-protobuf-blueprint.svg)](https://plugins.jetbrains.com/plugin/21792-protobuf-blueprint)
[![Downloads](https://img.shields.io/jetbrains/plugin/d/21792-protobuf-blueprint.svg)](https://plugins.jetbrains.com/plugin/21792-protobuf-blueprint)

![logo](./media/logo.png)

**Protobuf Blueprint** is an Intellij Idea plugin that allows you to generate *Protocol Buffers* code using simple
format.

![preview](./media/preview.png)

## Installation

- Using IDE built-in plugin system:

Settings/Preferences > Plugins > Marketplace > Search for "Protobuf
Blueprint"
>
Install Plugin

- Manually:

Download the [latest release](https://github.com/numq/protobuf-blueprint-plugin/releases/latest) and install it manually
using
Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...

## Usage

1. Go to Tools -> Protobuf Blueprint to open plugin tool window.
2. Follow the format hint in the plugin tool window to generate the code.

### Format Requirements:

> Break the line to complete the input.

Message:
> Use *PascalCase* for **message names**.

```message messageName messageName messageName```

Enum:
> Use *PascalCase* for **enum name** and *CAPITALS_WITH_UNDERSCORES* for **enum values**.

```enum enumName enum_value enum_value enum_value```

Service:
> Use *PascalCase* for **service name** and **rpc names**.

```service serviceName rpcName rpcName rpcName```

![preview-full](./media/preview-full.png)