Swift 采用语言服务器协议

栏目: Swift · 发布时间: 5年前

苹果的 Swift 团队宣布,他们将 为 Swift 提供语言服务器协议(LSP)支持 。这将为开发者提供在支持 LSP 的任何编辑器中使用 Swift 的可能性,并获得代码补全、语法高亮等功能。

除了代码补全和语法高亮之外,兼容 LSP 语言服务的 Swift 还将支持跨 C/C++/ObjC 源码的跨语言索引,从而实现转到定义、调用层次、搜索符号和重构功能。苹果的团队计划将 Xcode 引入新的语言服务,并对协议进行扩展,以支持 LSP 中不包含的 Xcode 编辑功能。

根据目前的计划,Swift LSP 服务将使用 SourceKit ,并将其与 Clangd 集成,后者是一个基于 Clang 的语言服务器协议开源实现。GitHub 上 提供 了 Swift 的语言服务器协议实现。尽管如此,它尚处于早期开发阶段,大多数更高级的特性还没有提供。

Swift LSP 服务的其中一个好处是,它将提高 Swift 在 Linux 上的可用性,从而可能会改善该语言在苹果生态系统之外的采用。此外,作为将 LSP 引入 Xcode 的附带效果,Xcode 可以包括对其他语言的支持,如 C#、Rust 等等,也包括一些理论上 Xcode 已经支持的语言,如 XML、JSON 等。不过,使 Xcode 兼容 LSP 目前并不是团队的重点。

语言服务器协议 最初是微软开发的,作为 Visual Studio Code 用于与其他语言服务通信的协议。2016 年, 微软开源了 LSP 。LSP 带来的最大好处是语言服务可以跨兼容 LSP 的编辑器重用。这大大减少了语言团队为使各种编辑器充分支持其语言所需的工作量,因为他们只需要实现一个兼容 LSP 的语言服务器,而该服务器可以在任何兼容 LSP 的编辑器中使用。

目前,有 超过 70 个兼容 LSP 的语言服务器许多主流的编程 工具 也支持 LSP ,包括 Eclipse、emacs、GNOME Builder、Atom、vim、Visual Studio 和 Visual Studio Code。

查看英文原文: Swift Adopts the Language Server Protocol


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spring in Action

Spring in Action

Craig Walls / Manning Publications / 2011-6-29 / USD 49.99

Spring in Action, Third Edition has been completely revised to reflect the latest features, tools, practices Spring offers to java developers. It begins by introducing the core concepts of Spring and......一起来看看 《Spring in Action》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具