Visual Studio Code编辑器是基于什么构建的?

204

微软新推出的跨平台编辑器 Visual Studio Code 是基于哪些底层技术/库开发的呢?有传言称它只是重新打造了Github的Atom编辑器。


1个回答

302

Visual Studio Code是使用Web技术构建的,基于Github的Electron

Electron是一个应用程序运行时,用于编写本地应用程序,它使用Chromium(Google Chrome构建的浏览器内核)来呈现界面,node.js用于本地API(例如:文件系统访问),它最初是作为Github的Atom代码编辑器的外壳而构建的。(注意:Electron与NW.js非常相似)

Node.js是一个(JavaScript)应用程序运行时,基于Google的V8 JavaScript引擎构建,并使用C和C++代码为每个操作系统提供本机API访问(例如:文件系统访问)

实际上,微软的新产品完全基于开源软件构建,其主要组件由Google创建。

有传言称Visual Studio Code是Github的Atom编辑器的分支或重新命名。这完全不正确。检查Visual Studio Code的源代码可以发现它使用了Electron和Atom Shell Archive,但没有其他来自Atom编辑器的东西。
Visual Studio Code中“编辑器”(用于呈现带有语法高亮、行号等的代码)部分是Microsoft的Monaco编辑器。它与OneDrive、Windows Azure、TypeScript Playground和Visual Studio Online使用的是同一个编辑器。我尚未找到任何有关此编辑器的真实文档,但在网络上有一些文章Omnisharp用于为C#提供智能感知和其他代码编辑工具(例如:重构)

JavaScript Intellisense似乎是全部自定义代码。它提供了令人印象深刻的JavaScript完成,但在许多情况下,它似乎不如Tern(请参见Tern Demo)


2
我已经研究了一天的Code,它改变了我对JS在桌面应用程序中的看法。我看了Atom,非常失望,因为它不能做我从文本编辑器中期望的基本事情。Code证明了我是错的,那么在我的node-desktop/web-app中可以使用哪种文本编辑器控件? - elcuco
4
@elcuco - Ace Editor (http://ace.c9.io/build/kitchen-sink.html) 和 Code Mirror (https://codemirror.net/) 都是 HTML 代码编辑器(我个人更喜欢 Ace)。 - Sevin7
3
值得欣慰的是,软件行业的大佬们正在卷土重来。我相信Erik Gamma(GoF)参与了Visual Studio Code和尚未发布的在线代码编辑器“Monaco”的工具开发,而Anders Hejslberg(Pascal / Delphi的创造者)则主要负责TypeScript的开发(它是JavaScript的超集,使其类型更加安全)。 - Faktor 10
Visual Studio Code 现在已经开源,遵循 MIT 许可证:https://github.com/Microsoft/vscode - Juha Palomäki
6
“Monaco编辑器”现已成为开源项目,其在GitHub上有代码,并在官网上提供了大量文档,包括详细的API文档 - kmote
他们是仅使用 HTML 和 CSS 进行 UI 设计,还是用了 UI 框架? - Menai Ala Eddine - Aladdin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接