GoLand 2021.2 发布了

polaris · · 3741 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

大家好,我是站长 polarisxu。 刚刚 JetBrains 官方发布了 GoLand 2021.2 正式版本,一起看看都有哪些变化! 先大概预览主要新功能:GoLand 2021.2 引入了新的 **Go 模块**功能、新的**格式设置**选项以及对 **Go 1.17** 功能的支持。同时添加了新的快速修复,包括帮助正确使用新的 `//go:build` 语法的修正。 版本控制已经更新,改进包括使用 **GPG 密钥签署提交**的功能。对于 Web 开发者,增加了保存代码时在浏览器中自动重新加载页面的功能,并且为 MongoDB 字段和运算符提供了补全。 可以下载试用 30 天:<https://www.jetbrains.com/zh-cn/go/download/>。 ## 01 Go 模块 ### 手动加载 go.mod 变更 在 GoLand 2021.2 中,你可以在编辑 `go.mod` 时控制 IDE 如何调用 `go list`,也可以手动加载 `go.mod` 文件变更。 转到 *Preferences | Build, Execution, Deployment | Build Tools*,然后选择 *External changes* 选项。 当您在 IDE 中编辑文件时,GoLand 将自动停止调用 `go list`。 ### 对不同 Go 版本的更好支持 如果您使用的功能来自比 `go.mod` 文件指定版本更新的 Go 版本,GoLang 将显示错误。 对于数字文字和 `//go:embed` 语句,可以使用快速修复更改 `go.mod` 中的 Go 版本。 ### 处理未使用的依赖项 `replace` 指令中未使用的依赖项现在以灰色高亮显示。 这有助于将其与错误区分。 把鼠标悬停在其中一条灰线上,即可看到“Unused dependency”消息。 如果需要下载未使用的模块,按 ⌥+Enter 并选择 *Download all modules to the module cache* 选项。 您也可以下载单个模块。 ## 02 格式化程序 在这一版本引入了 *Run gofmt on code reformat* 选项。 这是使 `gofmt` 在 GoLand 中更容易被发现的第一步,GoLand 具有自己的格式化程序。 选中此选项后,您可以使用快捷键 ⌘+⌥+L 调用两个格式化程序,`gofmt` 将在 GoLand 的格式化程序之后运行。 此选项默认启用,可在 *Preferences | Editor | Code Style | Go* 中切换。 ## 03 更多快速修复 ### 新的 //go:build 约束格式化支持 GoLand 新增多项快速修复,可帮助您正确使用旧的 `// +build` 约束和新的 `//go:build` 语法。 第一个快速修复将根据新语法的要求把 `//go:build` 行移动到文件顶部。 由于在 Go 1.16 中,您既可以使用旧语法也可以同时使用两种语法,因此除了生成 `//go:build` 行,还有一项快速修复可以生成 `// +build` 行。 ### 一键启用 cgo 支持 如果您导入了“C”软件包,但忘记在项目设置中启用 *cgo* 支持,GoLand 将显示带有 *Enable cgo support* 快速修复的横幅。 还有 *Navigate to cgo import* 选项,可将光标置于软件包名称的开头。 这可以帮助您在大项目中找到 *import* 语句。 ## 04 调试器 *[Preview](https://www.jetbrains.com/help/go/using-code-editor.html#preview-tab)* 模式现在也可用于应用程序调试。 允许您在一个选项卡中连续打开文件,防止在不同选项卡中打开多个文件导致编辑器混乱。 要在调试期间启用 *Preview* 模式,请转到 *Preferences | Editor | General | Editor Tabs* 勾选 *Enable preview tab* 复选框。 ## 05 Go 1.17 在 Go 1.17 中,可以将切片转换为数组指针。 GoLang 不会把这些转换标记为错误。 要试用 Go 1.17 功能,请将 *Preferences | Go* 中的 GOROOT 更改为“Go 1.17beta1”或“Go 1.17rc1”。 ## 06 快速导航 从此版本开始,您可以导航到 `internal` 文件夹所含*接口的实现*。 点击间距,跳转到实现。 您也可以从接口的实现跳到接口的定义。 ## 07 其他变更 其他更多变更可以通过这里查看:<https://www.jetbrains.com/zh-cn/go/whatsnew/>。现在还有中文 UI,对中文支持更友好。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3741 次点击  
加入收藏 微博
7 回复  |  直到 2021-09-17 15:11:51
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传