Sublime Text 是网络开发和软件开发中最受欢迎的编辑器之一。与其他编辑器相比,它非常流畅和快速(用 C++ 编写有助于提高速度)。Sublime 还拥有大量插件,您可以通过 Package Control 找到它们。
但它只是一个文本编辑器,而不是一个IDE。IDE 是一种软件应用程序,为计算机程序员提供软件开发的全面工具。实际上,Sublime 没有提供调试工具、用于编译和运行应用程序的内置工具、智能代码建议或代码重构等功能。相反,它提供了一组您可以用来扩展它的 API。以下是对 JavaScript Enhancement 插件(我自己的作品)的介绍,该插件使 Sublime 对于 JavaScript 开发更像 IDE。
什么是 JavaScript Enhancement 插件?
它是一个 Sublime Text 3 插件,提供了许多用于创建、开发和管理 JavaScript 项目的有用功能。其中最重要的功能包括
- 智能自动完成
- 错误检测和代码风格检查
- 代码重构
其他一些功能可以在 Wiki 页面 中找到。
大多数功能都是使用 Flow 在后台实现的,Flow 是 Facebook 创建的 JavaScript **静态类型检查器**(如果您了解 TypeScript,它非常类似)。此插件的主要目标是将 Sublime Text 3 打造成 **JavaScript IDE**。它处于积极开发中,并且随着时间的推移将包含其他功能。
安装
有两种安装方式。最简单的方法是通过 Package Control,另一种方法是手动安装,按照 这些简单的步骤 进行操作。
需求
- Sublime Text 3 版本 3124 或更高版本
- Node.js(6 或更高版本)和 npm
- TerminalView Sublime Text 插件(仅限 Linux 和 Mac OS X)
支持的系统
由于 Flow 仅适用于 64 位系统,因此此插件支持
- Mac OS X
- Linux(64 位)
- Windows(64 位)
智能自动完成
Sublime Text 有自己的自动完成功能,但功能不足,使其远不如它本可以的那样有用。使用此插件,您将获得基于**当前上下文**的自动完成,就像任何其他 IDE 一样。例如,您将从在其他文件中定义的导入类中获取完成项,例如属性和方法。
此外,完成列表还将包含有关**变量类型**和**函数签名**的信息,以便快速了解它们。
以下是插件的工作原理
…以及没有插件的情况
错误检测和代码风格检查
Sublime Text 本身没有错误检测和/或代码风格检查系统。借助 Flow,可以使用其自己的 CLI 命令 来实现此功能。
首先,您需要创建一个 JavaScript 项目(请参阅 创建 JavaScript 项目 Wiki 页面)。为了让 Flow 服务器检查您的文件,您需要在其中添加一个特殊注释:// @flow
。
您也可以在 .flowconfig
文件中设置更多选项(请参阅 官方网站 以自定义 Flow 配置。例如,如果您希望让 Flow 服务器检查所有文件,而不仅仅是带有 @flow
的文件,则需要将 all
选项设置为 true
[options]
# all=off by default
all=true
要让 Flow 服务器检查不属于项目的单个文件,您可以为每个 Sublime 视图激活 工具 > JavaScript Enhancements > 在当前视图中使用 Flow 检查器(在项目中未使用)
中的选项。在这种情况下,Flow 服务器将只看到当前视图。
相反,正如 官方网站 上所说,可以在 .flowconfig
[lints] 部分中将 lint 设置指定为 rule=severity
对的列表。这些设置全局应用于整个项目。例如:
[lints]
# all=off by default
all=warn
untyped-type-import=error
sketchy-null-bool=off
也可以使用 flowlint
注释 直接在文件中指定 lint 设置。例如:
/* flowlint
* sketchy-null:error,
* untyped-type-import:error
*/
代码重构
Sublime Text 本身不提供代码重构系统。这是借助 Flow CLI 命令来实现的,以便获取必要的信息。目前,此插件提供了各种代码重构功能,包括
其中一些还可以提供预览。此外,诸如 安全移动 之类功能仅适用于 JavaScript 项目(此处也请参阅 创建 JavaScript 项目 Wiki 页面)。
支持
问题/疑问
如果您有任何问题,请创建问题。提示:首先快速搜索一下,看看是否有人之前问过同样的问题!对于简单的问题,您可以使用 Gitter。
功能请求和增强功能
对于功能请求,请创建问题或使用 Gitter。
财务贡献
如果这个项目帮助您减少了开发时间,并且您喜欢它,请考虑通过以下方式进行捐赠以支持它:Patreon、Open Collective 或使用 PayPal。谢谢!
我老实说过去一直使用 Sublime。不过在这一点上,当我不得不费尽心思才能让我的编辑器变得稍微有用一点时,就直接使用 WebStorm 或 IntelliJ 吧。我非常乐意花钱来换回我在机器之间设置的时间。
我喜欢这些功能,但有点讨厌完整的 IDE 的 UI.. 我觉得它有点太多了。我意识到我可以自定义它,是的,也许有一天我会再试一试。
将 Sublime Text 3 变成一个 JavaScript IDE
…或者直接使用 VS Code。
是的,您可以使用 VS Code.. 这不是一个文本编辑器之争。但是 Sublime Text 仍然是最受欢迎的编辑器之一,并且此插件将继续添加新功能,使其成为您在 JavaScript 项目中可以使用的一种可能的选择。每个工具都有其优点和缺点。
我仍然发现 VSCode 在重构功能方面有限:当您进行大量 TDD 时,您需要重命名和移动很多函数,而 WebStorm 凭借其快捷键证明比 VSCode 更好,至少根据我的经验是这样的。
例如提取方法
很棒的文章,非常感谢您的分享!
我一直想把 Sublime 设置成一个玩笑编辑器,但不想花时间学习如何设置。我一直希望我能与已经完成这项工作的人一起工作。
我使用 WebStorm,它在大多数情况下都非常好。但它在处理庞大的代码库时效果不佳。花费大量时间分析代码库。此外,它明确不允许在本地处理远程代码库。
在我目前的工作中,我必须处理远程代码库。我们使用 Atom。它……不太好。
我还没有尝试过您的插件,但我希望它能让我重新创建我的 WebStorm IDE 并处理远程代码库。
让我们拭目以待。无论如何,感谢您的努力!
插件很棒!,但为什么 flow.exe(Windows 任务管理器)一直显示某种持续增长的负载