Swift采用语言服务器协议

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值