當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript commandService.CommandService類代碼示例

本文整理匯總了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);
		});
	});
開發者ID:joelday,項目名稱:vscode,代碼行數:34,代碼來源:commandService.test.ts

示例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);
		});
	});
開發者ID:PKRoma,項目名稱:vscode,代碼行數:38,代碼來源:commandService.test.ts

示例3:

		return service.executeCommand('foo').then(() => {
			assert.ok(lastEvent, 'onCommand:foo');
			return service.executeCommand('unknownCommandId');
		}).then(() => {
開發者ID:joelday,項目名稱:vscode,代碼行數:4,代碼來源:commandService.test.ts


注:本文中的vs/workbench/services/commands/common/commandService.CommandService類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。