Facebook has said it is making Microsoft’s Visual Studio Code its default development environment internally. It is also partnering with Microsoft to enhance the remote development extensions for it in a bid to help engineers do remote development at scale.
The social media giant disclosed that it had no mandatory development environment in the past: its developers had built the Facebook platform using a variety of tools such as vim or Emacs, even though the firm had its own development environment called Nuclide.
Now, it appears that Visual Studio Code has won Facebook over thanks to the level of investment and support from Microsoft and the open source community, and the fact that it runs on Windows, Linux and MacOS.
In addition, Visual Studio Code has “a robust and well-defined extension API that enables us to continue building the important capabilities required for the large-scale development that is done at the company,” according to Joel Marcey, Open source program technical lead and developer advocate at Facebook.
Facebook apparently informed staff in 2018 about the move from Nuclide to Visual Studio Code. Development work has been done to migrate the current Nuclide functionality, along with some new features, as internal-facing extensions for Visual Studio Code.
Meanwhile, Microsoft announced in May that it was working on extensions for Visual Studio Code to enable developers to work remotely on code running in containers or virtual machines on a server somewhere in their datacentre.
Recognising a good thing when it sees it, Facebook said it is not just making use of the remote development extensions, but is actively involved in helping Microsoft to build them.
“While our use cases may be more advanced than most development teams given our scale, any developer can gain the benefits of remote development,” said Marcey.
These benefits include the ability to work with more powerful or specialised hardware than the developer has in front of them, and the flexibility of being able to quickly switch between multiple development environments without impacting local resources or tool performance, Facebook said.