![](/img/trans.png)
[英]Monaco: What is the best way to create a language syntax definition for a custom language in the monaco-editor?
[英]Monaco Editor Custom Defined Language Intellisense
我是摩纳哥编辑的新手。 我正在尝试在我的 Web 应用程序中包含 Monaco 编辑器。 我想知道如何将我定义的自定义语言添加到具有丰富 IntelliSense 和验证功能的 Monaco 编辑器中。 谁可以帮我这个事? 谢谢你。
您可以通过定义自己的自定义CompletionItemProvider
来实现这一点。
我建议您查看Completion 提供程序示例以开始使用。
这是带有动态添加的关键字的 CompletionItemProvider 的示例。
monaco.languages.registerCompletionItemProvider('CustomExpressionLanguage', {
provideCompletionItems: () => {
if (!items || items.length <= 0)
return { suggestions: [] };
window.varSuggestions = items.map(function (x) {
const one = {
label: x.Value,
kind: monaco.languages.CompletionItemKind.Keyword,
insertText: `Col("${x.Key}")`,
insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet
};
return one;
});
window.pythonSuggestions = window.pythonMathMethods.map((x) => {
var item = {
label: x.label,
kind: monaco.languages.CompletionItemKind.Funcion,
insertText: `${x.label}${x.arguments}`,
documentation: x.documentation,
insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet
};
return item;
});
window.suggestions = window.varSuggestions.concat(window.pythonSuggestions);
return { suggestions: window.suggestions };
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.