GoLand 2021.2 引入了新的 Go 模块功能、新的格式设置选项以及对 Go 1.17 功能的支持。 我们添加了新的快速修复,包括帮助您正确使用新的 //go:build
语法的修正。
版本控制已经更新,改进包括使用 GPG 密钥签署提交的功能。 对于 Web 开发者,我们增加了保存代码时在浏览器中自动重新加载页面的功能,并且为 MongoDB 字段和运算符提供了补全。
您是否想通过更具互动性的方法了解 GoLand 的新功能? 在 Welcome 界面上完成 What's New in GoLand 2021.2 教程。 您还可以找到我们的新 Onboarding Tour。 它可以帮助刚接触 GoLand 的人快速上手。
在 GoLand 2021.2 中,您可以在编辑 go.mod
时控制 IDE 如何调用 go list
,也可以手动加载 go.mod
文件更改。
转到 Settings | Build, Execution, Deployment | Build Tools,然后选择 External changes 选项。 当您在 IDE 中编辑文件时,GoLand 将自动停止调用 go list
。
您将看到 Load Go modules Changes 图标,可在完成编辑后点击该图标以手动加载更改。
如果您取消选中 Reload project after changes in the build scripts 复选框,您将在所有类型的更改(包括外部和内部更改)上看到 Load Go modules Changes 图标。
如果您使用的功能来自比 go.mod
文件指定版本更新的 Go 版本,GoLand 将显示错误。 对于数字文字和 //go:embed
语句,可以使用快速修复更改 go.mod
中的 Go 版本。
Welcome 屏幕上的 Go 选项现在是 Go 模块项目的默认选项。 我们还将基于 GOPATH 的项目重命名为 Go (GOPATH)。
replace
指令中未使用的依赖项现在以灰色高亮显示。 这有助于将其与错误区分。 把鼠标悬停在其中一条灰线上,即可看到“Unused dependency”消息。
如果需要下载未使用的模块,按 Alt+Enter 并选择 Download all modules to the module cache 选项。 您也可以下载单个模块。
我们在这一版本引入了 Run gofmt on code reformat 选项。 这是使 gofmt
在 GoLand 中更容易被发现的第一步,GoLand 具有自己的格式化程序。
选中此选项后,您可以使用快捷键 Ctrl+Alt+L 调用两个格式化程序,gofmt
将在 GoLand 的格式化程序之后运行。
此选项默认启用,可在 Settings | Editor | Code Style | Go 中切换。
GoLand 新增多项快速修复,可帮助您正确使用旧的 // +build
约束和新的 //go:build
语法。
第一个快速修复将根据新语法的要求把 //go:build
行移动到文件顶部。
由于在 Go 1.16 中,您既可以使用旧语法也可以同时使用两种语法,因此除了生成 //go:build
行,还有一项快速修复可以生成 // +build
行。
如果您导入了“C”软件包,但忘记在项目设置中启用 cgo 支持,GoLand 将显示带有 Enable cgo support 快速修复的横幅。
还有 Navigate to cgo import 选项,可将光标置于软件包名称的开头。 这可以帮助您在大项目中找到 import 语句。
Preview 模式现在也可用于应用程序调试。 允许您在一个标签页中连续打开文件,防止在不同标签页中打开多个文件导致编辑器混乱。
要在调试期间启用 Preview 模式,请转到 Settings | Editor | General | Editor Tabs 勾选 Enable preview tab 复选框。
在 Go 1.17 中,可以将切片转换为数组指针。 GoLand 不会把这些转换标记为错误。 要试用 Go 1.17 功能,请将 Settings | Go 中的 GOROOT 更改为“Go 1.17”。
从此版本开始,您可以导航到 internal
文件夹所含接口的实现。 点击装订区域,跳转到实现。 您也可以从接口的实现跳到接口的定义。
GoLand 2021.2 允许您使用 GPG 密钥签署提交以对其提供保护。 此功能可以通过 Settings | Version Control | Git 启用。
If this is your first time using a GPG key, you’ll first need to configure it. 要使用现有的预配置 GPG 密钥,您可以从下拉菜单列表中进行选择。
您现在可以在提交更改之前 Run tests 和 Analyze code。 转到 Settings | Version Control | Commit | Before commit 或点击 Commit 视图中的齿轮图标。
请注意,Run tests 选项仅在勾选 Settings | Version Control | Commit 的 Use non-modal commit interface 框后可用。
我们在 Local History 菜单中添加了一个新的搜索字段,可独立于版本控制跟踪更改。 它将帮助您在 Local History 修订中快速找到需要的文本。 要开始试用,请右键点击文件并转到 Local History | Show History。
请注意,Local History 不应用作 VCS 的替代品。 我们建议将 VCS 设为您跟踪更改的默认选择,并将 Local History 作为不得已的最后手段。
我们为存储所有未提交更改的节点提供了一个新名称。 过去其名为 Default Changelist,现已更名为 Changes。 这一更新将在所有新项目中默认可用。 此外,Git 操作将不再触发 changelists 的自动创建。
我们更改了附加项目在 Project 视图中的表示方式。 它们过去表示为现有项目的子目录。 附加项目现在作为单独的目录在 Project 视图中显示。
我们在 Settings 中新增了 Advanced Settings 节点。 它包含额外的配置选项,例如,允许您为 Distraction-free 模式配置左边距。
Settings 中还有新的导航选项。 您现在可以使用窗口右上角的箭头在不同部分之间导航。
GoLand 会在有新版本时发出通知,并为您提供直接从 IDE 更新到新版本的选项。 要使用此功能,您需要 JetBrains Toolbox App 1.20.8804 或更高版本。
您现在可以转到 Settings | Tools | Terminal 将内置终端中的光标形状更改为下划线或垂直。
Terminal 设置也有新的变化。 我们现在支持 Use Option as Meta key 设置。 Meta 键与另一个键同时按下时,Meta 键将暂时修改另一个键的正常操作。 如果您经常使用终端,建议使用 Meta 键。
我们简化了对话框,允许您在 Welcome 屏幕上的项目列表中自定义项目图标。 要上传自定义图标,只需右键点击项目并从上下文菜单中选择 Choose project icon。
当您编辑和保存 HTML、CSS 和 JavaScript 文件时,GoLand 现已能够更新浏览器中的页面。
默认情况下,保存时重新加载页面处于开启状态。 您可以在 Settings | Build, Execution, Deployment | Debugger | Built-in Server 中切换。
Refactoring 现在适用于 React hook 中的 useState
值和函数。 只需将文本光标置于状态值上并使用 Shift+F6 键调用 Rename 重构,或转到右键点击上下文菜单中的 Refactor | Rename。
GoLand 可以在您补全 ES6 符号时添加缺失的 import
语句,现在,它还可以对 CommonJS 模块实现相同功能 – 支持在 Code completion 时插入 require()
导入。
Code completion 现在适用于私有 npm 软件包。 GoLand 将让您可以浏览有关软件包最新版本的信息,与检查公共软件包一样。
Code completion 现在可以在 MongoDB 控制台中用于字段、嵌套字段和聚合表达式中的字段。 它也适用于查询和投影运算符、更新运算符和聚合阶段。
我们已经在 Settings | Tools | Actions on Save 中收集了所有可能的保存时的操作。您可以勾选待启用操作旁的复选框进行配置。
您还可以为任何操作进行更精确地配置设置。 将鼠标悬停在其上,点击配置链接,然后在出现的相关设置页面上微调操作。
GoLand 将自动清理距上次更新已超过 180 天的所有缓存和日志目录。 此过程不会影响系统设置和插件目录。
您可以使用 Help | Delete Leftover IDE Directories… 操作手动清理日志和缓存。
智能拼写和语法检查在 Go 文件中默认启用。 这些检查由 IDE 捆绑的 Grazie 插件提供。
要调整设置,请转到 Settings | Editor | Natural Languages | Grammar。
GoLand 现已提供完全本地化的中文、韩语和日语 UI。 本地化以非捆绑式语言包插件提供,可以轻松安装到您的 GoLand。
您现在可以跟踪 GoLand 在 Code With Me 会话期间向您的同事提供了哪些 Code completion 建议。 要使用此功能,您需要处于 Following 模式。