GoLand 2020.1 路线图公布
GoLand 开发团队公布了 2020 年首个主要版本 GoLand 2020.1 的路线图,介绍了在改进性能、支持 Go Modules、以及代码辅助功能方面将会开始的一些计划。
速度更快
和构建 GoLand 的 IntelliJ 平台一样,此 IDE 将不断提高启动性能和索引速度。以下是即将执行的计划的简短摘要:
- 在我们的项目仍在建立索引时解锁更多 IDE 操作,以便可以立即执行它们,而无需完成索引的构建
- IDE 会向用户通知有关索引出现异常的信息。例如,索引花费时间太长的文件、索引重新建立频率太高的文件以及异常导致的索引重建
有关更多详细信息,请阅读 IntelliJ 平台 2020 年路线图。
流畅的 UI
开发团队计划从当前的架构解决方案开始迁移,因为此架构要求大多数操作需要修改 IDE 的内部数据结构才能在 UI 线程上运行,其中包括基本操作(将字符插入文档中)和大规模操作(重新命名具有数千种用法的方法)。这种架构的好处是简单的编程模型,但明显的缺点是 UI 响应能力在许多情况下都会受到影响。
为此,GoLand 的上游项目 IntelliJ 将重构 IntelliJ 平台的基本 UI 组件和 API,以采用新的线程模型,从而为用户打造一个流畅且无延迟的 UI。
支持 Go Modules
计划以几种不同的方式改进对 Go Modules 的支持:
1.GO-7632 — 支持来自 Go 1.13 的GOSUMDB
和GOPRIVATE
环境变量。
2.GoLand 2020.1 将在升级依赖项的主要版本后对导入进行重命名。这项对于“重命名”的重构将帮助用户在 go.mod 文件中从 “module name” 重命名变为 “module name/v2”,并相应地更新项目中的所有导入路径。
3.支持通过 Find Usages 搜索依赖项的引用。
4.对于 replace 语句计划添加以下内容:
- 提交之前,有关 go.mode 文件中的本地路径替换的通知
- 代码完成,可以在 替换为本地依赖项 和通过从 VCS 克隆进行替换 之间进行选择。
- 如果要从 VCS 克隆,则 IDE 将显示一个对话框,建议输入远程 URL 和目标本地路径。克隆完成后,GoLand 将生成一个适当的“替换”指令,并将克隆的模块附加到项目。
代码辅助功能
为了帮助开发者更快地编写代码,开发团队将专注于改机代码编辑功能,这些功能几乎不需要用户交互。
- 扩展 基本代码完成 和 智能代码完成 功能
- 新的 quick-fixes 和 Intention actions
- 新的 Postfix 模板 和 Live 模板
- 生成构造器(Generate Constructor)的应用领域将扩展到超出结构类型的限制
- 针对 代码格式化 的各种改进
- Rename, Extract 和 Implement Interface 的重构将尽可能完善,以提供预期的行为
无需重启即可加载和卸载插件
在 2019.3 中,我们无需重启就可以安装和卸载任何主题和键盘映射插件,以实现无缝升级。2020.1 版本中会将此支持扩展到所有类型的插件。计划将为大部分捆绑的插件提供支持,并且会为第三方插件开发人员提供支持说明。
这项工作更有意义的地方在于,它的最终目标是 IDE 可以根据开发者打开的每个项目的大小自行调整大小,比如仅针对使用 Spring 的项目加载 Spring 插件,仅针对 Angular 项目加载 Angular 插件。这样如果不使用某项技术,那么就不会看到与此相关的任何 UI 元素,也不会看到支持该技术的插件对性能或内存使用量产生任何影响。
支持云执行
在之前的版本中,GoLand 已支持在非本地计算机或容器内运行和调试代码。但在不同环境中这些功能的实现往往有所出入。
GoLand 2020.1 引入了目标环境的概念,该概念提供了一种可双向复制文件并在目标环境中启动进程的方法。在 2020.1 中,受支持的环境将包括本地计算机、Docker 容器和通过 ssh 连接的计算机。
在后续发行版中,计划统一支持围绕新架构的现有 Docker 和远程解释器。除此之外,还将提供更深入的云集成。因此,如果需要在云的新 VM 上运行该进程,无需指定要连接的特定计算机的详细信息。
详情请查看:
https://blog.jetbrains.com/go/2019/12/24/whats-next-goland-2020-1-roadmap/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | Golang 在电商即时通讯服务建设中的实践
马蜂窝技术原创文章,更多干货请搜索公众号:mfwtech 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商。 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣、食、住、行等方方面面;从消费金额来看,往往单次消费额度较大;对目的地的陌生、在行程中可能的问题,这些因素使用户在购买前、中、后都存在和商家沟通的强烈需求。可以说,一个好用的 IM 可以在一定程度上对企业电商业务的 GMV 起到促进作用。 本文我们将结合马蜂窝旅游电商 IM 服务的发展历程,重点介绍基于 Go 的 IM 重构,希望可以给有相似问题的朋友一些借鉴。 Part.1 技术背景和问题 与广义上的即时通讯不同,电商各业务线有其特有业务逻辑,如客服聊天系统的客人分配逻辑、敏感词检测逻辑等,这些往往要耦合进通信流程中。随着接入业务线越来越多,即时通讯服务冗余度会越来越高。同时整个消息链路追溯复杂,服务稳定性很受业务逻辑的影响。 之前我们 IM 应用中的消息推送主要基于轮询技术,消息轮询模块的长连接请求是通过 php-fpm 挂载在阻塞队列上实现。当请求量较大时,如果不能及时释放 php-fpm 进程...
- 下一篇
西部数据开发新的 Linux 文件系统“Zonefs”
近些年来,从 RISC-V 体系结构位到存储增强功能,西部数据(Western Digital)在 Linux 内核方面做出了更大的贡献。最近几周,其一直在处理的最新代码就是全新的 Linux 文件系统。 不过,新的 Western Digital 产品并不是要成为与 Linux 上的 EXT4,Btrfs,XFS 和 ZFS 之类竞争的通用文件系统。这个新的文件系统 Zonefs 适用于特殊用例,并在分区块设备上运行。 Western Digital 的 Damien Le Moal针对 Zonefs 进行描述称,“zonefs 不是 POSIX 兼容文件系统。其目的是通过使用基于功能更丰富的文件的 API 替换原始块设备文件访问,从而简化应用程序中分区块设备支持的实现,避免依赖直接的块设备文件 ioctl。这种方法的一个示例是,通过允许将 SSTables 存储在与常规文件系统类似的区域文件中,而不是作为分区设备的扇区范围来存储,从而在分区块设备上实现 LSM(log-structured merge)树结构(例如在 RocksDB 和 LevelDB 中使用)。引入更高级别的结构...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长