惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
Lohrmann on Cybersecurity
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
TaoSecurity Blog
TaoSecurity Blog
博客园_首页
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Last Week in AI
Last Week in AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
The Exploit Database - CXSecurity.com
量子位
Project Zero
Project Zero
A
Arctic Wolf
小众软件
小众软件
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News and Events Feed by Topic
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Troy Hunt's Blog
P
Privacy & Cybersecurity Law Blog
Security Latest
Security Latest
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
Schneier on Security
Schneier on Security
The Hacker News
The Hacker News
K
Kaspersky official blog
C
Check Point Blog
Hacker News: Ask HN
Hacker News: Ask HN
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
人人都是产品经理
人人都是产品经理
AI
AI
Cisco Talos Blog
Cisco Talos Blog
MyScale Blog
MyScale Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
S
Schneier on Security
P
Palo Alto Networks Blog

文章列表 on polarisxu

通过一个例子让你彻底掌握 Go 工作区模式 这道题正确率竟然只有 22% Go 开源项目推荐:一个简单的 Go 练手项目 go test 如何禁用缓存? Go1.18 快讯:constraints 包被移除标准库 跟着 Go 作者学泛型 「2022 版」轻松搞定 Go 开发环境 鹅厂小哥用行动反对加班:程序员加班能被终结吗? Go 为什么选择 Gopher 作为吉祥物? 本地如何配置多个 GitHub/Gitee 账号? 为 Java 开发者准备的 Go 教程 02:Java 有而 Go 无 GitHub 发现了 studygolang 项目依赖的漏洞 Typora 宣布收费后,这款开源 Markdown 编辑器火了 为 Java 开发者准备的 Go 教程 01:漫游了 我的 2021 年终总结 泛型版 singleflight:Go 中如何防止缓存击穿? 2021 年你写了多少代码?这个 Go 工具帮你统计 Go1.18 新特性:TryLock Go 泛型入门教程 程序员瑞士军刀:各种结构的转换工具 终于有 Go 版的 Elasticsearch 了 Go泛型系列:maps 包讲解 Go 1.18 中的 any 是什么? Go1.18 快讯:新的 IP 包 Go编程模式:详解函数式选项模式 Go泛型系列:slices 包讲解 Nginx 竟然也有 playground — Go 语言构建的 Go泛型系列:Go1.18 类型约束那些事 Go1.18 快讯:Module 工作区模式 Go1.18 快讯:新增的 Cut 函数太方便了 Go1.18 快讯:废弃了这个 API Go1.18 快讯:新增字符串 Clone API Go:如何获得项目根目录? Go 如何获取和设置环境变量 重磅变动:更快找到微信公众号里的Go文章 Go 这样设置版本号:我们的项目也可以 假期结束,推荐 2 本 manning 出的 Go 图书 Go Fiber 框架系列教程 04:测试应用 Go Fiber 框架系列教程 03:中间件 Go泛型系列:提前掌握Go泛型的基本使用 推荐一个 Go GUI 实战项目 Go Fiber 框架系列教程 02:详解相关 API 的使用 Go Fiber 框架系列教程 01: 和 Express 对比学习 Go Module:私有不合规库怎么解决引用问题 Go1.17 新特性:go get 变了 Go1.17 新特性:testing 包的相关变化 StackOverflow 上关于 Go select 死锁的问题 新书推荐:用 Gin 框架构建分布式应用 Go 官网要变天。。。 Gin 这是要成为 Go 官方框架? 扬眉吐气:刚刚,Go 已经默认支持泛型了 Go 1.17 新特性:Module 有哪些变化? Go 第三方库推荐:类型转换如此简单 担心密码提交到 GitHub?建议使用这个 Go 开源工具 Go 的时间格式化为什么是 2006-01-02 15:04:05? GitHub 为 Go 社区带来安全支持 Go开源项目推荐:500行代码确认请求时间花在哪 一道关于 len 函数的诡异 Go 面试题解析 厉害了我的 Go:推荐系统都有开源实现 Go1.17 新特性:新版构建约束 这个工具真好:看看你的Go项目依赖有无漏洞 网友很强大,发现了Go并发下载的Bug Rust 劝退系列 09:函数 Go项目实战:一步步构建一个并发文件下载器 这本 Go 新书挺期待的:100 个常见错误 Go 启用新的官方问答社区 这是要干嘛?!微软招 Go 编译器全职开发人员 Go1.17 快报之标准库越来越注重易用性 Go1.17 新特性之切片变数组 回顾 Go 官网的演变史 站长8年前的Go代码竟然进入大厂的项目里了 Go图书翻译:一个好消息,一个坏消息 不怕烂尾!决定组织翻译这本 Go 图书 Rust 劝退系列 08:模式匹配 一本花了2.5年写成的Go免费在线图书 被黑惨了:一句话,说明自己会 Go,咋整? Go1.16 中的新函数 signal.NotifyContext 怎么用? Go 1.17 新特性提前学之测试执行随机化 Rust 劝退系列 07:流程控制 官方的 Go 多版本管理:使用和原理 Rust新书:给你一个劝退的理由 周刊题解:常量表达式这个规则应该了解下 盘点那些使用 Go 语言的国外公司 编写了50万行Go代码是一种什么体验 Rust 劝退系列 06:常量 Uber 使用 Go 的规模这么大?!都自己定制的 Go 编译器了 Go Team Leader — rsc 大神新开源了一个库,增强模板功能 再一次看到了 Go 的节制:int128 类型要不要支持? Rust 劝退系列 05:复合数据类型 「卷」有理论依据:海勒姆定律—Go又是怎么卷的 Go 真的也可以进行 GUI 开发:还有这样的图书呢 Rust 劝退系列 04:基本数据类型 我的 Go 语言书单 Rust 劝退系列 03:变量 我又来推荐免费 Go 新书了:一本用 Go 讲架构的书 注释竟然还有特殊用途?一文解惑 //go:linkname 指令 这个功能,公众号、微信群会不会被玩坏? 一道 Go 闭包题,面试官说原来自己答错了:面别人也涨知识 Rust 劝退系列 02:第一个 Rust 程序 Rust 劝退系列 01:打造开发环境
GoLand 2020.2 Beta 版发布:go.mod 升级以及对泛型的实验性支持
2020-07-16 · via 文章列表 on polarisxu

