使用Visual Studio Code进行Swift开发

时间:2024-04-02 16:33:41

Visual Studio Code(VSCode)是一个来自微软的跨平台文本和源代码编辑器。它是当今最令人兴奋的开源项目之一,有数百名贡献者定期更新。VSCode是最早支持语言服务器协议(LSP)的工具之一,后者在针对各种语言和技术提供良好的开发体验方面发挥了重要作用。

前段时间,Swift团队宣布SourceKit LSP支持现在处于早期开发阶段,现在正好是时候看下这种集成如何为我们所用。

所以,我们将详细介绍在macOS上Visual Studio Code中开始使用Swift新增的语言服务器协议支持的过程。如果你没有试过在Xcode之外编写Swift ,或者已经是一个VSCode用户但是Swift的新用户,那么这篇文章将告诉你所有你需要知道的东西。

Swift对语言服务器协议的支持仍处于早期开发阶段,目前还没有提供预构建的语言服务器包(sourcekit-lsp)或Visual Studio Code扩展。现在,下载、构建和安装这些组件及其依赖项是一个手动过程,需要熟悉命令行(在网络连接速度合理的情况下,大约需要15分钟)。

当LSP支持正式发布时,所有配置会简单许多。

使用Visual Studio Code进行Swift开发

步骤 0:安装Xcode

如果你的机器上已经安装了Xcode,打开终端应用,运行以下命令:

$ xcode-select --install

运行这个命令会弹出一个系统提示。

使用Visual Studio Code进行Swift开发

选择 “Get Xcode” 按钮,继续从应用商店安装。

步骤 1:安装Visual Studio Code

下载Visual Studio Code并安装到系统应用程序文件夹。打开应用程序,按照说明从命令行启动。为了稍后安装SourceKit-LSP扩展,需要使code命令可以从$PATH访问。

Electron应用有大而缓慢的名声,但不要因为这而放弃尝试VSCode——它的性能和内存占用堪比本地应用。

步骤 2:安装最新版的Swift工具链

访问Swift.org并下载最新的主干开发快照(在撰写本文时,最新的是2018年11月16日的快照)。下载完成后,运行软件包安装Xcode工具链。要启用它,打开Xcode,选择“Xcode \u0026gt; 首选项”菜单项,导航到“组件”并选择“Swift开发快照”。

步骤 3:安装Node和NPM

VSCode扩展都是使用JavaScript/TypeScript编写的。如果你还没做好JS开发准备,那么你可以借助Homebrew使用下列命令下载Node(浏览器之外的一个JavaScript运行时)和npm(Node包管理器),或者按照说明手动下载

$ brew install node

要验证是否安装成功,运行下面的命令:

$ npm --version6.4.1

步骤 4:构建并安装SourceKit-LSP

在准备好所有依赖项之后,我们现在准备好开始最吸引人的步骤了。从命令行克隆sourcekit-lsp库,导航到生成的目录,构建Swift项目。

$ git clone https://github.com/apple/sourcekit-lsp.git$ cd sourcekit-lsp$ swift build

如果成功,则可以从隐藏的.build / debug目录中找到完整的二进制文件。将该二进制文件移动到$ PATH中的标准目录下,比如/usr/local/bin或/usr/bin。

$ mv .build/debug/sourcekit-lsp /usr/local/bin

运行sourcekit-lsp命令,看下一切是否都按预期工作:

$ sourcekit-lsp

这个命令启动一个新的语言服务器进程,但是,如果它没有向STDOUT提供任何反馈,不必担心,这意味着它可以正常工作。通过^C退出这个过程。

步骤 5:构建并安装VS Code的SourceKit-LSP扩展

现在,你的Swift语言服务器已经可以使用,最后一步是构建并安装Visual Studio Code扩展,以便可以与它通信。

从前面步骤中的sourcekit-lsp目录导航到Editors/vscode目录,使用npm构建扩展,并使用code命令安装它:

$ cd Editors/vscode/$ npm run createDevPackage$ code --install-extension out/sourcekit-lsp-vscode-dev.vsix

现在启动(或重新启动)VSCode,并打开一个Swift项目,就像下面这样,体验Swift语言服务器协议所提供的功能的早期预览。

使用Visual Studio Code进行Swift开发

要得到在VSCode中开发Swift的完整体验,我们还建议你检出Swift语言扩展(实现语法高亮,在LSP支持这项功能之前)和Swift Lint扩展(实时惯用法诊断)。

现在,你已经有了Xcode外一流的Swift开发体验。目前,语言服务器协议Swift支持仅限于代码补全、快速帮助、诊断、转到符号定义、查找引用。但是,对于这个项目的未来,我们还是无比兴奋,因为它意味着Swift在苹果生态系统之外的应用前景

本文使用了Swift 4.2。

查看英文原文:https://nshipster.com/vscode/