出品 | OSC开源社区(ID:oschina2013)GoLand 2022.3 提供了性能增强以及针对泛型和 Go 工作区的新功能。新版本集成了 Go Playground,添加了改进 Go 文档注释的支持,为 HTTP 客户端和 Docker 引入了新功能,并提供了新 UI。此外,GoLand 也迎来了 5 岁生日,官方邀请各位开发者们一起庆祝。现在在 GoLand 2022.3 或 GoLand 2022.2.5 中输入 “Happy B-day, GoLand!”,看看会有什么彩蛋。
性能改进
有助于改进索引编制的 go list 更改
打开项目时,GoLand 会为文件编制索引并运行 [go list](<https://go.dev/ref/mod#go-list-m>) 命令,该命令会报告有关项目结构的信息。索引编制会在 go list 运行时暂停,在索引编制完成之前您无法访问代码洞察功能。此前,GoLand 在某些情况下会运行两次 go list。我们更改了 API,减少了 go list 启动的数量。我们希望这一改变能够显著提高具有许多模块的大型项目的性能。
打开时从缓存还原项目结构
现在,打开项目时,go list 报告的信息将被保存到磁盘缓存。再次打开该项目时,项目结构相关数据将从内存加载并在索引编制开始时被纳入考量。由此,索引编制可以不间断地继续,更快完成,并且代码洞察功能在打开项目后可以更快可用。
更快的 IDE 启动和项目打开
GoLand 还获得了许多其他性能改进,旨在减少启动应用程序以及在 JetBrains IDE 中打开项目所需的时间。整体启动性能(包括编辑器还原)因此提高了约 30%。
泛型
泛型函数的测试生成
现在,您可以为具有泛型形参的函数生成测试。
大写类型形参的快速修复
现在有一项检测小写类型形参的检查,以及将其变成大写的快速修复。
Go 工作区
Go Workspace File(Go 工作区文件)操作
在 New(新建)上下文菜单中,您现在会找到 Go Workspace File(Go 工作区文件)操作。选择时,根文件夹中将出现一个 go.work 文件。现有 Go 模块将自动添加到 go.work 文件中。
从 Go 1.19 开始,标题是以数字符号 (#) 开头后跟空格和标题文本的行。新标题在 GoLand 的 Quick Documentation(快速文档)弹出窗口和 Documentation(文档)工具窗口中呈现为 HTML 标题。
对列表的支持
列表在 GoLand 的 Quick Documentation(快速文档)弹出窗口和 Documentation(文档)工具窗口中呈现为 HTML 列表。
集成式 Go Playground
我们在 GoLand 中集成了 Go Playground 功能。您可以选择一段代码,选择 Open In(打开方式)选项,然后点击 Playground。这将打开带有工具栏的 scratch 文件,工具栏中的选项与 Go Playground 相同。您可以格式化和共享您的代码、更改 Go 版本、使用 Go Playground 服务器运行代码,或在本地运行。
调用 Fill all fields(填充所有字段)意图操作时,IDE 会忽略以 XXX_ 开头的自动生成的协议缓冲区字段。这些字段仅在第二次调用补全后显示。
其他 Go 相关功能
Go 环境变量在设置中显示
GoLand 现在会自动获取 Go 模块相关系统变量,并将其显示在 Environment variables(环境变量)对话框窗口中。要打开此窗口,请转至 Preferences | Go | Go Modules(设置 | Go | Go 模块),点击 Edit environment variables(编辑环境变量)图标。
软件包名称始终显示在 Quick documentation(快速文档)中
IDE 现在始终在顶层声明的 Quick documentation(快速文档)弹出窗口中显示软件包名称。此前,只有在找到 doc.go 或 <pkg_name>.go 文件时才会显示软件包头。
文章评论