当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript StopWatch.create方法代码示例

本文整理汇总了TypeScript中vs/base/common/stopwatch.StopWatch.create方法的典型用法代码示例。如果您正苦于以下问题:TypeScript StopWatch.create方法的具体用法?TypeScript StopWatch.create怎么用?TypeScript StopWatch.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vs/base/common/stopwatch.StopWatch的用法示例。


在下文中一共展示了StopWatch.create方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: walk

	public walk(folderQueries: IFolderSearch[], extraFiles: string[], onResult: (result: IRawFileMatch) => void, onMessage: (message: IProgress) => void, done: (error: Error, isLimitHit: boolean) => void): void {
		this.fileWalkSW = StopWatch.create(false);

		// Support that the file pattern is a full path to a file that exists
		if (this.isCanceled) {
			return done(null, this.isLimitHit);
		}

		// For each extra file
		if (extraFiles) {
			extraFiles.forEach(extraFilePath => {
				const basename = path.basename(extraFilePath);
				if (this.globalExcludePattern && this.globalExcludePattern(extraFilePath, basename)) {
					return; // excluded
				}

				// File: Check for match on file pattern and include pattern
				this.matchFile(onResult, { relativePath: extraFilePath /* no workspace relative path */, basename });
			});
		}

		let traverse = this.nodeJSTraversal;
		if (!this.maxFilesize) {
			if (this.useRipgrep) {
				this.traversal = Traversal.Ripgrep;
				traverse = this.cmdTraversal;
			} else if (platform.isMacintosh) {
				this.traversal = Traversal.MacFind;
				traverse = this.cmdTraversal;
				// Disable 'dir' for now (#11181, #11179, #11183, #11182).
			} /* else if (platform.isWindows) {
				this.traversal = Traversal.WindowsDir;
				traverse = this.windowsDirTraversal;
			} */ else if (platform.isLinux) {
				this.traversal = Traversal.LinuxFind;
				traverse = this.cmdTraversal;
			}
		}

		const isNodeTraversal = traverse === this.nodeJSTraversal;
		if (!isNodeTraversal) {
			this.cmdSW = StopWatch.create(false);
		}

		// For each root folder
		flow.parallel<IFolderSearch, void>(folderQueries, (folderQuery: IFolderSearch, rootFolderDone: (err: Error, result: void) => void) => {
			this.call(traverse, this, folderQuery, onResult, onMessage, (err?: Error) => {
				if (err) {
					const errorMessage = toErrorMessage(err);
					console.error(errorMessage);
					this.errors.push(errorMessage);
					rootFolderDone(err, undefined);
				} else {
					rootFolderDone(undefined, undefined);
				}
			});
		}, (errors, result) => {
			this.fileWalkSW.stop();
			const err = errors ? errors.filter(e => !!e)[0] : null;
			done(err, this.isLimitHit);
		});
	}
开发者ID:ramesius,项目名称:vscode,代码行数:62,代码来源:fileSearch.ts


注:本文中的vs/base/common/stopwatch.StopWatch.create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。