红帽、微软和 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跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ConcurrentHashMap总结

转载自 ConcurrentHashMap总结并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一…

最全面的常用正则表达式大全

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。 转载至…

php access allow,PHP标头不适用于Access-Control-Allow-Origin

我使用jQuery File Upload plugin by Blueimp将图像上传到服务器.问题是,发送服务器是admin.example.com,存储图像的接收服务器位于www.example.com上.相同的域,不同的子域.XMLHttpRequest cannot load http://www.example.com/upload/. Origin http://admin.example.com is no…

.NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高,很有必要写个深入浅出的系列文章,本节内容帮助你入门。我将可能…

java语言中的访问权限控制符有哪些,18.Java的访问控制符

Java的访问控制符一.类的成员的可见性对于类的成员变量和成员方法,我们可以通过设定一定的访问可见性来限定应用范围。(一).privateprivate表示当前类访问权限。如果类里的一个成员(包括成员变量、方法、构造器等)使用private访问控制符来修饰,则这个成员…

ConcurrentHashMap能完全替代HashTable吗?

转载自 ConcurrentHashMap能完全替代HashTable吗?关于ConcurrentHashMap在之前的ConcurrentHashMap原理分析中已经解释了原理,而HashTable其实大抵上只是对HashMap的线程安全的封装,在JDK7与JDK8中HashMap的实现中解释了HashMap的原理。 至此…

购物车的功能——界面源码

里面所用到的图片资源统一都在“我的资源”里面&#xff0c;相对应的图片是“ 购物车源码相关图片 ”http://download.csdn.net/detail/qq_34137397/9665878&#xff0c; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o…

Asp.Net Core 发布和部署( MacOS + Linux + Nginx )

前言 在上篇文章中&#xff0c;主要介绍了 Dotnet Core Run 命令&#xff0c;这篇文章主要是讲解如何在Linux中&#xff0c;对 Asp.Net Core 的程序进行发布和部署。 有关如何在 Jexus 中进行部署&#xff0c;请参见本人的另一篇文章&#xff1a;http://www.cnblogs.com/savorb…

php渐变字,jQuery_jQuery实现的立体文字渐变效果,先截两个图看看: 效果很 - phpStudy...

jQuery实现的立体文字渐变效果先截两个图看看&#xff1a;效果很不错吧&#xff1f;会不会误以为这些字体是图片&#xff1f;这可不是图片&#xff0c;而是用JS实现的在线演示 http://demo.phpstudy.net/js/gradient-test/demo.htm下面来简单分享下实现过程及原理(网站中使用了…

https 单向认证和双向认证

转载自 https 单向认证和双向认证 一、Http HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff0c;是互联网上使用最广泛的一种协议&#xff0c;所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的&#xff0c;也就是明文的&#xff0c;因此使用HTT…

python中将整数转化为八进制的函数,Python进制转化

Python中的进制有二进制、八进制、十进制、十六进制&#xff0c;用python的内置函数可以方便的进行不同进制之间的转换&#xff0c;二、八、十六进制数字表示前面分别添加0b、0o、0x(前面为零)。二进制八进制十进制十六进制0b1010o1271230x1a转化为十进制int()可以接收一个或者…

Asp.Net Core 发布和部署(Linux + Jexus )

前言 在上篇文章中&#xff0c;主要介绍了 Dotnet Core Run 命令&#xff0c;这篇文章主要是讲解如何在 asp.net core 中对我们的已经完成的程序进行发布和部署。 有关如何使用 Nginx 进行部署&#xff0c;请参见本人的另一篇文章&#xff1a;http://www.cnblogs.com/savorboar…

购物车的功能——CSS源码

里面所用到的图片资源统一都在“我的资源”里面&#xff0c;相对应的图片是“ 购物车源码相关图片 ”http://download.csdn.net/detail/qq_34137397/9665878&#xff0c; 此CSS的对应的是“购物车的功能——界面源码”的内容 charset "gb2312"; /* CSS Document */…

Java NIO系列教程(十 五)Java NIO Path

转载自 Java NIO系列教程&#xff08;十 五&#xff09;Java NIO Path译文链接 译者&#xff1a;章筱虎 Java的Path接口是Java NIO2 的一部分&#xff0c;是对Java6 和Java7的 NIO的更新。Java的Path接口在Java7 中被添加到Java NIO&#xff0c;位于java.nio.file包中&#x…

discuz 版块导航function_forumlist.php,Discuz! X2“扩建”左侧版块导航 让社区层次一目了然...

一般情况下&#xff0c;当社区具有大量栏目和版块的时候&#xff0c;用户往往很容易迷失其中&#xff0c;不清楚自己所在的版块位置&#xff0c;同时也很难找到“目的”版块&#xff0c;容易造成不良的用户体验。Discuz!X2针对此问题在“用户体验”方面做了深度优化。Discuz!X2…

学习ASP.NET Core,你必须了解无处不在的“依赖注入”

ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道&#xff0c;不论是管道自身的构建&#xff0c;还是Server和Middleware自身的实现&#xff0c;以及构建在这个管道的应用&#xff0c;都需要相应的服务提供支持&#xff0c;ASP.NET Core自身提供了一个DI容…

Java 进程间文件锁FileLock详解

转载自 Java 进程间文件锁FileLock详解最近需要在两个进程中对同一个文件进行操作&#xff0c;正好Java 提供了文件锁FileLock类&#xff0c;利用这个类可以控制不同程序(JVM)对同一文件的并发访问&#xff0c;实现进程间文件同步操作。FileLock是java 1.4 版本后出现的一个类…

求瑞年的java程序,java 计算瑞年的方法

任何语言都有可能计算某一年是否为瑞年的方法&#xff0c;也就是说一年有 366 天&#xff0c;每隔4 年就出现一次。最基本的算法如下&#xff1a;if year is divisible by 400 thenis_leap_yearelse if year is divisible by 100 thennot_leap_yearelse if year is divisible b…

购物车的功能——JS源码

此CSS的对应的是“购物车的功能——界面源码”的内容和“购物车的功能——CSS源码”的内容&#xff0c;希望大家不要乱 $(function(){//点击复选框全选或全不选效果$("#allCheckBox").click(function(){var checked$(this).is(":checked");$(".cart_t…

.NET Core应用类型(Portable apps amp; Self-contained apps)

介绍 有许多种方式可以用来考虑构建应用的类型&#xff0c;通常类型用来描述一个特定的执行模型或者基于此的应用。举例说&#xff1a;控制台应用&#xff08;Console Application&#xff09;、Web应用&#xff08;Web Application&#xff09;等等。所有这些类型的应用都可以…