首页 > 其他分享 >GoLand中使用PlantUML生成Go UML图,使用go-callvis生成Go 调用关系图

GoLand中使用PlantUML生成Go UML图,使用go-callvis生成Go 调用关系图

时间:2023-07-17 09:33:21浏览次数:27  
标签:plantuml package -- networkservicemesh 生成 go PlantUML Go com

1.在goland IDE中安装plantuml插件

2.安装go-package-plantuml工具
go get --insecure gitee.com/jscode/go-package-plantuml.git

修改go-package-plantuml代码支持outputfile
if opts.OutputFile==""{
result.OutputToFile("/tmp/uml.txt")
}else{
result.OutputToFile(opts.OutputFile)
}
go build 生成go-package-plantuml可执行文件

3.在goland中settings-->tools-->external tools配置gotouml
/root/networkservicemesh/gobuild/gocode/src/gitee.com/jscode/go-package-plantuml/go-package-plantuml
--gopath $GOPATH$ --codedir $FileDir$ --outputfile $FileDir$.puml


4.安装go-callvis
go get -u github.com/TrueFurby/go-callvis
go build 生成go-callvis可执行文件

go-callvis测试:
./go-callvis -debug -nostd github.com/networkservicemesh/networkservicemesh/k8s/cmd/nsmd-k8s | dot -Tsvg -o mgr.svg、
./go-callvis -debug -nostd -group pkg,type --focus dataplane -limit github.com/networkservicemesh/networkservicemesh github.com/networkservicemesh/networkservicemesh/dataplane/vppagent/cmd1.在goland IDE中安装plantuml插件

2.安装go-package-plantuml工具
go get --insecure gitee.com/jscode/go-package-plantuml.git

修改go-package-plantuml代码支持outputfile
if opts.OutputFile==""{
result.OutputToFile("/tmp/uml.txt")
}else{
result.OutputToFile(opts.OutputFile)
}
go build 生成go-package-plantuml可执行文件

3.在goland中settings-->tools-->external tools配置gotouml
/root/networkservicemesh/gobuild/gocode/src/gitee.com/jscode/go-package-plantuml/go-package-plantuml
--gopath $GOPATH$ --codedir $FileDir$ --outputfile $FileDir$.puml


4.安装go-callvis
go get -u github.com/TrueFurby/go-callvis
go build 生成go-callvis可执行文件

go-callvis测试:
./go-callvis -debug -nostd github.com/networkservicemesh/networkservicemesh/k8s/cmd/nsmd-k8s | dot -Tsvg -o mgr.svg、
./go-callvis -debug -nostd -group pkg,type --focus dataplane -limit github.com/networkservicemesh/networkservicemesh github.com/networkservicemesh/networkservicemesh/dataplane/vppagent/cmd 

标签:plantuml,package,--,networkservicemesh,生成,go,PlantUML,Go,com
From: https://www.cnblogs.com/gongxianjin/p/17559121.html

相关文章

  • mongodb从库无法启动一例(replication_recovery.cpp)
    环境:OS:centos7mongodb:4.4.22背景:1主1从1仲裁的环境,修改从库的集群ip后,执行如下操作后发现无法启动myrepl:PRIMARY>rs.remove("192.168.1.104:29001")myrepl:PRIMARY>conf=rs.conf()myrepl:PRIMARY>conf.members[1].host="192.168.1.107:29001"myrepl:PRIMARY>rs.r......
  • kafka-es.go
    packageesimport("context""encoding/json""fmt""kafka/mongo""log""os""github.com/olivere/elastic")varclient*elastic.Clientvarhost="http://192.168.184.10:9200"......
  • legowall
    毒瘤问题~雾~首先我们可以先考虑一行的话有多少种方案,,这是一个经典问题答案就是斐波那契数列f[i]=f[i-1]+f[i-2],那么如果我们考虑H高怎么样?因为有H 的高度,故还要进行H次幂。让dp[i] 表示处理到第 i 列有多少个方案那么转移方式就是dp[i]=fib[i]-sum(dp[j]*fib[i-j]......
  • VSCode - go error: gopls was not able to find modules in your workspace
    goplswasnotabletofindmodulesinyourworkspace.WhenoutsideofGOPATH,goplsneedstoknowwhichmodulesyouareworkingon.YoucanfixthisbyopeningyourworkspacetoafolderinsideaGomodule,orbyusingago.workfiletospecifymultiplem......
  • MongoDB导入导出
    物理备份物理备份是指将MongoDB数据库文件复制到备份服务器或存储设备上。MongoDB使用的是一种称为"copy-on-write"的技术,这意味着当修改MongoDB数据库时,MongoDB会将数据复制到一个新的文件中,而原始文件仍然保留不变。这使得可以在不中断服务的情况下备份MongoDB数据库。 物理......
  • google引擎搜索技巧
    找歌词或忘记的句子【*】在谷歌搜索引擎中使用,代表所有可能性。如果你忘记了一段句子的某部分,可以加入*搜索,会过滤出所有可能性的句子。例如:youdon’t*me搜索完整句子【“”】如果你想要找某个东西,但是这个东西的单字都是有个别意思的,就好像巧克力蛋糕的“巧克力......
  • goland+dlv远程调试kubelet
    Goland配置cd到main函数所在的go文件目录执行下面命令等待2分钟左右,直到出现APIserverlisteningat:[::]:8033/root/Downloads/dlvdebug--headless--listen=:8033--api-version=2----bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf--kubeconfig=/etc......
  • MyBatis Generator代码生成器
    地址:http://mybatis.org/generator/quickstart.html 依赖<!--mybatis代码生成--><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId>......
  • [YDRG#001] 提瓦特环游记 · 云斗杯 · 七月 Golden 组模拟赛 整理分析--zhengjun
    link总体评价:因为K了,所以好评,练一下思维蛮好的,质量不错比赛2.5hK的。#A.诗人小G初进OI界标准送分,输出\(\frac{s_2-a_2}{a_1}\)。#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;constintN=1e6+10;intn,a[N];voidread(ll&x){ char......
  • golang占位符
    golang占位符%v,%+v,%#v有什么区别?原创 萧瑟 golang面试经典讲解 2023-07-1220:05 发表于上海收录于合集#go14个#go语言14个#面试43个一、前言平时遇到这样的疑问,怎么样解决呢?教大家一个小技巧,windows直接ctrl+单击fmt包名查看注释即可得到官方的解释,如下......