8月22日,JetBrains公司的开发经理Dmitry Jemerov回答了InfoQ提出的有关IntelliJ IDEA最新版的相关问题。
JetBrains站点上列出了IntelliJ IDEA 8的一些主要变化,如:
- 改进的性能 \
- 针对JavaScript和Flex的调试器\
- Flex代码编辑 \
- 集成Spring 2.5 \
- 改进的Groovy和Grails支持 \
- 支持Scala和Python \
InfoQ: 除了发布说明所述以外, IntelliJ IDEA 8还有哪些主要变化?
Dmitry Jemerov: 从内部来说,最大的变化就是进行了重构,以从IntelliJ IDEA中抽取出一个通用基础,这样我们就可以在相同的代码集上构建其他产品了。 MPS已经在使用IntelliJ IDEA平台了,同时我们的产品线中还有大量尚未发布的产品,它们也构建在相同的平台上。
InfoQ: Flex集成的程度如何?与Java兼容么?
DJ: 对于Flex,我们现在只专注于代码编辑功能(针对MXML的一个可视化设计器暂时还没有实现出来)。当然,Java支持已经开发很长时间了,现在更棒了,但是Flex支持也按照同样的方式来进行。针对Flex的一些新特性有自动导入、优化导入、构造方法和 访问修饰符的生成等等。
版本8中还增加了一个针对Flex的调试器,同时我们也在为无缝的编辑支持而努力(这样你就无需像IDEA 7那样使用Ant任务来编译项目了)。
InfoQ: 对Python和Scala的支持程度如何?
DJ: 首先,我要说的是Python和Scala都不会绑定到IntelliJ IDEA 8的最终发布版上。其插件正在开发中,但等到IDEA 8的最终版发布时,大家可以用插件管理器单独下载这些插件的Beta版。(Scala插件目前已经可用了,其地址为: http://plugins.intellij.net/plugin/?id=1347)
我再强调一次,对于支持的其他语言,我们基本上也遵循着相同的步骤。对于Scala来说,主要的挑战在于需要提供一个类型系统的完全实现,而这对于代码完成功能来说是必不可少的。这就是我们当前正在集中精力所作的事情。除了这个以外,我们已经完成了大多数常用的语言支持特性:语法和错误高亮、格式化、结构 化视图、自动导入、实现/重写等等。
Python是一个动态语言,这给我们带来了前所未有的挑战,然而我们也将用类似的办法实现。我们已经计划实现一个Python调试器。
InfoQ: 有没有打算将IntelliJFX插件作为IDE的核心插件(如Java、Groovy等)?
DJ: 现在我们持观望态度。从我们的角度来说,目前在RIA市场上Flex是JavaFX最强有力的竞争者,考虑到资源有限,这正是我们努力的地方。但是如果很多人采用了JavaFX的话,IDEA 9很有可能会支持它。
InfoQ: IntelliJ IDEA 8集成了微软的Team Foundation Server,有没有打算开发Atlassian插件并与他们的产品集成?
DJ: 事实上Atlassian已经分配了大量资源来开发IntelliJ IDEA插件,这一点已经远远超乎我们的预料,因此我认为我们这边无需再投入什么了。我们与插件的开发者保持密切联系并向其提供建议与IntelliJ IDEA APIs使用上的帮助。
InfoQ: IntelliJ会为项目管理技术(如Agile、RUP、XP等)提供插件或支持么?一些Eclipse插件(仅仅是举个例子)可以跟踪sprints、创建故事、显示过程图表等等。
DJ: 我们认为IDE插件不应该成为这类工具的一个主要接口。IDE主要是一个与项目源代码协同工作的工具,而sprints和故事与代码的关联不大。即使今后我们开始从事项目管理工具的开发,那么它也很有可能是一个基于Web的工具而不是IntelliJ IDEA插件。
InfoQ: IntelliJ IDEA 8何时能最终发布呢?
DJ: IntelliJ IDEA 8最终版计划于今年深秋发布。
InfoQ: 现有的用户可以下载IntelliJ IDEA 8安装文件并简单地进行升级么?
DJ: IntelliJ IDEA 8的升级不是免费的(用户需要为升级付费或者对其评估30天),但是新版本的安装过程和以前一样简单。
InfoQ: 对于IntelliJ IDEA的未来你有什么打算呢?
DJ: 除了版本8以外,我们还没有任何明确的计划。但可以确定的一点就是对Java EE 6的完全支持。当然,还会支持Java SE 7新的语言特性,只要确定哪个JSR会发布,哪个会被废弃。
除了这些,通常的功能还将存在——支持更多语言、更多框架、新的重构和检查,凡此种种。
结论JetBrains持续致力于为开发者提供一个顶级IDE,使其不仅可以开发Java,还可以开发Groovy、Python、JavaScript、 Flex、Scala等等。一些值得期待的功能包括对JavaFX更好的支持,还有可能提供一个用来进行项目管理的基于web的工具。请查看这里以了解关于IntelliJ IDEA 8更多的信息。
查看英文原文:IntelliJ IDEA 8: Beyond Java