.proto文件语法高亮显示

需要安装Protobuf Support插件。

依次点击Intellij中的“File”、”Settings”、”Plugins”、”Browse repositories”,如下所示:

Intellij IDEA中使用Protobuf插图

搜索Protobuf,如下所示:

Intellij IDEA中使用Protobuf插图1

安装完成,重启IDEA,查看.proto文件,支持语法高亮显示。

将.proto文件转成Java类

一般的做法,本地安装protobuf编译器,然后执行protoc命令,依次将.proto文件转成Java类:

protoc.exe  --java_out=d:/tmp d:/tmp/monitor_data.proto
// 或Linux操作
protoc  --java_out=/zzs/tmp /zzs/tmp/monitor_data.proto

gRPC官方推荐了一种更优雅的使用姿势,可以通过maven轻松搞定。

pom.xml文件配置:

<properties>
    <grpc.version>1.6.1</grpc.version>
    <protobuf.version>3.3.0</protobuf.version>
</properties>
<dependencies>
         <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-netty</artifactId>
            <version>${grpc.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-protobuf</artifactId>
            <version>${grpc.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-stub</artifactId>
            <version>${grpc.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>${protobuf.version}</version>
        </dependency>
</dependencies>
<build>
        <extensions>
            <extension>
                <groupId>kr.motd.maven</groupId>
                <artifactId>os-maven-plugin</artifactId>
                <version>1.5.0.Final</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.xolstice.maven.plugins</groupId>
                <artifactId>protobuf-maven-plugin</artifactId>
                <version>0.5.0</version>
                <configuration>
                    <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
                    <pluginId>grpc-java</pluginId>
                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>compile-custom</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>            
        </plugins>
    </build>

编译生成Java类

在生成编译类之前,先准备好proto文件,并且proto文件要放置在src/main/proto目录下,否则执行编译命令会提示目录不存在。

Intellij IDEA中使用Protobuf插图2

编译完成之后,将生成的Java类复制到对应的目录即可。



Intellij IDEA中使用Protobuf插图3

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2021/07/29/intellij-idea-protobuf/