本文大部分翻译自官方更新文档,如有错误还行指出。
原文链接
GoLand在2019.3.27日更新了2019年的第一个版本。带来了如下的新功能:
支持Memory, CPU, Mutex, and Block profilers
对于Test或者Benchmark,点击左侧小箭头可以发现,多了几个选项。
GoLand通过集成CPU、Blocking、Memory和Mutex分析器扩展了它的工具支持。您可以从IDE开始分析您的应用程序,然后在一个专用的工具窗口中查看分析结果(查看|工具窗口|分析器)。 为了更好地理解代码中可能存在的性能问题,请按每种特定的探查器类型的可用指标对结果进行排序; 使用火焰图表,调用树和方法列表选项卡; 甚至导航到源代码来检查问题。 点击CPU Profile看下效果
支持采样时间和CPU时间
火焰图
支持鼠标滚轮缩放调用关系图
方法列表
跳转
点击右键可以实现调到源码等操作。
实现
可以看出实际的命令和命令行手动输入是相同的,-test.cpuprofile
,GoLand在解析的过程中做了工作,显示到IDE中。
智能单步调试
快捷键Shift+F7
借助新的调试器操作智能单步执行,调试一系列调用和嵌套方法调用变得更加容易。它允许您进入表达式中的任意调用,自动跳过您不感兴趣的方法。 对于这样一行代码
fmt.Printf("My name is %s, I am %d!", me.FullName(), me.Age())
你可以选择专门进入Age()。要调用Smart Step Into,请按Shift + F7或在“运行”菜单中选择“智能步入”。
新的重构
抽取interface
快捷键Ctrl+Alt+Shift+T
这个功能可帮助您根据所选类型快速创建新的接口。重构对话框显示了要传输到新接口的建议成员列表。 您可以为接口指定名称,并选择应放置它的文件,目录或包。 如果类型已经实现了任何接口,它将自动从列表中排除。
更强大的重命名功能
快捷键Shift+F6
重命名重构还有助于重命名接口中声明的方法。 重命名此类方法时,GoLand也会提供重命名它们的实现。“查找工具”窗口中的“重构预览”面板允许您查看当前重构将会产生什么影响,使用情况按它们在项目中的类型和位置分组。
Nil值分析
Go给了我们很多方法让零值变得有用,但是我们拥有的机会越多,就越容易陷入陷阱。全新的Nil值分析是一组代码检查,旨在即时检测变量在各种情况下是否具有零值或零值,并提醒您潜在的错误和问题。
调试器的改进
使用Goroutines替换threads
调试器输出现在显示goroutines而不是线程。 在它们之间切换,快速导航到标准Go库,并获得有关代码执行方式的更多信息。另外,使用Copy Stack
(右键单击goroutine列表)将整个帧堆栈复制到剪贴板。
将int以二进制、十进制、十六进制显示
现在,您可以选择是否在调试器视图中以二进制、十进制或十六进制的形式显示int变量。右键单击一个变量,并在View as
下选择适当的或首选的选项。
运行到鼠标所点击的位置
现在可以通过在调试时单击行号来运行“运行到光标”操作。 将鼠标悬停在一条线上以突出显示它。 单击行号以运行到光标。
支持minidumps
除了研究核心Core Dump之外,现在还可以在IDE中打开和分析windows minidumps。与Core Dump一样,选择Run | Open core Dump也很简单。
什么是Core Dump
Core
的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix
程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped
). 这时候可以查看一下有没有形如core
.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考.core dump
又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump
.
使用sudo运行Go配置
现在可以使用sudo运行Run/Debug
配置。 它允许您调试需要特权操作的应用程序作为用户。
新的主题
全新的UI主题问好!现在可以通过插件使用深紫色、青色和灰色主题。从2019.1开始,所有基于IntelliJ - IDEA的集成开发人员都可以获得所有用户界面元素的完全可定制的颜色。你可以随便改变任何东西的颜色!
可以尝试一下这个骚紫的主题。 安装方式:setting -> Plugins 中搜索Dark Purple
从IDE直接安装任何Go SDK
点击加号,选择Download在GoLand中创建新项目时,现在可以选择下载并安装任何所需版本的SDK,包括Beta和RC版本。 您不必离开IDE或再次通过Web浏览。一旦安装了所选的SDK版本,GoLand就会在“事件日志”窗口中通知您。
更新 Go Modules
Vendor模式
Go Modules项目模板获得一个新的Vendoring mode复选框,它允许您使用vendor文件夹中的库,而不需要任何外部依赖关系或连接到Internet。 通过“首选项”|中的设置也可以使用相同的复选框 Go| Go Modules(vgo)。
完成从未导入过的模块
GoLand在您键入时为模块缓存中的所有模块提供代码完成建议。这意味着,即使一个模块从未在您的项目中被导入和使用,GoLand仍然知道它。
新的命名规则
声明操作的集合
快捷键Alt+Enter
我们添加了一组操作来帮助您按照自己的方式重新格式化声明:在声明中添加/删除括号,合并声明,将声明拆分为两组,逗号等等。
导出私有类型
新的导出意图操作允许导出私有函数、类型或字段,而无需在包之间切换。此外,GoLand现在解析对未导出符号的引用,但它仍然会通知您这是一个错误。
一些便利的变化
Sublime Text键映射
新的预配置Sublime Text键映射可在Preferences | Settings | Keymap
中找到 。
最近弹出窗口
快捷键Ctrl+Shift+E
最近位置弹出窗口是一种在项目中导航的新方法。 它显示了最近访问/更改的代码位置列表,作为代码片段,在该位置之前和之后有几行。 要过滤结果,请开始键入并跳转匹配的代码段。
用于web开发的项目模板
用于Web开发的项目模板(如React App,React Native,HTML5 Boilerplate和Foundation)可从Welcome
屏幕获得。
将“代码样式”设置导出到JSON
现在可以将代码样式设置导出为JSON。 这是在Preferences /Settings | Editor | Code Style
下可用的导出到XML的已有选项。
版本控制改善
部分Git的“取消全部选中”复选框
部分Git提交的新的Uncheck all复选框(git add -p)允许您一次取消选中所有代码块,并允许您选择要提交的代码块。
Fixup
和Squash Into
操作
VCS中的“日志”选项卡获得Fixup
和Squash Into
操作,以创建具有Fixup
和Squash
信息。此外,您现在可以使用日志选项卡上的上下文菜单从提交中挑选选定的文件。
输入和输出提交的指示
如果您转到Preferences/Settings | Version Control | Git
,并在分支弹出窗口中选择Mark Branches that have incoming/outgoing commits in the Branches popup
,集成开发环境将指示传入和传出提交是否可用于单个分支。
注释中的作者姓名首字母
此外,IDE还允许您选择在VCS注释中显示作者的首字母或全名。
End
本人喜欢用goland进行Go语言开发,这次更新个人认为是鼠标党的又一福利,而且免去了复杂命令的记忆。