当前位置: 首页 > 科技观察

GoLand2021.1大发布:新功能试用报告

时间:2023-03-11 22:22:22 科技观察

大家好,我是站长polarisxu。Jetbrains正式发布了GoLand2021.1版本。此版本中有一些重量级功能值得关注。安装试了一下,发现启动界面变了(jetbrains系列IDE的启动界面变了)。01远程构建运行程序的VSCode朋友可能想说:切,VSCode早就有这个功能了。..GoLand现在可以通过Docker、SSH和WSL2远程构建和运行程序。具体来说,你可以在本地编写Go代码,然后在远程机器上运行你的代码,它支持Windows下的Linux子系统WSL2。配置远程构建和运行有两种方式:1)通过Run菜单配置Runtarget,ManageTargets....2)或者通过Run菜单,EditConfiguration...然后有“Managetargets”在如下界面“Runon”右侧,也可以配置Runtarget;或者直接通过下面的界面CreateNewTargets或者选择Savedtargets。以上两种方式中,如果点击Managetargets,会进入如下RunTargets界面:经过以上配置后,Runon选择你要运行的target,下次运行时会在对应的target上运行。(为什么没有WSL2?因为我不是Windows系统)运行后可以到远程目标确认是否有文件(源文件和编译后的临时文件等)。02对Go1.16的支持这里所说的对Go1.16的支持主要是指对//go:embed的支持。需要提醒的是,Go1.16的很多特性都是其他版本的GoLand都支持的,因为特别的不多。这里要说的是GoLand2021.1可以提示支持指令//go:embed。如下图所示:另外,为指令提供代码高亮,指令中嵌入的引用导航到项目中的文件和文件夹等。同时,GoLand还会进行代码检查。例如,如果您尝试将文件嵌入到错误类型的变量中,GoLand会提示。(注意导入embed包后才会高亮,当然导入包也可以根据GoLand提示快速导入)03快速处理错误在Go语言中,错误处理是经常被吐槽的。如果错误!=nil写软。如下代码:funcmain(){testErrorHandle()}functestErrorHandle()error{returnerrors.New("Thisiserror")}main中调用testErrorHandle需要处理错误,怎么办?当鼠标停留在testErrorHandle的调用处时,会出现Tip:ClickHandleerror,会自动变成:err:=testErrorHandle()iferr!=nil{return}不用自己写。(也可以通过快捷键实现,Handleerror后面有对应的快捷键)网上有很多类似的工具,比如https://mholt.github.io/json-to-go/。现在,GoLand可以直接帮你解决这种需求。比如你有如下JSON:{name:"polarisxu",wechat:"gopherstudio"},在GoLand中复制粘贴到Go文件中,会弹出对话框提示是否转换toastruct:确认后会生成如下struct(struct名称默认为T,修改即可):typeTstruct{Namestring`json:"name"`Wechatstring`json:"wechat"`}比较方便。另外,在tag字段中,按Alt+Enter(或option+Enter,Mac下),会出现contextactions对话框,可以修改相关操作,比如修改字段名。很方便。05其他功能其他功能还有很多,我没有一一测试。以下是一些:为结构字段生成getter和setter。好吧,感觉Go并不真的需要它;演员是自动完成的。比如将int32赋值给int64;重构go.mod文件;更好的格式;和我一起编码。这是多人协作的功能。本文转载自微信公众号「polarisxu」,可通过以下二维码关注。转载本文请联系polarisxu公众号。