如何在 Monaco Editor 中实现更多语言支持?
How can I implement more languages support in Monaco Editor?
我想将 Monaco Editor 用于个人项目,但我看到它只是默认支持 html/css/javascript
我希望它支持更多语言,例如 Java 或 Python
我找不到任何关于如何实现这个的清晰教程,所以如果有人已经这样做或知道如何做,我将不胜感激
Monaco 为 Java 和 Python(以及许多其他语言)提供了基本着色。如果您有兴趣为特定语言编写自己的语言服务,this playground example 应该足以让您获得原型工作。
如果您想为某种语言自定义语法突出显示,monaco 允许使用相关库 monarch 允许您使用 JSON.
指定突出显示
由于你的问题有点含糊,你应该澄清你在你的项目中试图做什么。如果您希望复制 vscode 提供的功能和适当的语言服务器扩展(例如 vscode-java),则需要为您的应用程序实现自定义语言服务器(link 在第一段中提供)由于摩纳哥提供的 API 非常简单,但它仍然不是一项微不足道的任务。
另一方面,如果您想要的只是语言 A、B 等的语法 highlighting/coloring,请利用 monaco 提供的语法,或者查看第三方或自定义 monarch 荧光笔.希望这有帮助。
我想将 Monaco Editor 用于个人项目,但我看到它只是默认支持 html/css/javascript
我希望它支持更多语言,例如 Java 或 Python
我找不到任何关于如何实现这个的清晰教程,所以如果有人已经这样做或知道如何做,我将不胜感激
Monaco 为 Java 和 Python(以及许多其他语言)提供了基本着色。如果您有兴趣为特定语言编写自己的语言服务,this playground example 应该足以让您获得原型工作。
如果您想为某种语言自定义语法突出显示,monaco 允许使用相关库 monarch 允许您使用 JSON.
指定突出显示由于你的问题有点含糊,你应该澄清你在你的项目中试图做什么。如果您希望复制 vscode 提供的功能和适当的语言服务器扩展(例如 vscode-java),则需要为您的应用程序实现自定义语言服务器(link 在第一段中提供)由于摩纳哥提供的 API 非常简单,但它仍然不是一项微不足道的任务。
另一方面,如果您想要的只是语言 A、B 等的语法 highlighting/coloring,请利用 monaco 提供的语法,或者查看第三方或自定义 monarch 荧光笔.希望这有帮助。