哈Ha!
两周前,我们发布了GoLand 2019.3。

此版本对我们的团队来说是特殊的,与以前的版本不同。 自从插件将GoLand扩展为独立的IDE以来,已经过去了两年。 一直以来,我们一直在尝试添加尽可能多的功能:从一组重构,与探查器集成,对Go模块的质量支持,代码检查和自定义主题,到直接从IDE下载和安装任何版本的SDK的能力。
在此版本中,我们决定专注于提高性能,修复较小的错误,缺陷和具有意外行为的方案。 但是,他们无法抗拒,仍然添加了一些新内容:)
简而言之,则:
- GoLand 2019.3消耗更少的CPU资源,并且比以前快得多。
- 增强了对Go模块的支持。
- 添加了许多新的快速修复功能和重构功能。
- 检查仅显示针对特定代码的最适当的快速修复。
- 现在,您可以在MacOS或Windows上使用Mozilla rr远程调试应用程序。
- 所有新项目的文件监视程序都有全局默认设置。
- 受MongoDB支持。
- 我们在IDE中添加了交互式课程:一方面,这是学习新功能的另一种方法,另一方面,它是立即进行实际测试的机会。
性能表现
我们努力使IDE更快并且消耗更少的资源。 主要结果-减少了启动时间。
请注意,结果可能会因项目大小,设备寿命,RAM和磁盘空间量而异。
在以后的版本中,将继续提高性能。

转到模块
GoLand 2019.3具有go.mod文件的语法突出显示功能,并代表导入的模块导航到带有源代码的文件夹。 在特定的依赖项导入路径上,在MacOS上按⌘+ B或在Windows / Linux上按Ctrl + B ,GoLand将带您进入Project View中的源。
此外,Go模块现在显示为具有完整的导入路径,并且它们的版本由“ 项目视图”窗口中的静音字体颜色表示。

调试器
调用内联字段方法
现在,在调试器中的“ 评估表达式 ”允许您直接调用内联字段方法。

使用Mozilla rr进行远程调试
从GoLand 2018.3开始支持使用Mozilla rr进行调试,但以前仅在Linux上有效。 现在,您可以在Linux上启动服务器,并在MacOS或Windows上远程调试程序。 方法如下:
- 在远程计算机上记录程序执行跟踪。
- 在远程计算机上运行调试器:
dlv --headless --api版本2 -l本地主机:2345 Repay / path / to / trace / dir / path / to / binary 。
请注意,Mozilla rr仅在Linux上可用。

新的快速修复
处理未使用的参数
现在,GoLand突出显示未使用参数的名称和类型,或者突出显示方法签名的实现中涉及的类型的名称。
在后一种情况下,IDE提供了两个快速修复程序供您选择: 删除参数名称和重命名为_ 。 为用作功能类型的功能和方法提供了相同的行为。
要一次删除所有未使用的参数,请按Alt + Enter并使用快速修复删除所有未使用的参数 。

创建缺少的方法或函数
如果将以前未声明的函数或方法用作函数文字,则GoLand建议创建它们。 只需按Alt + Enter,然后选择“ 创建方法/功能” 。

改进的软件包别名处理
GoLand现在可以在任何项目文件中基于通过Alt + Enter使用的别名导入软件包。

重构
变更签名
现在,“ 更改签名”始终在“ 参数”和“ 结果参数”选项卡中显示参数类型。 为了在签名中组合相同类型的参数,“ 重用类型”选项很有用。
此外,您将发现两个新的Intention动作: 重用签名类型将在一个声明中组合所有相同的参数定义,相反, Expand签名将通过Alt + Enter向每个参数添加类型。

提取变量并重命名
提取变量和重命名为变量提供适当的名称,从而分析上下文。 例如,对于具有错误处理的表达式, err ,对于context.Context, ctx ,等等。

代码检查
现在,代码检查工作更加紧密。 我们减少了在编辑器中突出显示潜在问题的范围,因此,当您通过Alt + Enter调用上下文菜单时,仅显示针对特定代码段的最合适的快速修复程序。

代码编辑
编辑器对符文 文字的 改进
我们使用符文文字改进了编辑器的工作:
- GoLand提供了更清楚,更简短的错误消息,解释了为什么表达式不正确。
- 在编辑后,GoLand不会将正确的符文文字高亮显示为错误。
- 处理无效的符文文字会更稳定。

重新分配语法突出显示
Go允许您使用var short声明左侧的现有变量。 因此,看起来相同的两个表达式可能具有不同的含义。 为了使这一点更容易注意到,我们添加了语法突出显示以进行重新映射。