GoLand 2020.2 达到 Beta。这意味着我们将结束一连串的新功能开发,将重点转移到完善我们已经完成的工作上,并开始计算发布日之前的日子!

与我们的“抢先体验计划”版本相比,该测试版非常稳定,但请记住,可能仍然在某处存在 Bug。

同样请注意,此 Beta 版本是 EAP 周期中的最后一个版本,不需要订阅即可使用(如果您只是想尝试 GoLand,请尝试)。测试版通常会在发布候选版本之后出现,一旦我们发现该版本足够好并且可以在您的计算机上安装了。

在此发布周期中,我们为即将推出的 GoLand 2020.2 打包了 Go 模块的新功能,更好地呈现了代码中可能存在的问题和薄弱环节,提供了新的代码检查功能以及新的代码编辑功能,例如期待已久的 “Add Caret Per Selected Line”,改进了后台流程,使其更透明,更快,更多!

让我们来看看即将发布的版本中的新功能。选择您感兴趣的主题,或浏览整个博客文章以了解每个新功能。

  • Go Modules
  • Generics a.k.a. Type Parameters
  • Code Editing
  • Code Inspections
  • Take Variadic Arguments Under Сontrol
  • References from Comments
  • Save Projects as Templates
  • Under the Hood Processes
  • Version Control

Go Modules

支持 GOMODCACHE 环境变量

从 Go 1.15 开始,可以使用新的 GOMODCACHE 环境变量将 Go Modules 缓存的默认位置从 $GOPATH/pkg/mod 更改为另一个文件夹。

为此,只需在 “Preferences/Settings | Go Modules | Environment” 设置 GOMODCACHE 即可。

IDE 将识别自定义位置,并将其用于具有依赖关系的所有后续操作。同步依赖项快速修复程序(可通过 Alt + Enter 实现)会将依赖项下载到 GOMODCACHE,外部库也将在新的自定义位置显示依赖项。

行注释(在 Windows/Linux 上为 Ctrl + /,在 macOS 上为 ⌘ + /)可用于 go.mod 文件。

现在,当您键入 replace,exclude 和 require 语句的左括号时,GoLang 立即自动为你添加右括号。

泛型(又称类型参数)

6月16日,Go Team 宣布了泛型(也称为类型参数)设计草案。请访问 Golang 文档以获取有关该概念的完整详细信息

这是一个重大的发展,因此我们立即着手增加对它的支持。GoLand 2020.2 Beta 提供了对泛型的实验性支持,您可以通过在 Settings/Preferences | Go 启用对泛型的实验性支持。

此初始支持提供语法高亮显示和基本参考解析,并且仅在 go2 文件中有效。

请注意,有关泛型的工作仍在进行中,我们目前尚无法提供全面的支持。

尽管如此,请分享您的体验和您可能有的任何建议。它确实可以帮助我们完善到目前为止已完成的工作,因此我们可以使其可靠并使用更高级的功能进行填充。

代码编辑

想要将快速修复的结果应用于代码之前预览其结果,请使用 Alt + Enter 快捷方式调用显示上下文操作,选择所需的快速修复,然后在 macOS 上按 Alt + Space 或在 Windows 和 Linux 上为 Ctrl + Shift + I。

新的“按选定的行添加插入(多行操作)”操作会在每个选定行的末尾插入,并取消选择这些行。在 Windows/Linux 上使用快捷键 Alt + Shift + G 或在 macOS 上使用 ⌥ + ⇧ + G 调用它。

Preferences/Settings | Editor | Code Style | Go | Wrapping and Braces 中为调用参数,函数参数和复合文字元素配置换行。或者,您可以使用 Alt + Enter 键,调出 Put arguments on separate lines 和 *Put arguments on one line,*以手动拆分和合并元素。

