Visual Studio Code 编辑器是基于啥构建的

Posted

技术标签:

【中文标题】Visual Studio Code 编辑器是基于啥构建的【英文标题】:What is the Visual Studio Code editor built onVisual Studio Code 编辑器是基于什么构建的 【发布时间】:2015-07-10 01:24:42 【问题描述】:

Microsoft 新的(免费) 跨平台编辑器 Visual Studio Code (2015 年 5 月 29 日推出) 构建了哪些底层技术/库在?有传言说它只是 Github 的 Atom Editor 更名。

【问题讨论】:

还有:What is the framework behind VSCode UI? 【参考方案1】:

Visual Studio Code 是在 Github 的 Electron 之上使用 Web 技术构建的。

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

Node.js 是一个 (javascript) 应用程序运行时,它建立在 Google 的 V8 JavaScript 引擎上,带有 C 和 C++ 代码,使其能够访问每个操作系统的原生 API(例如:文件系统访问)

基本上,微软的新产品完全建立在开源软件的基础上,其主要组件由谷歌创建。

有传言称,Visual Studio 代码是 Github 的 Atom 编辑器的一个分支或更名。这甚至都不是真的。检查 Visual Studio Code 的源代码发现它使用了 Electron 和 Atom Shell Archive,但没有其他内容来自 Atom 编辑器。

Visual Studio Code 的“编辑器”(使用语法高亮、行号等呈现代码的东西。) 部分是 Microsoft 的 Monaco 编辑器。它与用于 OneDrive、Windows Azure、TypeScript Playground 和 Visual Studio Online 的编辑器相同。我还没有从微软找到任何关于这个编辑器的真实文档,但是网上有关于它的some articles。

Omnisharp用于为C#提供IntelliSense等代码编辑工具(例如:重构)

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

【讨论】:

我已经研究了一天的代码,它改变了我对桌面应用程序中 JS 的看法。我看着 Atom 并感到非常失望,因为它无法完成我期望它从文本编辑器中完成的基本操作。代码证明我错了,我可以在我的 node-desktop/web-app 中使用什么文本编辑器控件? @elcuco - The Ace Editor (ace.c9.io/build/kitchen-sink.html) 和 Code Mirror (codemirror.net) 是 HTML 代码编辑器(我个人更喜欢 Ace)。 很高兴看到软件巨头卷土重来,我相信 Erik Gamma (GoF) 已经参与了 Visual Studio 代码工具,并且尚未发布在线“monaco”和 Anders Hejslberg (Pascal/Delphi 的创建者)主要负责 Typescript(Javascript 的超集使其类型安全) Visual Studio Code 现在是开源的,在 MIT 许可下:github.com/Microsoft/vscode 摩纳哥编辑现在也是open source,并且有很多documentation on their hub,包括extensive API documentation

以上是关于Visual Studio Code 编辑器是基于啥构建的的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Visual Studio Code 扩展中访问鼠标事件

如何评价Visual Studio Code

visual studio 和visual studio code 的区别

visual studio code 怎么用

Visual Studio 2015 与 Visual Studio Code 啥关系 或 区别

visual studio code怎么变成中文