这里有一个 GoLand 5 周年彩蛋,以及 2022.3 更新一览
引入
我们刚在本月的第一天迎来了 GoLand 诞生 5 周年的纪念日。为了庆祝这个特别的日子,我们在 GoLand 新版本中悄悄植入了一个小“彩蛋”。欢迎阅读这篇博文来发掘它!我们也一并为您奉上 GoLand 2022.3 最新版本的更新概览,希望您喜欢这次的更新!
今天(2022 年 12 月 1 日)对我们来说是一个巨大的里程碑。我们不仅要发布 v2022.3(这是我们今年第三次也是最大的一次更新),同时今天也是 GoLand 的 5 周年纪念日!您是我们的工作中最有意义的一部分,没有您,这一切都不可能实现!
GoLand 五周年动画短片
🎉 和会动的 Gopher 们一起庆祝 🎉
我们还为您准备了一份惊喜礼物,并邀请您和我们一起庆祝,祝您玩得开心!
彩蛋打开方式
在 GoLand 2022.3 或 GoLand 2022.2.5 中
输入“Happy B-day, GoLand!”
然后看看会发生什么!
欢迎在微博或 B 站上分享您的得分,并且@JetBrains中国
我们还收集了客户的故事,其中一些客户从一开始(我们亲切地称之为 Gogland 时代,其中 Gogland 是 GoLand 的测试版名称)就和我们在一起。我们将在接下来的几周内发布这些故事,敬请期待!
现在,让我们来详细了解一下这次重大更新中的最新变化。
GoLand 2022.3 提供了各种性能增强功能,以及针对泛型和 Go 工作区的新功能。我们集成了 Go Playground 并添加了对 Go 文档注释改进的支持。还有针对 HTTP 客户端和 Docker 的新功能,新 UI 现已开放使用。
DataGrip 和 WebStorm(我们分别用于处理数据库和 Web 开发的 IDE)中所有可用的新功能也都登陆 GoLand。请查看 DataGrip 2022.3 最新变化和 WebStorm 2022.3 最新变化网页了解更多信息。
要详细了解 GoLand 2022.3 中的新功能,请访问我们的最新变化页面,您可以在此页面上找到该版本的完整概述以及 GIF 和屏幕截图。
如果您更喜欢交互式学习方法,我们邀请您访问 IDE 的欢迎屏幕上提供的 GoLand 2022.3 最新变化教程。
以下是新功能的简要概述。
性能改进
我们已经更改了 API,并设法减少了
go list
的启动次数。此更改将显著提高具有许多模块的大型项目的性能。当您打开一个项目时,
go list
报告的信息被保存到磁盘缓存。再次打开该项目时,项目结构相关数据将从内存加载并在索引编制开始时被纳入考量。这将加快索引编制速度。GoLand 获得了许多其他性能改进,这些改进旨在减少启动应用程序以及在 JetBrains IDE 中打开项目所需的时间。
泛型
现在,您可以为具有泛型形参的函数生成测试。
现在,可以使用检测小写类型形参的检查,还可以使用快速修复将其设置为大写。
Go 工作区
新的 Go Workspace File(Go 工作区文件)操作让您可以创建一个
go.work
文件。现有的 Go 模块将自动添加到go.work
中。如果有
replace
指令,您现在可以从go.mod
生成go.work
。
Go 文档注释
文本和文档链接在 Quick Documentation(快速文档)弹出窗口和 Documentation(文档)工具窗口中都呈现为链接。新标题和列表呈现为 HTML 标题和列表。
集成式 Go Playground
我们已将 Go Playground 功能集成到 GoLand 中。您可以选择一段代码并在带有工具栏的临时文件中将其打开,工具栏中的选项与 Go Playground 相同。
快速修复
如果类型包含自身,您将收到 Invalid recursive type(无效递归类型)错误。为避免这种情况,您应该包含一个指向类型的指针,而不是类型本身。现在,可以使用快速修复来进行此更改。
编辑器
我们已经开始实现 Code Vision 功能。如果启用了版本控制集成,则此功能会显示代码作者。此外,用法会显示在所有函数和类型附近。
GoLand 现在会显示常量定义块的内嵌提示。
调用 Fill all fields(填充所有字段)意图操作时,IDE 会忽略以
XXX_
开头的自动生成的协议缓冲区字段。
其他 Go 相关功能
GoLand 现在会自动获取 Go 模块相关系统变量,并将其显示在 Environment variables(环境变量)对话框窗口中。
IDE 现在始终在顶层声明的 Quick documentation(快速文档)弹出窗口中显示软件包名称。
我们已经对包含生成代码的文件禁用 Receiver names are different(接收器名称不同)检查。
HTTP客户端
HTTP 客户端现在支持在请求之前执行脚本块。您可以在执行请求之前生成一些数据,并使用变量将其放入最终请求。
您还可以计算 HTTP 请求的 md5 或 sha1 哈希值,IDE 现在具有一组新的随机变量。
您可以使用 Put query parameters on separate lines(将查询形参置于单独的行中)意图操作,将查询拆分成不同行中的小片段。
Docker
GoLand 现在支持连接到在 WSL 中运行的 Docker。
您可以使用 Pull Docker image(拉取 Docker 镜像)意图操作来拉取镜像,而无需从
Dockerfile
或docker-compose.yml
中运行。我们引入了对
.dockerignore
文件的全面支持,包括代码高亮显示和补全。GoLand 现在支持
Dockerfile
中的 heredoc 格式。您现在可以使用 Docker 上下文来设置其他 Docker 连接。
远程开发(测试版)
IDE 后端现在可以直接在 WSL 2 中启动,并且您可以像在 GoLand 中使用远程开发时连接到远程机器一样连接到它。
用户界面
现在,可以在设置中启用新 UI。
默认情况下,意图操作的预览功能处于打开状态。
我们已经实现了将工具窗口拖出主窗口并将其停靠到浮动编辑器选项卡的选项。
Tips of the Day (每日小技巧)现在具有标题。我们还对算法进行了微调,以确定显示哪些提示,因此您将看到与您的体验关系最密切的提示。
现在,又可以从编辑器选项卡中为文件添加书签了。您还可以将所有当前打开的选项卡中的所有文件添加到 Bookmarks(书签)。
我们引入了重新设计的解决方案来同步您的自定义用户设置。
数据库
期待已久的 Redis 支持的初步迭代现已实现。
现在,使用快速搜索时也可以筛选对象。所有不匹配的对象都将被隐藏。
查看 DataGrip 的最新变化页面,了解此版本中提供的所有用于处理数据库的新功能。
Web 开发
此版本为 Web 开发引入了的新 Code Vision 功能。它可以收集 JavaScript 和 TypeScript 代码中类型和类型成员的各种指标,并在声明附近显示此信息。
查看 WebStorm 的最新变化页面,了解此版本中提供的所有用于 Web 开发的新功能。
GoLand
相关阅读
关于 GoLand
GoLand 是对 JavaScript、TypeScript 和数据库提供扩展支持的跨平台 Go IDE。GoLand 不仅可以让你快速读写和修改 Go 代码,它还能与 Web、前端、后端和数据库共同运作。
GoLand 提供了一系列智能功能,如智能代码补全、一步撤销的安全重构、强大的内置调试器以及具有快速修复的实时错误检测。借助 GoLand,无论是新手还是经验丰富的专业人士,所有 Go 开发者都可以创建快速、高效且可靠的代码。
进一步了解 GoLand
本博文英文原作者:Ekaterina Zharova
⏬ 戳「阅读原文」了解更多