东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

使用 Visual Studio Code 进行 Swift 开发

  • 2018-11-21
  • 本文字数:1720 字

    阅读完需:约 6 分钟

使用Visual Studio Code进行Swift开发

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 支持正式发布时,所有配置会简单许多。


步骤 0:安装 Xcode

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


$ xcode-select --install
复制代码


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



选择 “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 > 首选项”菜单项,导航到“组件”并选择“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 语言服务器协议所提供的功能的早期预览。



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


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


本文使用了 Swift 4.2。


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


2018-11-21 11:477147
用户头像

发布了 1008 篇内容, 共 373.7 次阅读, 收获喜欢 340 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

《Vue.js技术内幕》有奖书评活动正式开启

图灵教育

vue.js 前端

技术分享 | web自动化测试-PageObject 设计模式

霍格沃兹测试开发学社

测试人生 | 入行未满3年拿下AI领域上市公司30W+ offer,他靠的是什么?

霍格沃兹测试开发学社

字节跳动数据血缘图谱升级方案设计与实现

字节跳动数据平台

数据库 数据优化 数据血缘 数据研发

怎样成为优秀的测试工程师

霍格沃兹测试开发学社

存储资源盘活系统,“盘活”物联网架构难题(下)

天翼云开发者社区

数据库连接池

C++后台开发

MySQL 数据库 后端开发 Linux服务器开发 连接池

凭这份堪称保姆级别的Java面试宝典,已怒斩3个大厂offer(阿里,美团,腾讯)

Geek_0c76c3

Java 数据库 开源 程序员 架构

MySQL锁机制总结

霍格沃兹测试开发学社

项目倒排,跟工期不足say byebye

霍格沃兹测试开发学社

Kafka入门

霍格沃兹测试开发学社

我的文件夹(知识库)上线了!|ModelWhale 版本更新

ModelWhale

人工智能 数据挖掘 项目管理 数据分析 代码库

技术分享 | App测试时常用的adb命令你都掌握了哪些呢?

霍格沃兹测试开发学社

20道高频vue面试题自测

bb_xiaxia1998

Vue 前端

基于TensorFlow Serving的YOLO模型部署

霍格沃兹测试开发学社

AI测试中的数据收集

霍格沃兹测试开发学社

Monkey基本参数介绍

霍格沃兹测试开发学社

技术分享 | app测试中常用的Android模拟器

霍格沃兹测试开发学社

技术分享 | App常见bug解析

霍格沃兹测试开发学社

中国信通院沙龙|火山引擎边缘云助力业务体验创新

火山引擎边缘云

云计算 云原生 边缘计算 边缘节点 信通院

anime4k 在真机租用上的应用尝试

霍格沃兹测试开发学社

浅谈测试需求分析

霍格沃兹测试开发学社

技术分享 | Appium 用例录制

霍格沃兹测试开发学社

vue进阶面试题

bb_xiaxia1998

Vue 前端

UI自动化截图之chrome&Firefox篇

霍格沃兹测试开发学社

Wallys//Industrial_Wireless_AP//network,card//QCN6024/QCN9074/QCN9024,WiFi,Card IPQ6010,802.11ax,2x2

wallys-wifi6

QCN9074 QCN6024 QCN9072

墨天轮沙龙 | 麦杰科技卢学东:openPlant 实时数据库系统及应用

墨天轮

数据库 工业 国产数据库 实时数据库

技术分享 | Appium环境安装与架构介绍

霍格沃兹测试开发学社

软件测试 丨 真实面试经历分享,不用再看其他面试题

测试人

软件测试 面试题 自动化测试 测试开发

2022年下半年如何备考 CKS

baiyutang

云原生 k8s 云安全 CKS

opencv 使用 GPU 加速

霍格沃兹测试开发学社

使用Visual Studio Code进行Swift开发_移动_Mattt_InfoQ精选文章