本文整理匯總了TypeScript中vs/workbench/services/commands/common/commandService.CommandService類的典型用法代碼示例。如果您正苦於以下問題:TypeScript CommandService類的具體用法?TypeScript CommandService怎麽用?TypeScript CommandService使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了CommandService類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: test
test('Stop waiting for * extensions to activate when trigger is satisfied #62457', function () {
let callCounter = 0;
let dispoables: IDisposable[] = [];
let events: string[] = [];
let service = new CommandService(new InstantiationService(), new class extends NullExtensionService {
activateByEvent(event: string): Promise<void> {
events.push(event);
if (event === '*') {
return new Promise(() => { }); //forever promise...
}
if (event.indexOf('onCommand:') === 0) {
return new Promise(resolve => {
setTimeout(() => {
let reg = CommandsRegistry.registerCommand(event.substr('onCommand:'.length), () => {
callCounter += 1;
});
dispoables.push(reg);
resolve();
}, 0);
});
}
return Promise.resolve();
}
}, new NullLogService());
return service.executeCommand('farboo').then(() => {
assert.equal(callCounter, 1);
assert.deepEqual(events.sort(), ['*', 'onCommand:farboo'].sort());
dispose(dispoables);
});
});
示例2: test
test('issue #71471: wait for onCommand activation even if a command is registered', () => {
let expectedOrder: string[] = ['registering command', 'resolving activation event', 'executing command'];
let actualOrder: string[] = [];
let disposables: IDisposable[] = [];
let service = new CommandService(new InstantiationService(), new class extends NullExtensionService {
activateByEvent(event: string): Promise<void> {
if (event === '*') {
return new Promise(() => { }); //forever promise...
}
if (event.indexOf('onCommand:') === 0) {
return new Promise(resolve => {
setTimeout(() => {
// Register the command after some time
actualOrder.push('registering command');
let reg = CommandsRegistry.registerCommand(event.substr('onCommand:'.length), () => {
actualOrder.push('executing command');
});
disposables.push(reg);
setTimeout(() => {
// Resolve the activation event after some more time
actualOrder.push('resolving activation event');
resolve();
}, 10);
}, 10);
});
}
return Promise.resolve();
}
}, new NullLogService());
return service.executeCommand('farboo2').then(() => {
assert.deepEqual(actualOrder, expectedOrder);
dispose(disposables);
});
});
示例3:
return service.executeCommand('foo').then(() => {
assert.ok(lastEvent, 'onCommand:foo');
return service.executeCommand('unknownCommandId');
}).then(() => {