visual-studio-code - VS Code 的架构

标签 visual-studio-code architecture electron cross-platform

是否有关于构建 VS Code 的文章或演示文稿 - 架构、插件方法、与操作系统特定内容等进行通信的任何能力等?

来自 .NET,我们只有 Windows 应用程序,但想要跨平台。第一个想法是将内容移至 .NET Core,尽管我不确定这对于使用 Windows 特定资源的应用程序有多困难。无论如何,我们也在研究其他选择,包括从头开始编写一些东西的可能性。 VS Code 是跨平台和可扩展的。我只知道 Electron 用于 UI,您几乎可以为任何部分编写插件,并且它是开源的(或者至少 Codium 是)。

因此,我想了解更多关于架构的知识,组件使用了哪些其他语言以及为什么,遇到了哪些问题等。我希望找到一些文章和演示,或者相关人员的讨论。但除了一些基本信息,我最终找到了如何使用 VS Code 创建解决方案。

那么你知道一些好的链接吗,也许不是专门关于 VS Code 而是类似的架构解决方案?

谢谢

最佳答案

VSCode 是“简单”的基于 Electron 的编辑器/IDE/开发平台。如果你想构建一个通用的跨平台应用程序,也许你应该开始研究 Electron(或 NW.js)而不是 VSCode。

一切都是 JavaScript(或 TypeScript)、Node.JS 进程和嵌入式 Chromium 浏览器,用于渲染“网页”以构建应用程序。通常,渲染进程和主进程并行运行,交换消息以进行通信。真正的 UI 部分实际上是您想要的任何东西,例如 React、Angular 或一些普通的 HTML+CSS+JavaScript。

本质上 - 您正在发布带有预加载网页和捆绑 Node.JS 后端的浏览器作为您的应用程序。您的应用程序架构的主要部分将与使用 HTML5 的任何基于浏览器的应用程序相同。像使用本地存储, session 存储等。

Electron 文档 https://www.electronjs.org/docs/tutorial/application-architecture 上描述了一些基本的高级架构.

Electron 内部架构概览:https://www.youtube.com/watch?v=oTDjyMTZU1s

由于您可能已经拥有大量 C# 代码和库 - 以及 C# 编码器 - 您可能想要重用,因此还有一个 .NET 版本的 Electron https://github.com/ElectronNET/Electron.NET .例如,如果您想在 Blazor 中执行 UI。尽管如此,该架构与您已经完成的 Web 应用程序几乎相同。您只需捆绑浏览器和后端。

关于visual-studio-code - VS Code 的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62241119/

相关文章:

visual-studio-code - 如何自定义制表符到空格的转换因子?

visual-studio-code - vscode中是否有办法只放大编辑器

java - REST API 的问题

node.js - 构建我的Electro-Vue应用进行生产后的白屏

certificate - 是否可以在没有证书的情况下自动更新 Electron 应用程序?

javascript - 如何在 CSS 规则中选择具有 Windows 格式路径的属性?

visual-studio-code - 忽略 tasks.json 中先前构建任务的错误

zend-framework - Zend 模型架构

asp.net - 需要有关大型 ASP.NET 应用程序的帮助

javascript - 在Node.js中使用edge.js处理C#.NET事件以获取 Electron