Facebook押注VS Code

Facebook 近日宣布默认采用 VS Code 作为内部开发环境。


去年 Facebook 宣布停止维护其开源的 Nuclide/Atom-IDE,以及相关的一些库。

Nuclide/Atom-IDE 是 Atom 编辑器的功能包,其通过语言服务器协议与自定义语言服务器交互,为 Atom 提供一系列类似 IDE 的功能。功能包由各种“子包”组成,以单体扩展(atom-ide-ui)构建和发布。

虽然 Facebook 没有强制性限制内部开发者使用什么开发工具,比如一些开发者使用 Vim 与 Emacs,但是更多的开发者还是使用他们自家的 Nuclide/Atom-IDE,去年该工具停止开源维护,但是 Facebook 内部开发者继续在使用着它。到了年底,Facebook 对内部开发者宣布将从 Nuclide 迁移到 VS Code。

Facebook 介绍,为了将当前的 Nuclide 功能与新功能作为 VS Code 的内部扩展,Facebook 已经进行了大量开发工作。目前公司内部已经有大量开发者使用 VS Code。

而现在则更进一步,官方宣布将 VS Code 设置为 Facebook 的默认开发环境,并与微软合作,以帮助增强其远程开发扩展,使开发者能够进行大规模的远程开发

关于二者的合作,具体来看,Facebook 介绍,虽然当前开发者在电脑上本地安装 VS Code,但是大多数开发工作都是直接在其数据中心内单独预留的开发服务器上完成的。

以无缝并且高性能的方式访问这些服务器上的代码是十分必要的,所以 VS Code 远程开发扩展的能力至关重要,具体能够带来的好处是什么呢?

Facebook 认为与本地计算机上可用的硬件相比,这样可以使用更大、更快,或更专用的硬件来工作,为每个对象创建特定的专用环境项目的特定依赖项,而不必担心由于混合或冲突的配置而导致的错误,同时可以支持在多个运行中的开发环境之间快速切换而又不影响本地资源或工具性能的灵活性。

双方就各自在 VS Code 远程开发扩展与 Nuclide 远程开发研发上的经验和专业知识交换了意见。

而关于接下来的计划,Facebook 表示,随着内部迁移到 VS Code,其 Flow 语言现在正要积极改进语言服务协议(LSP)等方面,以更好地确保该语言与 VS Code 可以一起使用。

另一方面是源码控制也在跟进,Facebook 内部使用 Mercurial 作为其源码管理工具,相关的开发工作将继续扩展,以允许直接在 VS Code 中进行源码控制操作,从而使 Facebook 开发者能够适应所有工作流,对其代码进行审核与发布。

还有一点很重要,为什么选择了 VS Code 呢?Facebook 是这样说的:

“VS Code 是一种非常流行的开发工具,微软和开源社区对其提供了大量的投资和支持。VS Code 运行在 macOS、Windows 与 Linux 上,并具有健壮且定义明确的扩展 API,使我们能够继续构建公司进行的大规模开发所需的重要功能。VS Code 是一个我们可以安全地押注开发平台未来的平台。

VS Code牛皮↓↓↓↓↓↓

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

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

相关文章

Linux下软件安装和卸载

在Windows下,我们安装软件基本上是先到网上下载软件的安装包,通常是以.exe和.msi为后缀的文件,然后双击安装包,之后就可以按照软件安装向导一步步进行安装了,但在Linux下,软件的安装方式截然不同。总的来说…

为WPF, UWP 及 Xamarin实现一个简单的消息组件

友情提示:阅读本文大概需要8分钟。欢迎大家点击上方公众号链接关注我,了解新西兰码农生活本文目录:1. 介绍2. Message - 消息3. Subscription - 订阅4. MessageHub - 消息总线4.1 Subscribe - 订阅4.2 Unsubscribe - 取消订阅4.3 Publish - 发…

Mac(OS X)安装、配置并使用MySQL数据库

1、MySQL安装包下载 MySQL Community Server下载地址:http://dev.mysql.com/downloads/mysql/,下载完毕之后安装文件如下所示: 2、MySQL安装 双击安装文件进行安装,出现如下界面: 双击窗体中的“mysql-5.7.10-osx10.9-…

用ASP.NETCore构建可检测的高可用服务

一、前言2019 中国 .NET 开发者峰会(.NET Conf China 2019)于2019年11月10日完美谢幕,校宝在线作为星牌赞助给予了峰会大力支持,我和项斌等一行十位同事以讲师、志愿者的身份公司参与到峰会的支持工作中,我自己很荣幸能…

