本文整理匯總了TypeScript中vs/editor/common/model/model.Model.onDidChangeDecorations方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Model.onDidChangeDecorations方法的具體用法?TypeScript Model.onDidChangeDecorations怎麽用?TypeScript Model.onDidChangeDecorations使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類vs/editor/common/model/model.Model
的用法示例。
在下文中一共展示了Model.onDidChangeDecorations方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: test
test('decorations emit event when inserting one line text before it', () => {
var listenerCalled = 0;
var decId = addDecoration(thisModel, 1, 2, 3, 2, 'myType');
thisModel.onDidChangeDecorations((e) => {
listenerCalled++;
assert.equal(e.ids.length, 1);
assert.equal(e.addedOrChangedDecorations.length, 1);
assert.ok(Range.equalsRange(e.addedOrChangedDecorations[0].range, {
startLineNumber: 1,
startColumn: 8,
endLineNumber: 3,
endColumn: 2
}));
assert.ok(Range.equalsRange(e.oldRanges[decId], {
startLineNumber: 1,
startColumn: 2,
endLineNumber: 3,
endColumn: 2
}));
assert.equal(e.removedDecorations.length, 0);
});
thisModel.applyEdits([EditOperation.insert(new Position(1, 1), 'Hallo ')]);
assert.equal(listenerCalled, 1, 'listener called');
});
示例2: test
test('decorations emit event on add', () => {
let listenerCalled = 0;
thisModel.onDidChangeDecorations((e) => {
listenerCalled++;
});
addDecoration(thisModel, 1, 2, 3, 2, 'myType');
assert.equal(listenerCalled, 1, 'listener called');
});
示例3: test
test('decorations emit event on change', () => {
let listenerCalled = 0;
let decId = addDecoration(thisModel, 1, 2, 3, 2, 'myType');
thisModel.onDidChangeDecorations((e) => {
listenerCalled++;
assert.equal(e.addedDecorations.length, 0);
assert.equal(e.changedDecorations.length, 1);
assert.equal(e.changedDecorations[0], decId);
assert.equal(e.removedDecorations.length, 0);
});
thisModel.changeDecorations((changeAccessor) => {
changeAccessor.changeDecoration(decId, new Range(1, 1, 1, 2));
});
assert.equal(listenerCalled, 1, 'listener called');
});