将Sublime Text 3 打造成 JavaScript IDE

Avatar of Lorenzo Pichilli
Lorenzo Pichilli 发布

DigitalOcean 为您旅程的每个阶段提供云产品。开始使用 200 美元的免费额度!

Sublime Text 是网络开发和软件开发中最受欢迎的编辑器之一。与其他编辑器相比,它非常流畅和快速(用 C++ 编写有助于提高速度)。Sublime 还拥有大量插件,您可以通过 Package Control 找到它们。

但它只是一个文本编辑器,而不是一个IDEIDE 是一种软件应用程序,为计算机程序员提供软件开发的全面工具。实际上,Sublime 没有提供调试工具、用于编译和运行应用程序的内置工具、智能代码建议或代码重构等功能。相反,它提供了一组您可以用来扩展它的 API。以下是对 JavaScript Enhancement 插件(我自己的作品)的介绍,该插件使 Sublime 对于 JavaScript 开发更像 IDE

什么是 JavaScript Enhancement 插件?

它是一个 Sublime Text 3 插件,提供了许多用于创建、开发和管理 JavaScript 项目的有用功能。其中最重要的功能包括

  1. 智能自动完成
  2. 错误检测和代码风格检查
  3. 代码重构

其他一些功能可以在 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

财务贡献

如果这个项目帮助您减少了开发时间,并且您喜欢它,请考虑通过以下方式进行捐赠以支持它:PatreonOpen Collective 或使用 PayPal。谢谢!