GoLand 开发团队公布了 2020 年首个主要版本 GoLand 2020.1 的路线图,介绍了在改进性能、支持 Go Modules、以及代码辅助功能方面将会开始的一些计划。
和构建 GoLand 的 IntelliJ 平台一样,此 IDE 将不断提高 启动性能和索引速度 。以下是即将执行的计划的简短摘要:
有关更多详细信息,请阅读 IntelliJ 平台 2020 年路线图 。
开发团队计划从当前的架构解决方案开始迁移,因为此架构要求大多数操作需要修改 IDE 的内部数据结构才能在 UI 线程上运行,其中包括基本操作(将字符插入文档中)和大规模操作(重新命名具有数千种用法的方法)。这种架构的好处是简单的编程模型,但明显的缺点是 UI 响应能力在许多情况下都会受到影响。
为此,GoLand 的上游项目 IntelliJ 将重构 IntelliJ 平台的基本 UI 组件和 API,以采用新的线程模型,从而为用户打造一个流畅且无延迟的 UI。
计划以几种不同的方式改进对 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 语句计划添加以下内容:
为了帮助开发者更快地编写代码,开发团队将专注于改机代码编辑功能,这些功能几乎不需要用户交互。
在 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/