欢迎加入 GoLand 2020.1 抢先体验计划

GoLand 2020.1 抢先体验计划已经启动。对于此发行版,我们着重于易用性,性能以及减少浪费在样板代码和 IDE 中的冗余操作上的时间。我们还包括对 Go Modules 支持的升级,和其他更多功能。您可以在 2020.1 的路线图博客 文章中找到简短说明。

你可以通过 Toolbox App 获得它,也可以从网站上下载 ,也可以使用快照包(对于 Ubuntu);或者直接在 GoLand 中通过自动更新的方式获取。Preferences / Settings | Appearance & Behavior | System Settings | Updates

如果您想知道什么是抢先体验计划,这里有一个简短的解释:

EAP 版本使您可以试用 Goland 仍在开发中的最新功能和增强功能。这些版本尚未经过全面测试,可能会不稳定,但是您可以在这里为我们提供帮助。通过将这些内部版本和功能用于实际项目和场景中来测试,您可以帮助我们完善它们。这样,当最终版本准备就绪时,它将为您更好地工作。

  • EAP 使您可以首先试用所有最新功能;
  • 自构建日期起 30 天内免费使用 EAP 版本。您可以将这段时间用作 GoLand 的扩展试用版;
  • 我们会提供 EAP 版本,直到几乎可以发布稳定版本为止。对于即将推出的 2020.1 版本,EAP 期将大致持续到 3 月底;
  • 在每个发布周期中,我们都会为他们提供免费的 1 年 GoLand 订阅和一件独家的 GoLand T 恤 ,以表彰他们中最活跃的评估人员。

  • 此外,我们几乎每天都提供最新版本。因此,如果您不想等待正式的 EAP 版本公告,则只需下载这些夜间版本之一,即可通过 Toolbox App 获得。请注意,每晚构建的质量通常低于我们的标准,并且没有随附发行说明。与 EAP 版本一样,它们也将在发布后 30 天内过期;

因此,让我们看一下第一个 EAP 版本中包含的内容。

Go Modules

现在,您可以通过 go.mod 文件中的 Alt-Enter 来获取缺失的依赖项并删除未使用的依赖项。

Go 1.14 支持

Go 1.14 增加了对嵌入重叠接口的支持,我们也是如此!当您使用重叠的接口时,GoLand 不会将重复的方法报告为错误。

为什么将此功能添加到语言中?

主要好处是我们可以使用嵌入定义接口,而不需要手动定义。这是一个例子:

type Person interface {
	Name() string
	String() string
}
 
type Employee interface {
	Person
	Department() string
	String() string
}

在 Go 1.14 之前,我们无法在 Employee 接口上添加 String() 方法,因为该方法已在 Person 接口上定义了。现在,我们可以使用接口嵌入定义它,如果 Person 接口有更新,我们自己更可控。

代码补全/完成增强

我们对样板代码说不!GoLand 为常见的错误处理模式添加了代码完成功能。现在,当您在函数中键入if 时,您可以选择 err!= nil {…} 以自动完成它。

为了更快地定义接口和结构,现在,当您键入type 关键字时,IDE 会为它们建议模板。当您输入 interfacestruct 时,将显示相同的补全内容。

现在,根据格式设置规则的要求,Fill Fields 操作会在冒号后添加空格,并在复合文字中的语句末尾添加逗号。

现在,当您使用 map 时,完成键类型后,代码补全将光标移到右括号后面。

智能代码补全建议使用指向结构的指针。

最终,代码补全变得更加智能,现在在断言和 type-switch-case 中会首先建议兼容类型。

代码编辑增强

当编写多值返回函数的签名时,GoLang 2020.1 将在逗号后面的返回类型周围自动添加括号。

此外,当您在字符串中粘贴一些文本时,GoLand 会自动转义双引号。

Postfix 完成模板

.else Postfix 完成模板可以快速添加 if 语句,以检查表达式是否为假。

实时模板

我们添加了新的 consts, vars, types, 和 import 模板 。对于这些模板,默认情况下,GoLand 将在表达式周围添加括号。

fori 模板插入经典 for 循环的样板代码。

重构

现在,即使接口定义中省略了参数名称,Implement Methods(在 macOS 和 Windows/Linux 上为 Ctrl + I)也允许您指定参数名称。

性能

现在 Navigate to implementations(在 MacOS 上为 ⌥⌘B,在 Windows/Linux 上为 Ctrl + Alt + B)和 Navigate to Declaration or Usages(在 macOS 上为 ⌘B,在 Windows/Linux 上为 Ctrl + B)速度更快,因为它们首先在项目范围内寻找实现。另外,搜索结果在非项目元素之前显示项目元素,而不是按字母顺序对它们进行排序。

我们还限制了 dep 和 Go Modules 项目的参考搜索范围,以提高其搜索性能。

JetBrains Mono 字体

如果您想知道本博客文章中的屏幕截图和 GIF 使用的是哪种字体 — 我们在 JetBrains 上为开发人员创建了一种新的字体,称为 JetBrains Mono 。现在默认情况下它在 GoLand 中可用,请打开 Preferences / Settings | Editor | Font,然后选择 JetBrains Mono 尝试一下。

拼写检查器

前一段时间,我们宣布了一个名为 Grazie 的插件。此插件可为您在 IDE 中编写的文本提供智能的拼写和语法检查,并且支持 15 种以上的语言,包括英语,德语,俄语,中文等。在此 EAP 版本和即将发布的 2020.1 版本中,默认情况下捆绑了 Grazie。要了解更多信息,请阅读此博客文章

默认配色方案改回为亮色

许多用户要求我们为 Default 和 Darcula 配色方案中突出显示的语义代码增加更多种类,而我们在 2019.2 版本中进行了添加。一些用户很高兴,而其他用户则不满意,请我们还原更改。

因此,为了使所有人感到高兴,我们决定恢复默认配色方案,但使用了新名称 Classic Light。

要切换配色方案,请打开 Preferences/Settings | Editor | Color Scheme 选择。

JBR8 支持终止

从现在开始,我们将完全转向 JetBrains Runtime 11(JBR11),并且将不再分发带有 JetBrains Runtime 8(JBR8)的内部版本。请注意,IDE 和工具箱应用程序中的所有 GoLand 2020.1 更新都将随附 JBR11。

请记住,我们始终感谢您的反馈,因此请在留言区,Twitter 或 issue tracker 中与我们分享您的试用情况。

由 Ekaterina Zharova 在 2020 年 2 月 6 日发布

原文:https://blog.jetbrains.com/go/2020/02/06/welcome-to-the-goland-2020-1-eap/