Я пытаюсь разбить реализацию CodeLensProvider
на две части.Первая часть - реализация provideCodeLenses
, которая возвращает массив неразрешенных CodeLens
.И вторая часть - реализация resolveCodeLens
.
. Поэтому я хочу игнорировать некоторые CodeLens
не соответствующие некоторым условиям внутри resolveCodeLens
, потому что provideCodeLenses
должен возвращаться так же быстро, как ивозможно .Можно ли это сделать?
Прямо сейчас я только что получил <<MISSING COMMAND>>
за неразрешенный CodeLens
.
Пример
class Provider implements CodeLensProvider {
provideCodeLenses() {
return [lensA, lensB, lensC];
}
resolveCodeLens(lens) {
return executeCommand('vscode.someCommand')
.then((result) => {
if (result.isTrue) {
return lens.resolve();
} else {
// ignore `lens`
}
});
}
}