diff --git a/src/vs/editor/contrib/inlineCompletions/browser/utils.ts b/src/vs/editor/contrib/inlineCompletions/browser/utils.ts index 2215ecbe8001b..b256d9dc8d723 100644 --- a/src/vs/editor/contrib/inlineCompletions/browser/utils.ts +++ b/src/vs/editor/contrib/inlineCompletions/browser/utils.ts @@ -71,18 +71,14 @@ export class ColumnRange { export function applyObservableDecorations(editor: ICodeEditor, decorations: IObservable): IDisposable { const d = new DisposableStore(); - let decorationIds: string[] = []; + const decorationsCollection = editor.createDecorationsCollection(); d.add(autorun(`Apply decorations from ${decorations.debugName}`, reader => { const d = decorations.read(reader); - editor.changeDecorations(a => { - decorationIds = a.deltaDecorations(decorationIds, d); - }); + decorationsCollection.set(d); })); d.add({ dispose: () => { - editor.changeDecorations(a => { - decorationIds = a.deltaDecorations(decorationIds, []); - }); + decorationsCollection.clear(); } }); return d;