zeromicro / goctl-intellij

A intellij plugin of goctl
MIT License
27 stars 6 forks source link

goctl intellij Plugin

中文简体 | English

go-zero license license

介绍

一款支持go-zero api语言结构语法高亮、检测以及api、rpc、model快捷生成的插件工具。

idea版本要求

不低于193.0(2019.3)

版本特性

安装方式

方式一

在github的release中找到最新的zip包,下载本地安装即可。(无需解压)

方式二

在plugin商店中,搜索Goctl安装即可(目前商店中已通过的版本比较低。)

预览

preview

新建 Api file

在工程区域目标文件夹右键 -> New -> New Api File -> Empty File/Api Template,如图:

preview preview

新建 Proto File

在工程区目标文件夹右键 -> New -> New Proto File -> Empty File/Proto Template,如图: preview preview

快速生成api/rpc服务

在目标文件夹右键 -> New -> Go Zero -> Api Greet Service/Rpc Greet Service

preview

Api 代码生成

1. api 文件右键生成

preview

2. api 文件编辑区右键生成

preview

Api 代码生成说明

API Code GenerationAPI Quick Code Generation 的区别是:

zRPC 代码生成

1. proto 文件右键生成

preview

2. proto 文件编辑区右键生成

preview

zRPC 代码生成说明

ZRPC Code GenerationZRPC Quick Code Generation 的区别是:

Model 代码生成

1. sql 文件右键生成

preview

2. sql 文件编辑区右键生成

preview

Model 代码生成说明

Model 代码生成默认都是带缓存的。

Model Code GenerationModel Quick Code Generation 的区别是:

Live Template

Live Template可以加快我们对api文件的编写,比如我们在go文件中输入main关键字根据tip回车后会插入一段模板代码

func main(){

}

或者说看到下图你会更加熟悉,曾几何时你还在这里定义过template context menu

下面就进入今天api语法中的模板使用说明吧,我们先来看看service模板的效果 context menu

预设模板及生效区域

模板关键字 psiTree生效区域 描述
@doc ApiService doc注释模板
doc ApiService doc注释模板
struct Struct struct声明模板
info ApiFile info block模板
type ApiFile type group模板
handler ApiService handler文件名模板
get ApiService get方法路由模板
head ApiService head方法路由模板
post ApiService post方法路由模板
put ApiService put方法路由模板
delete ApiService delete方法路由模板
connect ApiService connect方法路由模板
options ApiService options方法路由模板
trace ApiService trace方法路由模板
service ApiFile service服务block模板
json Tag Tag literal tag模板
xml Tag Tag literal tag模板
path Tag Tag literal tag模板
form Tag Tag literal tag模板