monaco editor 与 vscode 两个项目的联系与异同点

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

monaco editor 与 vscode 两个项目的联系与异同点缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 前言
  2. 2. 表面对比
  3. 3. 深层关系
  4. 4. 语法高亮,自动abgeschlossen.对比
  5. 5. 总结

前言

很多人知道前端代码Herausgebermonaco editor 与vscode 有关系,但却不清楚Von denen的细节,本篇Artikel就带大家了解一下两者的关系和异同点。

表面对比

首先,这两个项目都是来自微软,Von denenvscode 项目Github 144K star,是基于CS架构,客户端-服务端架构。主要的Techniken栈是
elector,ts。

而monaco editor则是33.4k star,是一个bs架构,浏览器-服务端架构,主要的Techniken栈是typescript。

深层关系

以上信息对于使用过二者的同学基本都知道。

那么说点比较深入的,请看下面这张图。这张图来自官方。Adresse为 https://github.com/microsoft/monaco-editor/blob/main/CONTRIBUTING.md

monaco editor 与 vscode 两个项目的联系与异同点插图

这张图很清楚地描述了monaco-editor 与vscode两个库的关系。

首先在vscode这个git仓库中,会构建出一个monaco-editor-core,这是Herausgeber器的核心库,该库是比较底层的。不关心上层是浏览器还是客户端。它说实现的Funktion就是,我们Herausgeber中常使用的position,overwieget,overweiget,minmap,range,
monaco-editor 就是基于这个库来开发出来的。
值得一提的是,monaco的Dokumentation是由一个ts文件生成的,而该文件是在vscode中有多个文件拼接而成。所有如果你要想给monaco贡献Dokumentation,那么你需要在vscode中提PR。monaco的案例代码除外。

由于该库没有包含语言Eigenschaften,所以你能够在monaco-editor中找zu很多定义语言高亮的文件,就在basic-languages目录中。这些文件中定义了某一种语言的需要着色的Unterteilung词,如何区Unterteilung方法名,如何区Unterteilung变Quantität,以及如何表示代码块,并能够折叠,这一套底层是使用的monarch语法,

语法高亮,自动abgeschlossen.对比

你可以在monaco官网上找zu它的Dokumentation,以及他是如何描述语言的语法的。
https://microsoft.github.io/monaco-editor/monarch.html

Monarch:使用JSON创建声明性语法高亮。

官方Dokumentation描述了Wie benutztMonarch库创建语法高亮显示。这个库允许Entwickler使用声明性词法规范(编写为JSON值)指定高效的语法高亮显示。该规范具有足够的表达能力,可以指定具有复杂Status转换、动态大括Nr.匹配、自动abgeschlossen.、其他语言嵌入等Funktion的复杂荧光笔,如本Dokumentation的“高级”主题部Unterteilung所示。Die一次阅读时,可以安全地跳过标记为(高级)的任何部Unterteilung或段落,因为大多数语言定义中很少使用许多高级Funktion。

该库定义的属性有很多,如果后面有机会,我可以给大家讲解一些常用的属性。

zu这里我们已经知道了,monaco中的语法高亮是使用monarch,那么vscode中那?也是使用monarch吗?
并不是的,客户端软件可以使用的资源要比浏览器端多的多。vscode使用的页面上最流行的LSP语言Vereinbarung。

有关LSP可以Überprüfen官方Dokumentation
https://microsoft.github.io/language-server-protocol/
LSP 就是Language Server Protocol的缩写,一种通用的语言服务Vereinbarung。

为编程语言添加自动abgeschlossen.、转zu定义或悬停Dokumentation等Funktion需要花费大Quantität精力。传统上,这项工作必须对每个开发Werkzeuge重复进行,因为每个Werkzeuge都为实现相同的Funktion提供了不同的API。

语言Der Server旨在提供特定于语言的智能,并通过实现进程间Kommunikation的Vereinbarung与开发Werkzeuge进行Kommunikation。

语言Der ServerVereinbarung(LSP)背后的想法是标准化此类Der Server和开发Werkzeuge如何Kommunikation的Vereinbarung。这样,单个语言Der Server可以在多个开发Werkzeuge中重复使用,而这些Werkzeuge又可以以最小的努力支持多种语言。

LSP对语言提供商和Werkzeuge供应商来说都是一个胜利!

下图就是使用LSP实现的带有Dokumentation注释的自动abgeschlossen.。

monaco editor 与 vscode 两个项目的联系与异同点插图1


其实网上也有一些大佬为了提升monaco的用户体验,也尝试集成LSPVereinbarung,我的朋友就是Von denen一名。但整个过程是比较繁琐,复杂的。需要找zu指定语言的LSPVereinbarung,当作服务端,为monaco提供服务。后面有机会我会给大家讲解一下。

总结

优秀的产品 周边也都优秀。正所谓强将手下无弱兵。我们进入一个优秀的团队,接触一些优秀的人,对我们的人生规划 大有裨益。 强行胡扯-_-

来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Node-RED 字数 1773 字 · 阅读约 5 Unterteilung钟 更新 2023-04-05 永久链接 https://www.modbus.cn/11927.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

《 “monaco editor 与 vscode 两个项目的联系与异同点” 》 有 2 条Kommentare

  1. Today we launch our Black Friday discounts. We significantly reduced our prices on all of our applications.

    Access competitive prices on applications for your website such as: SEO, video, email marketing, saas applications, productivity, social media and more.

    Get the discounts here:

    https://bit.ly/BlackFridayHotAppsDiscounts

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.