Sublime Text Java-Scala代码智能/自动完成

时间:2015-09-18 22:50:01

标签: java scala autocomplete sublimetext3

我没有成功找到用于在Sublime Text 3中开发scala/java代码的codeInt插件,但我不明白为什么会这样。

似乎有一套很好的插件可用于辅助功能,例如 sbt ensime 也是如此粗略的,我还在尝试设置)用于scala和插件,例如 javatar 用于java,但没有一个与IDE的定义功能有关智能代码协助。

相反,对于Python,PHP和JavaScript等语言,这些插件 already available 非常丰富,可以帮助您忘记更重和更庞大的IDE,如Eclipse,IntelliJ等。

我的问题基本归结为: 是否存在合法的潜在原因 由于codeInt导致的开销增加?复杂性?某人不愿意开发此插件?对于像Java和Scala这样的语言被遗漏的想法!),或Sublime Text是否只是为了成为(或始终是)脚本友好的IDE?

1 个答案:

答案 0 :(得分:3)

是的,有正当理由关注脚本。最重要的原因是由于脚本语言的性质:可以实时评估语句和代码块,可以确定变量的类型,并向用户呈现适当的函数/方法/属性等。编译语言不一定能提供这种功能,因为代码不断需要重新编译才能运行和分析,而某些代码不适合静态分析。

基本上是什么"代码智能" Sublime的插件可以归结为可以评估当前代码并为您提供功能建议等的移动解释器。它们扫描已经导入的模块/库/你有什么,并在适当的时候提供这些,以及内置标准而不导入的函数。他们跟踪变量的类型,给出了"情报"的外观。

但是,正如任何经验丰富的用户会告诉您的那样,Sublime 不是一个IDE。它不能进行真正的重构。根据语言的不同,调试很难做到。它无法自动导入。

Sublime的API在Python中公开,它解释了该语言的大量代码完成,linting和分析工具。 Node.js可以通过Python运行并负责JavaScript社区。像Python一样,Ruby被解释并具有类似的工具,尽管不是很多,可能是由于它不那么受欢迎。 PHP也被解释了,虽然我不知道为什么心智正常的人会自愿使用这种语言做任何事情,显然人们仍然这样做,所以有工具可用。

JVM和CLR语言是完全不同的野兽。市场上有很多针对它们的好IDE,有嵌入式虚拟机(或者至少能够连接到各种虚拟机)和巨大的代码库,它们试图(并且经常成功)为您提供阳光下的所有功能。因此,它们的容量从数百兆字节到数十兆字节不等。 Sublime Build 3095 x64的最新版本.deb约为6.5 MB,AFAIK所有支持平台的所有安装程序均低于10 MB。

Sublime被设计为快速可扩展 文本编辑器 ,而不是"是一切都归于每个人"笨重的IDE。所有配置文件,菜单定义,键和鼠标绑定等都在文本文件中,而不是花哨的图形菜单。除非你像我一样并且已经安装了太多插件,否则启动时间会非常快(甚至我的启动时间还不到一秒或三秒),并且响应速度非常快。它的功能非常擅长,虽然API允许人们编写插件来创建新功能,但它永远不会是真正的IDE。我喜欢这样,但我再也不用Java或C#代码。

相关问题