Mac(OS X)使用brew安装软件

在Linux下,常用的软件包管理工具有RedHat系的yum和Debian系的apk-get,对于Mac的OS X系统来说,同样有这样的形式的软件包管理工具,即:brew。 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能…

SonarQube系列二、分析dotnet core/C#代码

来源:https://www.cnblogs.com/7tiny/p/11342902.html【前言】本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目。目录如下:SonarQube系列一、Linux安装与部署SonarQube系列二、分析dotnet core/C#代码SonarQube系列三、如何…

Eclipse使用Maven插件创建Web项目时出错:Could not resolve archetype org.apache.maven.archetypes

问题描述: 在Eclipse下,使用Maven插件创建Web项目时出错,错误提示如下: 错误信息: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0 from any of the configured repositories. …

ASP.NET Core快速入门(第2章:配置管理)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务9:配置介绍命令行配置Json文件配置从配置文件文本到c#对象实例的映射 - Options 与 Bind配置文件热更新框架设计:C…

怎么写技术简历?

作者:zollty,资深程序员和架构师,私底下是个爱折腾的技术极客,架构师社区合伙人!纯手打,个人多年经验总结。(本人的简历,历年来效果都不错,从校招到高端技术岗位、大厂技…

C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)...

一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整。配置参数,可以放在配置文件中、环境变量中、或数据库表中(如果使用了数据库的话)。通常,配置数据&#xf…

Code Runner for VS Code 突破 1000 万下载量!支持运行超过 40 种语言

记得三年多前,韩老师那时还在写 PHP(是的,没错!在微软写 PHP),同时需要写 Python 和 Node.js 。所以在那时,支持多种语言的 VS Code 已经是笔者的主力编辑器了。唯一不足的是,韩老师…

Firefox UI已迁移至Web Components

这不是一项一蹴而就的工程,Mozilla 开发者表示团队花费了大约两年的时间,采用“增量更新”的方式才逐渐将 Firefox UI 迁移至使用 Web Components 构建。Mozilla 开发者 Brian Grinstead 在博客宣布,经过多年的努力,他已在几个星期…

.Net线程同步技术解读

C#开发者(面试者)都会遇到lock(Monitor),Mutex,Semaphore,SemaphoreSlim这四个与锁相关的C#类型,本文期望以最简洁明了的方式阐述四种对象的区别。什么是线程安全教条式理解如果代码在多线程环境中运行的结果与单线程运行结果一样…

.NET使用VS2010开发Web Service

Web Service是一个面向服务的架构(SOA),不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。基于.NET平台,可以使用Visual Studio来开…

Java 开发Web Service的几种方式

webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录。 1.Axis2 Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axiseclipse开发webservi…

动手造轮子:实现简单的 EventQueue

动手造轮子:实现简单的 EventQueueIntro最近项目里有遇到一些并发的问题,想实现一个队列来将并发的请求一个一个串行处理,可以理解为使用消息队列处理并发问题,之前实现过一个简单的 EventBus,于是想在 EventBus 的基础…

【.NET Core 跨平台 GUI 开发】第二篇:Gtk# 布局入门,初识HBox 和 VBox

这是 Gtk# 系列博文的第二篇。在上一篇博文《编写你的第一个 Gtk# 应用》中,我们提到“一个 Gtk.Window 只能直接包含一个部件”。这意味着,在不做其他额外操作的情况下,如果你向一个 GtkWindow 中添加了一个 GtkLabel (就像上一篇…

Java开发Web Service的几种解决方案

转自:http://blog.csdn.net/zolalad/article/details/25158995 Java开发中经常使用到的几种WebService技术实现方案 随着异构系统互联需求的不断增加,WebService的重要性也日益彰显出来。凭借webservice,我们可以实现基于不同程序语言的项目的…

【.NET Core 跨平台 GUI 开发】第一篇:编写你的第一个 Gtk# 应用

本文是【.NET Core 跨平台 GUI 开发】系列博文的第一篇。该系列博文是一个关于 Gtk# 跨平台应用开发的初级随笔集合。该随笔集合介绍了 GTK 和 Gtk# 的基本信息以及开发方法,并展示了如何使用 .NET Core 技术栈开发基于 Gtk# 的跨平台 GUI 程序。博文假设你已经对 C…

ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务22:课程介绍1.HTTP 处理过程2.WebHost 的配置与启动3.Middleware 与管道4.Routing MiddleWare 介绍任务23:Http请求…