Swift 采用语言服务器协议

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

苹果的 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


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

查看所有标签

猜你喜欢:

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

算法设计、分析与实现

算法设计、分析与实现

徐子珊 / 2012-10 / 65.00元

《算法设计、分析与实现:c、c++和java》由徐子珊编著,第1章~第6章按算法设计技巧分成渐增型算法、分治算法、动态规划算法、贪婪算法、回溯算法和图的搜索算法。每章针对一些经典问题给出解决问题的算法,并分析算法的时间复杂度。这样对于初学者来说,按照算法的设计方法划分,算法思想的阐述比较集中,有利于快速入门理解算法的精髓所在。一旦具备了算法设计的基本方法,按应用领域划分专题深入学习,读者可以结合已......一起来看看 《算法设计、分析与实现》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码