Monaco Editor : 0.15.6
Описание проблемы :
Я реализовал автоматическое предложение в редакторе Monaco и использовал вызов ajax чтобы показать данные в виджете предложить.
Я хочу при открытии редактора Monaco. Я хочу отправить фиктивный вызов на сервер, чтобы я мог выполнить некоторую обработку на сервере и не хочу показывать совет на виджете. front end.
Но если я отправляю фиктивный запрос, он отображает подсказку подсказки с «Нет предложений».
Ожидание :
Я не хочу показывать подсказку для этих случаев. Возможно ли это?
Наблюдение :
Предложить виджет виден там, где я не хочу его показывать.
Примечание : Если я отправляю такой же запрос по нажатию кнопки ";" символ, то окно не отображается. Но в обоих случаях это onLoad или ";" нажмите Я возвращаю предложение emty ([]) из бэкэнда.
Код для ссылки :
this._registerCompletionItemProviderRef = languages.registerCompletionItemProvider("java", {
triggerCharacters: this.triggerCharactersArray, /** Triggering character to invoke auto completion */
provideCompletionItems: function (model, position) {
return this.getAutoCompleteData(model, position).then(function (res) {
/** Get completion response from websocket */
let completionListSuggestion = getCompletionList(res ? JSON.parse(res) : null);
/** Return suggestion list to GUI */
return {
incomplete: true, // So that autocompletion request is sent on every char
suggestions: completionListSuggestion.map(item => ({ ...item }))
};
}.bind(this));
}.bind(this)
});
getAutoCompleteData(model, position) {
return new Promise(function (resolve, reject) {
this._autocompleteWSSubscr = this._wsObject.subscribe(
data => {
resolve(data);
},
error => {
console.log('Error in autocomplete recieved from WS :' + JSON.stringify(error));
reject(error);
}
);
this.sendAutoCompletionData(model, position);
}.bind(this));
}