在 GoLand 2020.3 中,您可以浏览 goroutine 转储,运行并导航至各个表测试,并从对 Testify 测试框架的扩展支持中大大受益。 您还将发现许多新的代码编辑功能,包括对时间包的支持、更智能的软件包处理方式、UI 改进、用于 Web 开发和使用数据库的多种新功能,以及一项针对协作开发和结对编程的新服务。
喜欢交互式学习,而不是阅读信息? 在 IDE 的 Welcome 界面上完成 What's New in GoLand 2020.3 教程。
借助调试器中的新 Dump Goroutines 图标,您可以在调试会话期间轻松地在堆栈中查找包含指定字符串的 goroutine。 只需点击图标即可在单独的窗口中打开转储。
为了帮助您专注于重要信息,提供了隐藏单个 goroutine 或多个具有相同堆栈的 goroutine 的选项。 右键点击 goroutine 并选择所需操作,或者按 Delete 键以将其移至转储窗口中的特殊 Hidden 部分,以免分散您的注意力。
在 GoLand 2020.3 中,如果不需要重新附加,用户可以停止具有 Go Remote 配置的进程。
在配置设置中,您可以指定调试器在断开连接时的默认行为,可以选择 Stop remote Delve processes、Leave it running,或者让 GoLand 每次询问您如何继续。
您可以从 Run 工具窗口运行并导航至各个表测试。
存在一些限制:
%s
和 %d
动词的 fmt.Sprintf()
调用。 现在,IDE 可以识别能够启动测试套件的测试函数,并提供了启动单个 suite.Run
和 suite.T().Run
的方法(子测试名称需要为字符串常量)。 另外,可以从 Run 工具窗口重新运行子测试,以避免重新运行整个顶级测试。
此外,GoLand 现在可以在单个测试用例中分别运行具有相同方法名称的 Testify 套件。
最后但同样重要的是,当您完成接受 testing.T
作为第一个参数的函数或方法时,GoLand 会在可行情况下自动传递该参数。 这适用于 testify/assert
、testify/require
、testify/mock
和 testify/suite
软件包的函数和方法。
Incorrect usage of Println/Printf like functions 代码检查将警告您注意 github.com/pkg/errors
、github.com/sirupsen/logrus
和 go.uber.org/zap
软件包中的潜在问题。
除此之外,我们还添加了占位符高亮显示和折叠,以及 Add format string argument 意图。
context.CancelFunc not called code 检查会报告潜在的上下文取消不安全使用问题。 当未在所有执行路径上调用由 context.WithCancel
返回的 ‘cancel’ 函数(以及类似函数)时,此功能特别实用。
要详细了解此软件包,请访问:https://golang.org/pkg/context/。
我们增加了对时间包的支持,因此您可以更方便地使用时间和持续时间。 GoLand 将通过代码补全 (Ctrl+Space) 提供预定义布局元素建议,格式为符合 ISO-8601 标准的 YYYY
、MM
、DD
占位符。
在令牌上按 Ctrl+P,IDE 随即会显示其含义。 另外,还提供了针对布局令牌的语法高亮显示。 代码补全功能还可以提供字符串文字之外的标准时间布局建议。
现在,IDE 可以更智能地优先处理您常用软件包的补全项,常用软件包在项目的 go.mod
文件中显式声明。
我们还添加了一个选项,可将软件包从项目导入路径和补全建议中完全排除。 您可以通过 Alt+Enter 或在新的 Exclude for import and completion 窗口(通过 Settings | Go | Imports 打开)中执行此操作。
GoLand 使发现变量掩蔽变得更加容易:
当您在测试文件中键入 func
时,GoLand 默认会在补全选项中建议 bench
和 test
实时模板。
当您在基准中键入 for
时,IDE 会提供使用包含 b.N
的 for 循环进行补全的建议。
现在,当您按 Alt+Enter 后,会立即在对话框中显示建议。 此外,新版本的 LanguageTool 语法检查引擎功能还改进了英语检查效果,并增加了对另外 10 种语言的支持。
GoLand 2020.3 支持 Code With Me (EAP),这是 JetBrains 为协作开发和结对编程提供的一项新服务。 利用 Code With Me,您可以与其他人共享 IDE 中当前打开的项目,并实时协同处理。
查看这些博文以了解详情。
我们重新设计了欢迎屏幕,使您可以立即访问:
在 Settings | Appearance & Behavior | Appearance | Theme 中选择 Sync with OS 选项以自动切换您的 IDE 主题来匹配您的操作系统偏好设置。
通过将标签页拖放到所需位置,即可水平或垂直拆分主编辑器屏幕。 拖动标签页时,编辑器将高亮显示您可以将其放置的位置。
我们改进了在 Project 视图中处理文件时的用户体验。 现在,当您从 Project 视图打开文件时,光标会自动置于编辑器上,这样一来,您可以立即开始处理代码。 按空格键后,IDE 将在 Project 视图中为您显示文件预览。
如果您想要在编辑器中同时打开多个文件,现在只需一个简单的快捷键即可实现。 在 Project 视图中选择文件并按 Shift+Enter,IDE 会拆分编辑器窗口并在右半部分中打开文件。
现在,VCS 菜单可以适应您当前正在使用的版本控制系统,重要 VCS 功能不再隐藏在子菜单中,因此可以更方便地访问。
现在,加入了一个非常实用的新 Git 暂存区域! 请注意,此功能仅适用于 Commit 工具窗口。
在 Settings | Version Control | Git 中勾选 Enable staging area 复选框即可开启。 勾选后,将禁用对更改列表的支持。
在提交 UI 中,您将找到暂存和未暂存的文件。 准备好暂存文件后,只需点击文件旁边的 + 图标。 该文件将在 Staged 节点下显示。 要向暂存区域添加更改,您也可以使用装订区域图标或 Show Diff。
分支的使用已得到改进:
我们添加了为当前项目或所有项目启用插件的功能,方法分别为选择 Enable for Current Project 或 Enable for All Projects。 在 Settings | Plugins 中,按想要启用或禁用的插件上的齿轮图标,然后选择所需选项。
macOS 系统快捷键按键映射 (Settings | Keymap) 旨在为您提供对系统快捷键兼容性加以扩展的替代 macOS 按键映射,并使您可以避免使用功能 (F) 键进行基本操作。
我们改进了分析器中火焰图的搜索机制及其可视化效果,使您可以更快地查找方法指标。 您可以点击放大镜图标或在 Flame Graph 面板内键入搜索请求。
此外,我们还添加了搜索字段以及可在搜索结果之间快速导航的向上/向下箭头,并支持在整个火焰图或仅在特定子树中进行搜索。
得益于 WebStorm 团队的付出,GoLand 现在可以在底层为 Web 开发提供丰富的支持。 在这方面,即将实施的一项更改是将支持通过未解析的引用创建 React 组件。 在未解析的组件上放置脱字符号,按 Alt+Enter,然后选择相应的检查。
GoLand 为 pnpm 软件包管理器以及 npm 和 yarn 提供了全面支持。 当您打开包含 pnpm-lock 文件的项目并且计算机上安装了 pnpm 时,GoLand 会自动将此项目的软件包管理器更改为 pnpm。 IDE 还在软件包管理器列表(位于 Settings | Languages and Frameworks | Node.js and NPM 下)中提供了专用的 pnpm 选项。
在 GoLand 2020.3 中,您可以选择手动检测还是自动检测 webpack 配置文件。 新选项位于 Settings | Languages & Frameworks | JavaScript | Webpack 下。
得益于我们 DataGrip 团队同事的付出,GoLand 支持的数据库家族迎来一个新成员 – Couchbase! 请注意,IDE 支持 Couchbase Query 服务,但不支持 Couchbase Analytics 服务。
GoLand 现在了解对象授权,并且会将它们显示在对象的 DDL 中。 这适用于 MySQL、PostgreSQL、Greenplum、Redshift 和 SQL Server。
我们改进了单独的单元格值编辑器:
我们新增了两个提取工具来帮助您更轻松地处理数据:
INSERT
语句。 此外,CSV 格式配置中现在添加了一个新选项:never quote values。