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 和visual studio code 的区别