monaco编辑器版本:0.17.0 浏览器:Chrome 操作系统:Windows 10
您好eveyone,我在一个奇怪的错误面前。
使用executeEdits删除单词后,我返回了一组建议。 因此,当我与特定单词匹配时,将其删除,并显示与该匹配相对应的建议。 所以我看到了建议列表。通常,当我从该列表开始手动编写单词时,建议列表会减少,仅显示与您所写内容相对应的单词。 问题出在这里,我不知道为什么,列表中的某些单词没有出现。
例如,如果我想与“ _f”匹配,这是我的代码:
monaco.languages.registerCompletionItemProvider('myLanguage', {
provideCompletionItems: function(model, position) {
var cursorLine = position.lineNumber, cursorColumn = position.column;
var textUntilPosition = model.getValueInRange({startLineNumber: position.lineNumber, startColumn: 1, endLineNumber: position.lineNumber, endColumn: position.column});
var match1 = textUntilPosition.match(" _f") !=null | textUntilPosition.match("^_f") !=null ? true:false;
if(match1){
editor.executeEdits('', [{ range: new monaco.Range(cursorLine, cursorColumn - 2, cursorLine, cursorColumn), text: ' ' }]);
return { suggestions: myArrayOfSuggestions()};
}
else{ return { suggestions: otherArrayOfSuggestions()};}
}
});
function myArrayOfSuggestions() {
return [
{
label: 'name',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'name'
},
{
label: 'adress',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'adress'
},
{
label: 'city',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'city'
},
{
label: 'Accrual',
kind: monaco.languages.CompletionItemKind.Function,
insertText: 'Accrual'
}
];
在这里,如果我输入“ a”或“ A”,则会出现“ adress”,但不会出现“ Accrual”。
我添加此图片以向您显示问题。这是在按下“ _f”后在编辑器中发生的事情
Explanation Screen of Monaco Editor
您是否知道该怎么办?
最好的问候, Sofiane Jamai