红帽、微软和 Codenvy 联合推出语言服务器协定(Language Server Protocol,LSP)项目
微软、红帽及容器开发环境供应商Codenvy本周在Red Hat DevNation开放源码大会上宣布将共同发展语言服务器协定(Language Server Protocol,LSP)项目,让不同的程序编辑器与集成开发环境(IDE)方便嵌入各种程序语言,允许开发人员在最喜爱的工具中使用各种语言来撰写程序。
LSP是个开放源码项目,唯一基于JSON的语言服务器数据交换协定,目前由GitHub代管,并采用CC及MIT授权。该协定主要用来促进编辑器及语言服务器之间的互动,允许开发人员在各种编辑器或整合开发环境中存取智慧型的程序语言工具,像是以符号搜寻、语法分析、自动完成代码、移至定义、描绘轮廓或重构等。
每款程序语言都有独立的语言服务器,这些服务器可能是由社群或语言供应商所建置,Codenvy已展开语言服务器的登记服务,以期打造支持LSP的语言服务器列表,以利各种不同的编辑器存取。
Codenvy执行长Tyler Jewell指出,过去绝大多数的语言都只会针对单一工具进行最佳化,阻碍了开发人员使用他们最喜爱的编辑器,也局限了程序语言的推广对象,透过微软、红帽及Codenvy所共同支持的LSP,开发人员将可在自己喜爱的编辑器中使用任何语言。
除了可让开发人员在习惯的编辑器中采用新语言之外,程序语言供应商也可透过LSP让程序语言支持更多的操作系统及工具,此外,微软的Visual Studio Code及Eclipse Che都已添增对LSP的支持。
现阶段LSP已支持C++、PowerShell、JSON、CSS/LESS/SASS、Xtext、Crane PHP、Haxe、Java和RAML。集成开发环境方面,微软Visual Studio Code和Eclipse Che目前已经实现了LSP协议。LSP协议在Eclipse Che的实现是个开源代码分支,第三季度开始提供给一般用户下载。同时,红帽也正在打造首个独立的Java语言服务器。
语言服务器协议方面的协作提供的功能包括:
开发人员的灵活性和选择性:开发人员可以在使用新编程语言时试用各种丰富编辑体验,而同时仍继续使用自己的首选工具。
多个操作系统:编程语言提供商可以在多种操作系统里支持几种工具,可最大限度地实现覆盖范围和和相关性。
编辑器支持:微软Visual Studio Code和Eclipse Che、新一代的Eclipse IDE增添了对LSP协议的支持。
多种编程语言的支持:除了今天起可供使用的程语言服务器,年内计划将启动更多支持LSP的语言服务器。其中包括Omnisharp项目的C#, Typefox的xText和R、Ensime的JavaFX和微软的CSS。红帽开源了一个项目的工作,以提供首个独立的Java语言服务器,红帽提议将其捐给Eclipse基金会。
开放合作:Codenvy、微软和红帽致力于与开源社区合作开发LSP协议。LSP协议托管在公共存储服务器里,任何人都可以提交反馈,或是贡献项目修改请求,达到提高和完善LSP项目的目的。
语言服务器注册:语言服务器在全球性注册表里公开发布,该注册表由Codenvy建立,是Eclipse项目的一部分,托管在Eclipse基金会里。任何工具软件借助全球性注册表就可以找到语言服务器并对其进行使用。
原文地址:http://soft.zdnet.com.cn/software_zone/2016/0630/3079914.shtml
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
红帽、微软和 Codenvy 联合推出语言服务器协定(Language Server Protocol,LSP)项目相关推荐
- 红帽、微软和 Codenvy 联合推出开源协议 LSP
微软.红帽及容器开发环境供应商Codenvy本周在Red Hat DevNation开放源码大会上宣布将共同发展语言服务器协定(Language Server Protocol,LSP)项目,让不同的 ...
- 服务器云ide_语言服务器协议如何影响IDE的未来
服务器云ide The release of Visual Studio Code single-handedly impacted the developer ecosystem in such a ...
- jdt eclipse_Eclipse JDT语言服务器项目
jdt eclipse Eclipse JDT Language Server(又名jdt.ls)是在Eclipse Foundation孵化的语言服务器协议的开源Java语言特定实现. 从语言服务器 ...
- C/C++语言的服务器LS调研 (Language Server 实现代码索引 跳转定义 智能提示等功能)
LS是什么 先说一下LSP(Language Server Protocol),它是语言服务器协议,是一种被用于编辑器或集成开发环境 与 支持比如自动补全,定义跳转,查找所有引用等语言特性的语言服务器 ...
- 微软和 Windows 的发展简史
20世纪60年代中期,美国达特茅斯学院院长.匈牙利人约翰·凯梅尼(J. Kemeny)和数学系教授托马斯·卡茨(Thomas E. Kurtz)认为,像FORTRAN(世界上最早出现的计算机高级程序设 ...
- 微软和NASA强强联手,重磅推出Python免费课程
点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货第一时间推给你!!! 来源:程序员书库(ID:CodingBook) 微软宣布和美国宇航局(NA ...
- 微软和 SAP 扩展了云环境中的合作关系
近期在SAP的SAPPHIRE NOW大会上,微软和SAP宣布了两家公司间扩展的合作关系,涵盖了在Azure上对包括SAP HANA企业版负载在内的SAP平台的更深层支持.除了对HANA产品更多的支持 ...
- Qt Creator使用语言服务器
Qt Creator使用语言服务器 使用语言服务器 为语言服务器添加MIME类型 指定语言客户端的设置 支持的定位器过滤器 报告问题 使用语言服务器 对于几种编程语言,可以使用语言服务器,只要IDE支 ...
- Visual Studio的语言服务器协议
语言服务器协议(LSP)是Visual Studio Code的一个重要组件.语言服务器实际上是单独运行的编译器或分析器,它负责处理各种任务,如编译器错误报告.文本悬浮.代码自动完成(也就是Intel ...
最新文章
- workday与oracle,workingday与workday的区别 – 手机爱问
- 《Adobe Illustrator CS6中文版经典教程(彩色版)》—第0课0.11节创建与应用图案...
- android 分辨率合集,Android编程之分辨率处理相关代码段合集
- LibSvm python 调试实验
- Oracle sqlplus 各种登录方式
- c++学习笔记之指针
- 西工大java高级网络编程_奥鹏西工大16春《JAVA高级网络编程》平时作业
- java isight zmf_isight集成catia和abaqus,nastran流程详解
- SpringFramework之javax.servlet.http.HttpSession
- win10无法成功完成操作,文件包含病毒怎么办
- 使用wireshark抓netlink包问题
- mysql -d -e_mysql常用函数
- The Stanford Geostatistical Modeling Software(地质统计软件)
- 【观点讨论与支撑】明星和成功人士真的就只有成功的一面吗?背后的心酸和痛苦的经历我感觉更重要!
- 实体词典 情感词典_基于情感词典的情感分析
- el-table 树形表格 自定义展开图标_目前比较满意的安卓桌面启动器:非线性动画 + 精美图标包...
- 天思ERP软件常见问题解决方案
- Win10极限精简版Tiny10发布:仅占C盘4.3GB
- Windows10安装韩语输入法详细教程(图文)
- 隆重推荐:吴闲云 - 煮酒探西游
热门文章
- lua工具库penlight--08额外的库(二)
- aswing学习笔记3-在JPanel中,如何将.png格式的图片设置为背景?
- VMware:为中国中小企业建立“外部云计算”
- Martin Fowler:数字化时代,远程与本地协同工作孰优孰劣?| IDCF
- 实现一个登录:Mac+.NET 5+Identity+JWT+VS Code
- BeetleX.WebFamily文件图片管理集成
- 张善友: .NET社区运营 | 2021 中国开发者生态峰会
- EPPlus导出Excel感觉很不错~~~
- 使用 Tye 辅助开发 k8s 应用竟如此简单(四)
- 没有Kubernets,学习Docker还有用吗?