哈Ha! 上周发布了新版本的GoLand 2018.3。

在此更新中,您将发现许多调试和测试方面的改进。 这些是在Google App Engine平台,Testify框架,内存转储分析和Mozilla rr上调试的应用程序。
有一个新的变更签名重构,代码检查和功能自动完成功能。
此外,我们增加了对图表的支持,改进了重命名和内联重构,可以使用Go模板( text / html )以及适用于Git,Docker和Kubernetes插件的版本控制系统,等等。
更改签名重构
更改签名重构可更改功能和方法的签名。 它有助于设置新名称或移动,重命名,添加或删除参数。
如果您更改方法签名,GoLand将提供更新实施。
在应用重构之前,请查看预览面板中发生的情况。
面板中将显示所有应用了重构的文件和对象的列表。 如果需要更多详细信息,可以从面板转到项目中的任何可变符号。 如果结果不符合预期,则可以撤消更改。

重命名和内联重构
现在, 重命名警告了由于重命名而可能发生的冲突。 我们添加了一个对话,以报告问题并提供选择:忽略冲突,考虑或取消重构。

现在,可以立即看到应用内联重构的结果:GoLand突出显示了已更改的代码。

调试Google App Engine应用程序
在新版本中,调试器允许您在Google App Engine平台上本地运行和调试应用程序。
我们还添加了一个新的项目模板-App Engine 。 它包含具有基本配置设置的app.yaml
和具有请求处理程序的main.go
文件。

内存转储分析支持
有时,标准的调试工具无法在程序执行的某些时刻提供完整的画面说明。 在这种情况下,内存转储将有所帮助。
要开始在GoLand中分析内存转储,请在“ 运行”菜单中选择“ 打开核心转储 ” 。
要自动创建故障转储,请在“ 运行”配置的“ 环境”字段中输入GOTRACEBACK=crash
。
您只能在Linux上创建内存转储,但可以在macOS和Windows上对其进行分析。

证明支持
GoLand 2018.3支持Testify框架。 直接从编辑器运行测试套件和方法,如正常的测试功能。
如果测试失败,请在“ 比较失败”窗口中比较实际值和期望值。

代码检查
出现了两个新的代码检查: 未处理的错误和无法访问的代码。
未处理的错误警告有关返回错误的函数和方法,但是没有检查处理该错误的方法。

无法访问的代码标识了永远不会执行的代码段。

此外, 函数调用检查现在可以使用Finish Call Expression来自动更正错误,该检查可以将表达式转换为函数还是方法调用。

自动完成
GoLand 2018.3引入了一种新的功能自动完成功能。 想象一下,您是Golang世界的新手,您需要分界线。 您知道必须为此使用一个函数,并且很可能将其称为“ split
”。 该函数应将字符串作为第一个参数,但是您不知道该函数及其包的确切名称。 新型的自动补全功能可以轻松找到此类功能。
两次调用基本完成 (Ctrl +空格+空格)以查看所有可用的完成选项。

意向动作
添加格式字符串参数为给定的表达式生成格式说明符,将说明符插入格式字符串,然后将表达式作为说明符参数传递。

生成构造函数创建一个特殊的函数来初始化结构。

现在, Generate getter / setter可以让您编辑所生成函数的参数。

现在可以通过Generate菜单使用Generate Constructor , Generate getter / setter以及Generate getter和setter 。
调试器
现在,“ 评估表达式”和“ 监视程序”面板之间的对话框具有自动完成功能,检查功能和自动纠错功能。

转到模板( html / template )
Go模板( html / template )可用于代码完成和重命名重构,现在您可以从任何字符切换到它们的使用位置,并且格式得到了改进。

Mozilla rr
我们已将Mozilla的rr支持添加到Linux调试器中。 仅需两个按钮即可记录并播放程序。 要开始调试,您需要安装Mozilla rr 。
否则,除了Mozilla rr的特殊“ 倒带”按钮外,其他所有功能均与标准调试器中的功能相同。 它启动程序回到上一个断点。

图表
我们为可视化添加了图表支持:
- Go模块项目中的依赖项;
- JavaScript和TypeScript项目中导入和导出模块之间的关系;
- 数据库中的表与SQL之间的关系。

搜索和导航
现在, “在路径中查找”和“ 在路径中 替换”对话框可用于多行代码段。

搜索框Search Everywhere更快,并且结合了Go to type , Go to file , Go to symbol和Find actions 。 使用TAB在选项卡之间切换。

代码编辑器的改进
编辑器中的新图标不仅会告诉您已重新定义了哪些方法,还可以帮助您单击一下从一种这样的方法切换到另一种方法。

“完整的当前语句”会自动在复合文字(结构,字典等)中插入逗号,并将光标置于下一个语句的位置。

在GoLand 2018.3中,您可以定义一组文件,“ 重新格式化代码” ,“ 优化导入 ”和“ 重新排列”操作将不适用于这些文件。

IDE支持Go,JavaScript,TypeScript,CSS和SCSS中的文件的多行TODO注释。

版本控制系统
与Git集成现在在新窗口-GitHub Pull Requests中显示存储库的更改检查请求,并且还支持Git子模块。

有空
我们添加了新的高对比度主题,并改进了对屏幕阅读器的支持。

码头工人
docker插件在运行配置中支持CLI参数。 可以在Dockerfiles启动配置的新Build字段中使用以下参数: cache-from, cpu-shares, cpuset-cpus, force-rm, label,
memory, memory-swap, shm-size, no-cache, pull, quiet,
cache-from, cpu-shares, cpuset-cpus, force-rm, label,
rm.

Kubernetes插件
Helm模板中的代码完成, 重命名重构,代码检查和快速修复。

其他变化
- 现在,“ 打开项目”菜单中的“ 附加”操作使您可以在打开新项目期间直接添加目录。
- 现在,您可以将项目拖到欢迎窗口中以打开它。
- 活动监视器显示各种子系统和插件消耗了多少处理器资源: 活动监视器。
- 在IDE中查找和更新插件变得更加方便。 插件页面支持按标签搜索以及按下载,名称,评级,推荐或更新对结果进行排序。
- 索引项目要快得多。
仅此而已! 与往常一样,我们很高兴听到您的意见:在评论, Twitter或Bug跟踪器中写信给我们:)
您可以在下载页面或通过Toolbox App下载更新。
以防万一,我提醒您,如果您已经在使用IntelliJ IDEA Ultimate,那么GoLand的所有功能都可以在这里使用:只需安装此插件 。
感谢您的关注!