代码检查

GoLand 2020.2 有了一个新的检查部件(Inspections Widget)!它位于代码编辑器的右上角,显示当前文件中的警告,错误和错别字数量。您可以使用箭头图标或“下一个错误”操作(F2)遍历它们。

该小部件可让您配置突出显示级别(从无、仅错误或所有问题中选择),更改检查的严重性级别以及切换紧凑视图。

我们还添加了一个“问题视图”工具窗口,该窗口显示当前文件中的警告和错误列表,为您提供这些问题的描述,并让您立即使用 Alt + Enter 进行修复。在“问题视图”工具窗口中右键单击问题,以直接移至发生错误的代码行。要打开“问题视图”,请单击“检查”小部件或转到 View | Tool Window | Problems

GoLand 2020.2 现在在所有情况下都在项目视图中标记包含错误的文件,以使您更容易发现它们。

现在,新的代码检查可以处理 string(int) 转换可能出现的问题,这些转换返回 Unicode代码点 x 的 UTF-8 表示形式,而不是预期的 x 十进制字符串表示形式。GoLand 将通知您有关此类潜在错误的信息,并提供专用的快速修复程序。

GoLand 会通知您有关测试和示例的常见错误用法,因此您不再需要为此而明确地使用 go vet。在简单情况下,IDE 还提供了快速修复程序。例如,它建议将 Testme 重命名为 TestMe。

格式错误的 struct tags 代码检查将检查 struct tags 是否符合 Go 约定,并通知您潜在的问题。

不可能的接口类型断言代码检查将检查类型断言 v.(T) 和相应的 type-switch case,其中 v 的静态类型 V 是无法实现目标接口 T 的接口。这发生在当 V 和 T 包含相同名称但签名不同的方法时。

在控制下接受可变参数的论证

引入变量重构(在 Windows 和 Linux 上为 Ctrl + Alt + V,在 macOS 上为 ⌘ + ⌥ + V)可以将一些可变参数打包到新的 slice 变量中;相反的,内联变量(在 MacOS 上为 ⌥ + ⌘ + N 和在 Linux 上为 Ctrl + Alt + N),则将切片分解为可变参数。

此外,您现在可以通过 Unpack slice 快速修复来处理解包的可变参数的问题。

注释中的引用

IDE 显示注释中对相关程序包级别声明的引用,并允许您通过“导航到声明或使用”操作(在 macOS 上为 ⌘ + B,在Windows / Linux上为 Ctrl + B)来跳转。

将项目另存为模板

现在,您可以通过将项目或文件另存为自定义项目模板来重复使用它们:选择 Tools | Save Project as Template。IDE 将使用文件、文件夹和构建配置重新创建项目树。

后台进程

更好地解决带有 Vendor 文件夹的项目

启用 vendoring 模式后,仅使用项目中 Vendor 文件夹中存储的依赖项包来构建应用程序。

现在,如果项目有一个 vendor 文件夹,并且您已经选中了 Settings/Preferences | Go | Go Modules 中的 Enable vendoring mode**automatically,这时只会使用 vendor 文件夹,而不会查询模块缓存。一个重要的优点是您可以更快地发现未解决的依赖项。

Go list 命令

GoLand 依序运行 go list 命令,并提供一个进度条,其中包含有关队列中 go list 命令的实际数量的信息。

版本控制

WSL2 在 Windows 上对 Git 的支持

GoLand 2020.2 将允许您使用 WSL2 中的 Git,该版本在 Windows 10(2004 年 5 月更新)的本地版本中可用。如果 Windows 中未安装 Git,GoLand 将在 WSL 中自动查找 Git 并使用它。对于从 WSL 打开的项目,它还将自动从 WSL 切换到 Git(通过 \wsl$ 路径)。

改进的 Git 操作对话框

我们针对 Merge, PullRebase 之类的操作重新设计了 Git 对话框,以使它们更加一致和好用。我们还使您更容易理解将执行哪个 Git 命令,并在 “Pull” 对话框中添加了 –rebase 选项,在“Merge”对话框中添加了–no-verify 选项。

全面支持 GitHub Pull Request

GitHub Pull Requests 配备齐全!在不离开 GoLand 的情况下浏览,分配,管理,甚至合并拉取请求,查看时间线和内联注释,提交注释和评论以及接受更改。

从日志中压缩(Squash)本地提交

现在,您可以在 Git 工具窗口的“日志”选项卡中选择多个本地提交,并将其压缩为一个。可以从右键单击上下文菜单中执行此操作。

改进了“比较分支”结果的表示方式

现在,当您在 GoLand 中比较 2 个分支时,可以在一个视图中查看比较后的分支的提交。IDE 现在将在编辑器中而不是在 VCS 工具窗口中打开要比较的两个分支的日志,在该窗口中没有足够的空间来显示所有信息。

原文链接:https://blog.jetbrains.com/2020/07/16/goland-2020-2-reaches-beta/

作者:Ekaterina Zharova

日期:2020-07-16

编译:polarisxu