在开发golang项目的过程中,大家都知道有两个最常用的ide,一个是jetbrains公司的intellij idea,另一个是microsoft公司的visual studio code。对于ide的选择,每个人都有自己的喜好,但是 jetbrains 公司无疑是 java 领域的标杆企业,在开源项目中也贡献非常多,而其 intellij idea 和 android studio 等 ide 成为了 java、kotlin、scala、python、gor等语言不可或缺的工具。
然而,尽管go语言已经成为了当下非常流行的编程语言之一,为什么 jetbrains 公司的 ide 率先没有针对 golang 开发插件支持我们?为此我们难免会有些好奇,下面让我们一起探究一下这个问题。
首先,我们需要了解一下idea的开发架构。intellij idea 是 jetbrains 公司基于开源代码平台 intellij community edition开发的一个商业语言集成开发环境。 intellij idea 的架构并不是传统的插件式架构,而是使用相对特殊的project/module model架构。因此,ide 提供对多个语言的支持往往需要花费大量的时间和精力。例如对于 kotlin 支持,intellij idea 团队花费了整整 5 年左右的时间。同时,ide 的架构还决定了 jetbrains 公司是维护所有语言的插件还是给社区去制作插件。在社区插件越来越成熟的当下,社区插件的优势被越来越明显,例如 python 的插件 pycharm,从 2014 年起,正式交由社区维护,成为一个 community edition 发布的 ide。
再者,我们来谈一下go语言的发展历程,go语言是2009年11月由google公司首次揭开面纱公开发布的。go语言语法特点和编译构架均受到了plan 9和unix操作系统特性的影响,并和c、c++、java等语言相互借鉴。go发表之初,仅是一个实验性质的语言,而当时市场上的主流语言,如java和c#,还处于非常壮盛的时期,jetbrains 团队可能并不曾真正看到 golang 的发展前景,因此可能对其开发无论是从内部需求还是市场需求,都不予考虑。
此外,目前市面上关于golang最为热门的开发工具之一 visual studio code (vs code) 一经发布即发行了go的插件,而且也得到了较好的口碑。与 jetbrains不同,visual studio code 的扩展插件使用了严格遵循开放、可移植和兼容性标准的插件机制,因此第三方开发者甚至可以按照自己的需求定制插件以满足特定需求。在 vs code 发布三年时间内,其已经成为了广受欢迎的跨平台开发工具,非常活跃的社区不断推进 vs code 的成长,也促进了go语言在跨平台下的快速普及。
最后,就算目前 jetbrains 公司没有开发golang插件这一点,但 jetbrains 公司是开源社区的重要贡献者之一,不断推进 openapi 和 kotlin 语言在社区中的普及。虽说目前在市场上可选ide的数量已经非常多,但 jetbrains 公司的优秀软件工程师也提供了非常好的代码编写、审查和工程构建等的解决方案,向社区开发者提供了灵活而高效的编程体验。
综上所述,虽说 jetbrains 的 intellij idea 暂没有官方支持 golang 插件,但部分是由于这样的决策确实满足其内部需求,同时市场上有足够数量成熟的第三方开发者推出的 ide 插件相当优秀以及社区的自我组织性也在逐步推动 golang 的普及,帮助其在开发中实现高效编码的目标。
以上就是idea golang 插件没有的详细内容。
