GoLand 2022.2 为泛型和 go.work
带来了新功能,还增加了对模糊测试的支持,SQL 语句现在可被自动检测,还带来了针对它们的全面代码辅助。
GoLand 现已支持 WebSocket 连接,并且可以通过 HTTP 和 WebSocket 协议发送 GraphQL 查询。
泛型
将空接口转换为 any
的意图操作
GoLand 的新增检查可以将空接口的用法报告为类型或类型约束。
另一个意图操作是将 interface{}
替换为 any
。从意图操作的弹出窗口中,您可以替换文件中的所有空接口。
将具有空形参列表的类型形参删除的快速修复
具有空形参列表的类型形参现在报告为错误,并添加了将其删除的快速修复。
对未使用的类型形参的检查
GoLand 2022.2 添加了一项可以报告未使用的类型形参的新检查。它们将被灰显,将鼠标悬停到它们上面时,你会看到警告。
对接口与方法的联合的检查
如果你尝试将接口与方法在联合中一起使用,IDE 现在会报告错误。
对将类型形参用作约束的检查
如果尝试将类型形参用作约束,GoLand 将显示错误。
输入方法的接收器时对类型形参的补全
在方法创建期间添加接收器时,GoLand 会自动插入类型形参的标识符。
类型形参的新 Find Usages(查找用法)组
GoLand 2022.2 为泛型引入了新的 Find Usages(查找用法)组:类型形参声明。
模糊测试
运行模糊测试
现在可以从 GoLand 运行模糊测试。如果您点击模糊测试旁间距中的绿色三角形图标,将看到运行测试的不同选项。如果测试失败,失败的种子语料库条目将被写入文件并置于 testdata
文件夹的软件包目录中。
此文件的路径也将作为可点击链接出现在控制台中。如果点击此链接,文件将在 IDE 中打开,文件顶部将显示绿色三角形图标。点击此图标将运行 go test
并显示失败的种子语料库条目。
从 GoLand 也可以像普通单元测试一样运行模糊测试。
更改 Go SDK 的快速修复
在 GoLand 中,如果配置了不支持模糊测试的 Go SDK,间距中将不再显示运行按钮。GoLand 2022.2 添加了一个快速修复,它可以在当前 Go SDK 不支持模糊测试时更改 Go SDK。
Go 工作区
对多条 use
指令进行分组的快速修复
添加了一个快速修复,它可以将 go.work
文件中的多条 use
指令组合到一条指令中。
Go 1.19
对 fmt.Appendf
的支持
添加了对 fmt.Appendf
的支持,GoLand 现在可以识别字符串中的格式设置动词。因此,Appendf
函数可以利用格式设置函数具有的所有功能,例如 Add a format string argument(添加格式字符串实参)意图操作。
对 unix
构建约束的支持
GoLand 现已支持新的 unix
构建标记,后者可以识别任何 Unix 或类 Unix 系统。
loong64
加入 Arch 列表
Go 1.19 引入了新架构 loong64
。我们已将其添加到 Preferences | Go | Build Tags & Vendoring(设置 | Go | 构建标记和 Vendoring)下的 Arch 列表中。
快速文档
改进了 Quick Documentation(快速文档):
-
GoLand 现在会为 25 个 Go 关键字中的每一个显示有意义的关键字工具提示,概述相关关键字的语义。
-
现在会显示通道方向信息。此数据在三个位置的工具提示中显示:将鼠标悬停在
chan
关键字上时、通道进行发送和接收操作时以及对通道类型的所有引用上。 -
iota
的 Quick Documentation(快速文档)现在包含有关使用方式的额外信息。如果常量是iota
组的一部分,则值现在会显示在补全框中,即使常量是隐式定义的。 -
另有一个新的工具提示解释了类型 switch 的运作方式。
-
如果在类型形参上调用 Quick Documentation(快速文档),GoLand 将显示工具提示,简要说明泛型如何工作并提供 Go 团队教程的链接。
-
类型断言的工具提示现在包含额外相关信息并提供了示例。
-
如果将鼠标悬停在大括号内的区域上,在你初始化映射、数组、切片和结构时,GoLand 会显示额外信息。
-
将鼠标悬停在空白标识符上时,GoLand 会显示工具提示,解释空白标识符及其运作方式。
更多 Go 相关改进
性能优化
GoLand 不再扫描 ~/go/pkg/mod
中的 cache
子目录,因为后者不包含 IDE 正常运行所需的信息。这个文件夹可能相当大,将其从扫描中排除应该可以提高性能。
对 go:linkname
指令的支持
添加了对 go:linkname
编译器指令的支持:
//go:linkname localname [importpath.name]
它会指示编译器使用 importpath.name
作为在源代码中声明为 localname
的变量或函数的对象文件符号名称。
iota
非常规用法检查
GoLand 中新增了一项检查,如果 iota
的用法不合常规,检查会发出警告。
还为 iota
和其他内置常量启用了 Reserved word used as name(保留词用作名称)检查。尝试对名为 iota
、true
或 false
的常量分配值时,将触发检查。
对值和指针接收器上的方法的检查
Go 文档建议给定类型上的所有方法都应该有值或指针接收器。
GoLand 中新增了一项检查,如果类型在值和指针接收器上都有方法,检查会发出警告。
自动 SQL 检测
SQL 语句现在可被自动检测 ,语言将被注入到与特定模式匹配的每个字符串文字。将语言注入字符串文字时,如果编辑该文字,您将获得全面的代码辅助。
可以在 Preferences | Editor | Language Injections(设置 | 编辑器 | 语言注入)中查找、编辑模式以及添加自己的模式。
运行任何内容
GoLand 现在支持 Run Anything(运行任何内容)操作,你可以使用它快速启动运行 / 调试配置、应用程序、脚本、命令和任务,以及打开最近的项目。只需按两次 ^ 并在搜索栏中输入所需内容即可。
HTTP 客户端
对 WebSocket 端点的支持
GoLand 现在支持 WebSocket 连接。您可以创建请求以及发送和接收消息。
对 GraphQL 端点的支持
GoLand 现在可以原生通过 HTTP 和 WebSocket 协议发送 GraphQL 查询。对于 http://
和 https://
,使用的是简单的 HTTP 请求,ws://
和 wss://
则被委托给 WebSocket 执行器。
选择运行环境
现在,在间距的播放图标上可以通过新方式选择运行环境。要启用此功能,请从 Run with(运行方式)组合框中选择 Select Environment Before Run(运行前选择环境)选项。
远程开发
更新了 GoLand 欢迎屏幕的 Remote Development(远程开发)版块。在这里,您可以为后端编排选择首选方法。此外,端口转发功能现在可用于终端上运行的进程。
Space
JetBrains Space 是一个完整的软件开发平台,在整个开发环境为 JetBrains IDE 提供项目管理、问题跟踪、Git 托管、代码审查、持续集成、软件包仓库和远程后端编排。
Space 集成现与 GoLand 捆绑。借助这种一流集成,你可以浏览 Space 项目并克隆仓库,然后直接开始工作。当更改就绪后,你可以在 IDE 中创建合并请求并执行代码审查。
现在可以直接在 GoLand 中管理用于远程开发的 Space 开发环境
当 IDE 关联到 Space 组织时,所有现有开发环境都会同步。可以为仓库和分支创建新的开发环境,并立即开始编码。可以将开发环境休眠以减少资源消耗,或者在工作完成后直接将其删除。
用户界面
macOS 上的 Merge All Project Windows(合并所有项目窗口)操作
为 macOS 用户引入了一项功能,利用此功能可以将所有打开的项目窗口合并成一个,将其变成选项卡。转到 Window | Merge All Project Windows(窗口 | 合并所有项目窗口)即可启用。
更改字体大小的键盘快捷键
引入了一个键盘快捷键,它可以更改编辑器中所有位置的字体大小。要增大字体,请按 ⌃⇧.。要减小字体,请按 ⌃⇧,
在编辑器中放大或缩小代码时,现在可以看到显示当前字体大小的指示器以及将其恢复为默认值的选项。
助记书签的新 Description(描述)字段
已将 Description(描述)字段集成到 Add Mnemonic Bookmark(添加助记书签)对话框中,因此,可以为书签添加可选描述。要添加助记书签,请右键点击要添加书签的行旁边的间距,然后从上下文菜单中选择相应选项。或者使用快捷键 ⌥F3。
Cloning repository(正在克隆仓库)进度条
Cloning repository(正在克隆仓库)进度条现在直接显示在 Projects(项目)列表中。
更快访问 Code Completion Settings(代码补全设置)
现在可以从代码补全弹出窗口的垂直省略号菜单按钮访问 Code Completion Settings(代码补全设置)。
编辑器
控制自动圆括号插入
我们添加了一个选项,可用于切换 IDE 在代码补全期间是否自动插入圆括号。
更改检查的高亮显示样式
可以使用 Preferences | Editor | Inspections(设置 | 编辑器 | 检查)中的新 Highlighting in editor(编辑器中的高亮显示)下拉菜单调整检查的高亮显示样式。
这为你提供了更多用于自定义检查的选项。例如,可以将特定检查的严重性级别设为 Warning(警告),但将高亮显示样式更改为 Error(错误)。
Docker
复制 Docker 镜像
现在可以使用新的 Copy Docker Image(复制 Docker 镜像)操作将镜像从一个 Docker 守护进程复制到另一个,该操作会将镜像保存到文件中,然后将其推送到所选连接。
IDE 重启时 Docker 自动连接
现在,重新启动 IDE 后,GoLand 会自动连接到 Docker。这一新设置在 Preferences | Advanced Settings | Docker(设置 | 高级设置 | Docker)中默认启用。
与 Colima 和 Rancher 的集成
GoLand 现在与 Colima 和 Rancher 集成,支持更多用于建立与 Docker 守护进程的连接的选项。
数据库
导入多个 CSV 文件的选项
现在可以选择多个 CSV 文件并一次全部导入。
数据库的解析模式
使用数据库时,现在拥有两种文件解析模式:Playground(演练场)和 Script(脚本)。
Playground(演练场)适用于有一组未连接查询的情况,而 Script(脚本)适用于具有顺序逻辑的查询。
其他改进
导入受信任的 SSL 证书
GoLand 现在可以帮助您从系统受信任存储区导入受信任的 SSL 证书。它将自动使用特定于企业环境的自定义证书。您无需执行任何其他操作。一切都开箱即用。
JSON 和 YAML 文件中的可点击 URL
JSON 和 YAML 文件现在会在以 http://
和 https://
开头的值中自动插入 Web 引用。您可以在 Web 浏览器中打开这些链接并在 HTTP 客户端中生成请求。
看完本文有收获?点赞、分享是最大的支持!
文章评论