在Monaco Editor中,使用标准初始化,例如:
monaco.editor.create(document.getElementById("container"), {
value: "",
language: "csharp"
});
Run Code Online (Sandbox Code Playgroud)
将有一个开箱即用的局部变量代码完成.例如,使用上面的标准初始化,并键入如下代码:
string testVariable = "This is a string";
int aValue = 123;
Run Code Online (Sandbox Code Playgroud)
代码完成将识别"testVariable"和"aValue"变量,并在代码完成列表中显示它们.
但是,如果我们将registerCompletionItemProvider添加到初始化中,如下所示:
//Custom Code Completion function
function createCompleters() {
return [
{
label: 'customFunction1',
kind: monaco.languages.CompletionItemKind.Function,
documentation: "My first Custom Function",
insertText: 'customFunction1()'
},
{
label: 'customFunction2',
kind: monaco.languages.CompletionItemKind.Function,
documentation: "My second Custom Function",
insertText: 'customFunction2()'
}
];
}
//Register the custom completion function into Monaco Editor
monaco.languages.registerCompletionItemProvider('csharp', {
provideCompletionItems: function(model, position) {
return createCompleters();
}
});
//Continue with …Run Code Online (Sandbox Code Playgroud)