臉書宣布將把 Visual Studio Code 當作臉書的預設開發環境,並與微軟合作,強化遠端開發擴充套件,支援工程師大規模地進行遠端開發,並且也持續的為內部開發專用的擴充套件。
過去臉書內部沒有強制工程師使用一樣的開發環境,Vim 以及 Emacs 都有人使用,也有許多工程師使用臉書內部的統一開發環境 Nuclide。Nuclide 是一組建立在 Atom 編輯器上的套件,支援臉書開發人員的日常工作流程以及多種開發語言,雖然在 2018 年臉書就已經淘汰 Nuclide 開源的版本,但是內部仍然還繼續使用。
2018 年末臉書決定要將 Nuclide 搬遷到 Visual Studio Code,而為了將原本 Nuclide 中的功能搬到 Visual Studio Code 上,臉書內部進行了大量的開發工作,目前內部 Visual Studio Code 的 Beta 測試版也已經受臉書工程師廣泛採用。
臉書提到,之所以會選擇 Visual Studio Code 作為臉書內部的統一開發環境,因為 Visual Studio Code 是一個開源專案,可以在 macOS、Windows 和 Linux 上運作,並且具有強健且明確定義的擴充套件 API,企業可以自行開發需要的功能。
臉書大量使用 Visual Studio Code 遠端開發功能,臉書提到,即便工程師在本機端安裝了 Visual Studio Code,但大多數的開發都是在遠端資料中心裡的開發伺服器中完成的,遠端開發帶來三個優勢,除了開發工作可以直接使用比本機電腦更高級的硬體之外,企業也可以為每個專案的相依項目,建立專用的環境,而不需要擔心配置衝突造成的錯誤,另外,遠端開發讓工程師可以快速地在多重開發環境切換,不會影響本機資源以及工具效能,能加速開發工作流程。
由於過去開發 Nuclide 的經驗,臉書現在與微軟合作,除了使用微軟的 Visual Studio Code 遠端開發擴充套件之外,他們也將參與擴充套件的開發工作,讓 Visual Studio Code 能夠支援大規模的遠端開發。
臉書提到,他們也還持續的為 Visual Studio Code 開發一些內部使用的擴充套件,包括改善內部使用的開發語言 Flow 對 LSP(Language Service Protocol)的支援,使其與 Visual Studio Code 更良好地相容,而在程式碼控制方面,臉書內部使用 Mercurial 作為程式碼控制基礎設施,並且正在開發擴充套件使 Visual Studio Code 能直接操作程式碼。