Sublime Text Java-Scala 代码Intelligence/Auto 完成
Sublime Text Java-Scala Code Intelligence/Auto Complete
我一直在尝试寻找用于在 Sublime Text 3 中开发 scala/java
代码的 codeInt 插件,但我不明白这是为什么。
似乎有一组很好的插件可用于辅助功能,例如 sbt
, ensime
(which is way too rough, I'm still trying to set it up) for scala and plugins like javatar
用于 java 但 none 与其中一个相关IDEs 的定义特征是智能代码辅助。
相反,对于像Python、PHP和JavaScript这样的语言,这些插件是already available并且非常rich 帮助您忘记更笨重的 IDE,例如 Eclipse、IntelliJ 等
我的问题基本上可以归结为:是否存在合理的根本原因(由于 codeInt 而增加的开销?复杂性? 有人不愿意开发这个插件吗?不知道!) 像 Java 和 Scala 这样的语言被排除在外,或者 Sublime Text 只是为了成为( 或者一直是) 脚本友好 IDE?
是的,专注于脚本编写是有正当理由的。最重要的原因是由于脚本语言的特性:语句和代码块可以实时求值,可以确定变量的类型,并适当地functions/methods/attributes等呈现给用户。编译型语言不一定提供这种能力,因为代码需要不断地重新编译才能 运行 和分析,而且有些代码不适合静态分析。
基本上 Sublime 的 "code intelligence" 插件归结为移动解释器,可以评估当前代码并为您提供功能建议等。他们扫描已经导入的 modules/libraries/what 有没有并在适当的时候提供这些功能,以及无需导入即可成为标准的内置功能。他们跟踪变量的类型,给出 "intelligence" 的表象。
但是,正如任何经验丰富的用户都会告诉您的那样,Sublime 不是 IDE。它不能进行 real 重构。调试非常困难甚至不可能,具体取决于语言。不能自动导入。
Sublime 的 API 暴露在 Python 中,这解释了该语言的大量代码完成、linting 和分析工具。 Node.js 可以通过 Python 成为 运行 并负责 JavaScript 社区。 Ruby 与 Python 一样,被解释并具有类似的工具,虽然没有那么多,可能是因为它不那么流行。 PHP 也被解释,虽然我不知道为什么任何头脑正常的人都会自愿使用这种语言来做任何事情,显然人们仍然这样做,所以有工具。
JVM 和 CLR 语言是完全不同的野兽。市场上有很多针对它们的优秀 IDEs,具有嵌入式 VM(或者至少能够附加到各种 VM)和试图(并且经常成功)为您提供所有功能的巨大代码库太阳。因此,它们 运行 的大小从数百兆字节到千兆字节不等。 Sublime Build 3095 x64 的最新 .deb
约为 6.5 MB,据我所知,所有支持平台的所有安装程序都在 10 MB 以下。
Sublime 被设计成一个快速和可扩展文本编辑器,而不是 "be everything to everyone" 笨重 IDE。所有配置文件、菜单定义、键和鼠标绑定等都在文本文件中,而不是花哨的图形菜单。除非您像我一样安装了太多插件,否则启动时间快如闪电(甚至我的启动时间不到一三秒),而且响应速度非常快。它真的很擅长它的功能,虽然 API 允许人们编写插件来创建新功能,但它永远不会是真正的 IDE。我喜欢这样,但话又说回来,我不使用 Java 或 C# 编写代码。
我一直在尝试寻找用于在 Sublime Text 3 中开发 scala/java
代码的 codeInt 插件,但我不明白这是为什么。
似乎有一组很好的插件可用于辅助功能,例如 sbt
, ensime
(which is way too rough, I'm still trying to set it up) for scala and plugins like javatar
用于 java 但 none 与其中一个相关IDEs 的定义特征是智能代码辅助。
相反,对于像Python、PHP和JavaScript这样的语言,这些插件是already available并且非常rich 帮助您忘记更笨重的 IDE,例如 Eclipse、IntelliJ 等
我的问题基本上可以归结为:是否存在合理的根本原因(由于 codeInt 而增加的开销?复杂性? 有人不愿意开发这个插件吗?不知道!) 像 Java 和 Scala 这样的语言被排除在外,或者 Sublime Text 只是为了成为( 或者一直是) 脚本友好 IDE?
是的,专注于脚本编写是有正当理由的。最重要的原因是由于脚本语言的特性:语句和代码块可以实时求值,可以确定变量的类型,并适当地functions/methods/attributes等呈现给用户。编译型语言不一定提供这种能力,因为代码需要不断地重新编译才能 运行 和分析,而且有些代码不适合静态分析。
基本上 Sublime 的 "code intelligence" 插件归结为移动解释器,可以评估当前代码并为您提供功能建议等。他们扫描已经导入的 modules/libraries/what 有没有并在适当的时候提供这些功能,以及无需导入即可成为标准的内置功能。他们跟踪变量的类型,给出 "intelligence" 的表象。
但是,正如任何经验丰富的用户都会告诉您的那样,Sublime 不是 IDE。它不能进行 real 重构。调试非常困难甚至不可能,具体取决于语言。不能自动导入。
Sublime 的 API 暴露在 Python 中,这解释了该语言的大量代码完成、linting 和分析工具。 Node.js 可以通过 Python 成为 运行 并负责 JavaScript 社区。 Ruby 与 Python 一样,被解释并具有类似的工具,虽然没有那么多,可能是因为它不那么流行。 PHP 也被解释,虽然我不知道为什么任何头脑正常的人都会自愿使用这种语言来做任何事情,显然人们仍然这样做,所以有工具。
JVM 和 CLR 语言是完全不同的野兽。市场上有很多针对它们的优秀 IDEs,具有嵌入式 VM(或者至少能够附加到各种 VM)和试图(并且经常成功)为您提供所有功能的巨大代码库太阳。因此,它们 运行 的大小从数百兆字节到千兆字节不等。 Sublime Build 3095 x64 的最新 .deb
约为 6.5 MB,据我所知,所有支持平台的所有安装程序都在 10 MB 以下。
Sublime 被设计成一个快速和可扩展文本编辑器,而不是 "be everything to everyone" 笨重 IDE。所有配置文件、菜单定义、键和鼠标绑定等都在文本文件中,而不是花哨的图形菜单。除非您像我一样安装了太多插件,否则启动时间快如闪电(甚至我的启动时间不到一三秒),而且响应速度非常快。它真的很擅长它的功能,虽然 API 允许人们编写插件来创建新功能,但它永远不会是真正的 IDE。我喜欢这样,但话又说回来,我不使用 Java 或 C# 编写代码。