复合文字的折叠代码块
在GoLand 2019.3中,您可以折叠复合文字的代码块。 使用单选按钮添加或分解一段代码(在Windows上按Ctrl + NumPad Minus / Ctrl + NumPad Plus ,在MacOS上按 ⌘+ NumPad Minus / ⌘+ NumPad Plus )。 要配置代码块的折叠行为,请转到“设置” /“首选项” |“设置”。 编辑器 一般| 代码折叠 。

实时模板
for和forr的实时模板为变量提供了有意义的名称,为接收者提供了有效的方法。 例如,将为索引建议名称i和index; 用于变量,s,字符串或行。

导览
仅在选定区域中搜索
现在,使用“ 查找”操作(在MacOS上为⌘+ F ,在Windows / Linux上为Ctrl + F ),您现在可以在有限的区域中搜索所需的代码段。 在编辑器中选择所需的片段,然后调用查找 -GoLand将仅在选定区域中搜索。 要轻松切换到搜索整个文件,请再次按⌘+ F / Ctrl + F或使用工具栏中的“ 选择中”选项。

在文件掩码中使用“查找路径”
现在,当将“ 在路径中查找”对话框与文件掩码选项一起使用时,GoLand会在搜索结果中显示文件扩展名,以使区分名称相同的文件更加容易。

所有新项目的全局文件监视程序
在GoLand 2018.2中,我们添加了Global File Watcher,以使用Project和Global选项在已创建的项目之间交换第三方工具设置。 在新版本中, 默认情况下 ,您可以在创建或打开的所有新项目中启用File Watchers的全局设置 。
从文件菜单中,选择其他设置|。 新项目的设置 ,请转到工具| File Watchers ,添加一个新的Global File Watcher,然后选中它旁边的框,以将其包括在所有新项目中。

互动课程
当最后期限迫在眉睫时,您就没有时间研究新功能,发行说明,阅读有关该产品的新文章。 因此,我们增加了交互式课程-在适当时机,它们将帮助您了解GoLand的功能。
这些课程在项目列表上方的欢迎屏幕上。 将IDE更新到新版本后,将出现有关新版本的课程。 此外,可以使用任何项目中的工具窗口打开教程。

杂项
层次结构
“ 层次结构”窗口可以分析方法调用的层次结构。 两个新按钮使您可以在从当前调用的方法或调用当前方法的方法之间切换。 现在,您还可以按字母顺序对树元素进行排序。 要在“工具窗口”列表中查看“层次结构”,必须首先构建层次结构,然后转到“ 导航” |“层次结构” 。 调用层次结构或导航| 键入层次结构 。

快速安装主题插件和键盘布局
在GoLand 2019.3中,您可以安装和删除键盘布局插件和配色方案插件,而无需重新启动IDE。

自定义快捷方式将焦点返回给编辑器
您可以为将焦点返回到编辑器的操作设置快捷方式,而无需使用ESC按钮。 在“ 首选项/设置” | “ 焦点”中找到“ 焦点编辑器”操作。 键盘图 ,右键单击它,然后从下拉菜单中选择添加键盘快捷键 。

对比滚动条
我们添加了使滚动条更加可见的功能。 为此,请在“ 首选项” /“设置” |“设置”中选择“ 使用对比度滚动条”复选框。 外观与行为| 外观 。

VCS支持增强
更新的克隆对话框
VCS下的“新建克隆”对话框| 从版本控制获取 。 现在,您可以直接从更新的对话框中登录到GitHub帐户。 如果您已经登录,IDE会立即显示按您所属的帐户或组织分组的所有存储库的列表。

有关合并冲突原因的信息
如果在合并,重新设置基准和选择樱桃的操作期间发生冲突,您现在可以在“合并”对话框中了解有关更改来源的更多信息。 只需单击“ 显示详细信息”即可查看导致代码当前状态的提交列表。

数据库支持改进
MongoDB支持
GoLand 2019.3为MongoDB提供了初步支持。 现在您可以:
- 在数据库浏览器中浏览集合和字段。
- 以表格形式逐页浏览集合。 您可以按值排序并使用过滤器。
- 运行查询:在上面放一个小车,然后按Ctrl / Cmd + Enter或工具栏上的“ 运行”按钮。

使用Google搜索连接错误
现在,您只需按一下IDE中的一个按钮即可开始调查连接错误-GoLand将在Google搜索引擎中打开错误结果。

仅此而已! 感谢您阅读到底! 我们欢迎您的反馈,并尝试回答任何问题。 在评论中, Twitter或Bug跟踪器中与我们联系 。
您的JetBrains GoLand团队
发展动力