我在 React 应用程序中使用 Monaco Editor,像这样实例化它:
<Editor
height="70vh"
defaultLanguage="C"
value={myCode}
onChange={handleChange}
/>
如果我将“defaultLanguage”设置为“javascript”,那么它会验证我输入的任何内容,并以红色突出显示任何不正确的 javaScript。但是,我希望能够验证 C 代码,但是当我将 defaultLanguage 更改为“C”时,它不会突出显示任何错误。它仍然允许我按 CTRL-space 来查看建议等,但如果我输入废话,它不会突出显示它。
我做错了什么吗?
Monaco 提供了一些简单的语言支持和一些完整的支持。 Javascript、Typescript、CSS、HTML 和 JSON 属于第二类。检查节点模块文件夹 monaco-editor/esm/vs,其中有一个文件夹
basic-languages
和一个文件夹language
。基本语言支持仅包括语法高亮显示。要获得更多功能,您必须编写自己的解析器并由此处理编辑器内容更改。虽然这是一个很大的话题,但不适合作为一个问答帖子。