摩纳哥编辑器是VS代码的完全特色代码编辑器。查看VS代码文档以查看一些受支持的功能。

尝试编辑器,并在我们的交互式操场上查看各种示例。
操场是了解如何使用编辑器的最佳方法,即支持哪些功能,尝试不同版本并为错误报告创建最小的可重复示例。
> npm install monaco-editor
您会得到:
/esm :编辑器的ESM版本(与EG WebPack兼容)/dev :AMD捆绑,未更新/min :AMD捆绑并更新/min-maps : min的源地图monaco.d.ts :这指定了编辑器的API(这是实际版本的,其他所有内容都被视为私有,并且可能会随着任何版本而破裂)。建议针对dev版本和生产中开发使用min版本。
摩纳哥编辑以为代码的文本编辑器而闻名。但是,这有点细微。有效地使用摩纳哥编辑需要对基本概念的一些基本理解。
模型是摩纳哥编辑的核心。这是您在管理内容时与之互动的。一个模型表示已打开的文件。这可以代表文件系统上存在的文件,但不必这样做。例如,该模型包含文本内容,确定内容的语言,并跟踪内容的编辑历史记录。
每个模型均由URI标识。这就是为什么两个模型都无法具有相同的URI的原因。理想情况下,当您代表摩纳哥编辑中的内容时,您应该考虑一个与用户编辑的文件匹配的虚拟文件系统。例如,您可以将file:///用作基本路径。如果在没有URI的情况下创建模型,则其URI将是inmemory://model/1 。随着创建更多模型的数字增加。
编辑器是面对模型视图的用户。这就是将其附加到DOM的原因以及您的用户在视觉上看到的内容。典型的编辑器操作正在显示模型,管理视图状态或执行操作或命令。
提供商提供智能编辑器功能。例如,这包括完成和悬停信息。它与语言服务器协议功能不同,但通常映射到语言服务器协议功能。
提供商从事模型。一些智能功能取决于文件URI。例如,为了解决Typescript解决导入,或者让JSON Intellisense确定哪种JSON模式适用于哪个模型。因此,选择适当的uris很重要。
许多相关的对象通常实现.dispose()方法。此方法旨在在不再需要资源时进行清理。例如,呼叫model.dispose()将取消注册,从而释放新模型的URI。编辑人员应处置以释放资源并删除其模型听众。
monaco.d.ts读取它们。在此存储库中为与摩纳哥编辑有关的任何问题创建问题。请搜索现有问题以避免重复。
❓VS代码与摩纳哥编辑之间有什么关系?
摩纳哥编辑器是直接从VS代码来源生成的,其中一些围绕着代码需要使其在房屋外部的Web浏览器中运行的服务。
❓VS Code的版本与摩纳哥编辑版本之间有什么关系?
没有任何。摩纳哥编辑是一个库,它直接反映了源代码。
❓我已经为VS代码写了一个扩展程序,它会在浏览器中使用摩纳哥编辑吗?
不。
注意:如果扩展程序完全基于LSP,并且语言服务器是在JavaScript中撰写的,则可能。
❓为什么所有这些网络工作者,为什么我应该关心?
语言服务创建网络工人来计算UI线程之外的重型东西。它们几乎不花任何钱在资源开销方面,只要您让它们工作(请参阅上面的跨域案例),您就不必担心它们。
❓这个loader.js是什么?我可以使用require.js吗?
这是我们在VS代码中使用的AMD加载程序。是的。
❓我看到警告“无法创建Web Worker”。我应该怎么办?
HTML5不允许在file://创建Web Worker。请在http://或https://方案上加载编辑器。
❓在移动浏览器或移动Web应用程序框架中支持编辑器?
不。
❓为什么编辑不支持文本男人语法?
monaco-editor , vscode-oniguruma和vscode-textmate组合在一起,以在编辑器中获得TM Grammar支持。 我们欢迎社区的贡献!请参阅贡献有关如何有效贡献的详细信息,如何从来源运行编辑器以及如何调试和解决问题。
该项目采用了Microsoft开源的行为代码。有关更多信息,请参见《行为守则常见问题守则》或与其他问题或评论联系[email protected]。
根据MIT许可获得许可。